Hoy en días las computadoras modernas tienen varios núcleos. Pero también las tarjetas de video tienen muchos núcleos (GPUs) para ayudarse en los cálculos, sobre todo cuando necesitan desplegar gráficas 3D con sofisticadas texturas. De alguna manera, esto ayuda a que el despliegue sea más rápido y además, promueve la idea del procesamiento en paralelo, asunto que desde luego, cada vez cobra más interés.

LibreOffice, que es una suite de programas para oficina de código abierto y libre, hará uso ahora del soporte a los GPUs, los núcleos para cálculo, que poseen las tarjetas de video actuales. De hecho, esta es una estupenda noticia porque el Calc de LibreOffice es muy lento, incluso para cálculos sencillos. Tan es lento que ni siquiera la Document Foundation puede negar que habría que hacer algo al respecto. Parece ser que ya se ha hallado una solución.

AMD se ha reunido al consejo de la Document Foundation y ha ofrecido su ayuda para que Calc sea muy rápido usando código que corra en los GPUs de las tarjetas gráficas. Después de todo, una hoja de cálculo es una herramienta casi de procesamiento en paralelo y los GPUs son buenos para la computación en esa modalidad. Manju Hegde, vicepresidente corporativo de Soluciones Heterogéneas ha dicho: “Es fantástico trabajar en LibreOffice con la Document Foundation, para así exponer el poder de los GPUs y APUs, inicialmente en lo que se refiere al uso de Calc. Entregar tecnología de paralelismo y desempeño apropiado permitirá a los usuarios de empresas usar Calc eficientemente para el uso rudo que le dan a estos programas, particularmente con las capacidades de cálculo para la siguiente generación de los Sistemas de Arquitectura Heterogénea (HSA por sus siglas en inglés)”.

Y aunque LibreOffice busque incorporar esta tecnología de GPUs, ésta será escrita el OpenCL. Esto podría dar esperanzas de que la optimización trabajara con otras tarjetas gráficas con otros GPUs, pero no hay garantías. Por otra parte, el reporte de los programadores sobre el código de LibreOffice es un desastre literalmente,  y planean una cirugía mayor para lograr más velocidad. Esto podría beneficiar a todos los usuarios, sin importar que tengan GPUs compatibles con HSA, por ejemplo.

Pero hay dudas al respecto de esta idea. Los algoritmos usados para recalcular en las hojas de cálculo no son paralelos. Las células se calculan en un orden determinado pues hay dependencias o incluso, referencias circulares que finalmente hagan relantizar estos cálculos. Convertir en paralelo todos estos algoritmos no será sencillo. Esto además, podría finalmente mostrar que la idea no es la mejor al final de cuentas.

Otras hojas de cálculo funcionan relativamente bien y no usan GPUs. La razón de que LibreOffice Calc sea tan lento no es porque le falte el apoyo de los GPUs, sino porque el código está mal escrito y/o es muy ineficiente. Se dice que el responsable de esto es el diseño de objetos del sistema. Aparentemente hay que desdeñar los objetos en este Calc y usarlos como simplemente celdas, sin toda la sobrecarga que le meten los objetos. Por otra parte, si Calc tiene éxito en incorporar los GPUs y código en paralelo, podría ser un paso adelante en el uso de hojas de cálculo, las cuales lograrían un nuevo potencial de uso.

Los usuarios deben ver resultados en al menos unos seis meses, cuando salga LibreOffice 4.1, pero hacer estos cambios parece ser más díficil de lo que se ha pensado, por lo cual, se predice que podría ser aún más lento todo este cambio.

Referencias:

Cómo hacer rápido LibreOffice Calc