LibreOffice and AMD to GPU boost spreadsheet performance
LibreOffice and AMD are working together to create a faster version of the office suite's spreadsheet that will make use of AMD's GPUs within its Heterogeneous System Architecture (HSA) based Accelerated Processing Units (APUs). The work is only just beginning though and there is no timescale for a production release of the software. AMD is joining the LibreOffice Advisory Board as part of the collaboration, sitting alongside Google, Intel, Red Hat, SUSE and the FSF, among others.
At its core, the aim of the work is to take the formulae of Calc spreadsheets, convert them into OpenCL, compile that OpenCL for the GPU and execute those formulae through the GPU. In a typical PC architecture, this would be rather complex because of the difficulty of feeding a large amount of data to the GPU through small memory apertures, but with AMD's HSA, the CPU and GPU have equal access to memory, resulting in an easier environment in which to GPU accelerate applications.
The LibreOffice development work is very much in its early stages. The H talked with Michael Meeks, who explained how a spreadsheet was typically held in memory in a very non-optimal way and how the plans were to reorganise it so it could be traversed more efficiently. Then the developers are going add code which will detect common formulae in the spreadsheet that are suitable for accelerating. These common formulae will then be compiled first to OpenCL and then passed to the HSA runtimes where they will be compiled for the target GPU. Given the complexity of the process, Meeks expects it to really be effective for large spreadsheets with many iterations of similar formulae within them.
The optimisations and engineering that Meeks and the LibreOffice developers plan to do will open the way for other developers to look at other ways of accelerating Calc's calculations; the LibreOffice team is concentrating on the AMD APUs at the moment though. Those APUs should be available in products later this year, with initial development making use of OpenCL implementations on non-HSA systems. Traces of related refactoring changes will appear in the soon-to-arrive LibreOffice 4.1, with more changes expected to be apparent in 4.2, due to be frozen in November for a February 2014 release, says Meeks. With work at such an early stage, Meeks would not commit to the Calc enhancements being fully complete for that version though.