The Document Foundation is getting a big boost today, thanks in part to silicon vendor AMD.
AMD is now a member of The Document Foundation’s Advisory Board and is helping the open source group improve the LibreOffice Calc spreadsheet program. The improvement will be the biggest overhaul of the open source spreadsheet since LibreOffice split from the Oracle/Sun led OpenOffice in 2010.
“There is lots and lots of core refactoring now being done in Calc,” Michael Meeks, Distinguished Engineer at Suse, told Datamation.
Some of that work will land in the upcoming LibreOffice 4.1 release, though much of the improvement will be longer term that will benefit future releases in LibreOffice 4.2 and beyond.
AMD’s contributions are focused on the use of a GPU to help accelerate spreadsheet computation. Meeks noted that supercomputer users have long benefited from the use of GPUs to speed up computation and the time has come for some of that capability to land on the desktop.
“The tragedy is that there are so many transistors in your GPU and most of the time for most business applications, they are doing absolutely nothing,” Meeks said. “We should be using those transistors to do wonderful things, so that’s the plan.”
The plan is also about improving raw CPU performance as well by restructuring the Calc core to save memory. LibreOffice will leverage OpenCL to be able to communicate with discrete graphics cards as well as the Heterogeneous System Architecture (HSA) which is currently in development at AMD.
“In the past, in order to use the GPU, you really had to focus heavily on the GPU and split a task up into GPU specific pieces,” Meeks explained. “In the HSA world, the GPU shares the same view of virtual memory as an application, so you don’t have to fiddle around, you can just pack work off to be done on the GPU.”
Meeks expects that HSA will be particularly beneficial on APU chips, where both the CPU and the GPU are on the same piece of silicon.
Calc Performance
The specific memory and performance gains for Calc are difficult to specifically quantify at the current time. That said, Meeks expects ‘impressive’ performance gains.
“The reality has been that Calc has not been the fastest spreadsheet in the world,” Meeks admitted. “Quite a large chunk of this refactoring is long overdue, so it’s great to have the resources to do the work so that Calc will be a compelling spreadsheet in its own right.”
Meeks noted that the refactoring work in Calc is something that has been on the roadmap since before LibreOffice split from OpenOffice. He noted that the overall structure of the Calc code was not designed for performance.
“Calc is based on object oriented design from 20 years ago when developers thought that a cell should be an object and that creates a huge number of problems around doing things efficiently,” Meeks said.
That code is now in the process of being refactored to remove the old structures and move to a more modern performance oriented approach. Calc developers are also leveraging extensive unit testing capabilities to ensure that core functionality is not lost.
“The sad truth is that previously there were no unit tests for Calc,” Meeks said. “One of the things that LibreOffice has been working hard at, is building unit tests, so before we make a release we can be confident that the release works.”
Sean Michael Kerner is a senior editor at Datamation and InternetNews.com. Follow him on Twitter @TechJournalist.