LibreOffice Calc Set To Get GPU Powered Boost From AMD
darthcamaro writes "We all know that the open source LibreOffice Calc has been slow — forever and a day. That's soon going to change thanks to a major investment made by AMD into the Document Foundation. AMD is helping LibreOffice developers to re-factor Calc to be more performance and to be able to leverage the full power of GPUs and APUs. From the article: '"The reality has been that Calc has not been the fastest spreadsheet in the world," Suse Engineer Michael 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."'"
Math operations will be accelerated using OpenCL, unit tests are being added for the first time, and the supposedly awful object oriented code is being rewritten with a "modern performance oriented approach."
If your spreadsheet needs a gpu to speed up calculations, you are probably misusing spreadsheets. I know most accountants love the spreadsheet and they make insanely complicated things using spreadsheets pushing it far beyond what these are designed to do. But if you have a spreadsheet that needs this much of cpu time to recompute, you should probably be using a full fledged data base with multiple precomputed indexing.
sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
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.
The problem isn't that Calc is object-oriented but was designed such that many things depended on the spreadsheet cell.
Well, there's spam egg sausage and spam, that's not got much spam in it.
If the refactor is done properly I don't think the OpenCL acceleration would be necessary. Heck, 1-2-3 running on a 486 was pretty speedy.
My Other Computer Is A Data General Nova III.
Will it finally have a non-linear solver engine for double-checking code output against a spreadsheet??
To be more performance? Good to see the "editors" are as incompetent as always.
There has to be a substantial, paid, fulltime project team to do UI, feature work, localization, QA and regression testing, doc, and document interoperability/backwards compatibility for each release. Testing has to cover many OS releases, video drivers, and targeted display devices as well as end user natural language, and include reduced RAM/swap space installations. That's what Microsoft has. That's why I don't consider OpenOffice a bargain even for free.
Am I the only one that notices how crazy that sounds?
"Here Lies Philip J. Fry, named for his uncle, to carry on his spirit"
I don't think most people say Calc is just as good as Excel - they say that it is good enough for most people. And that is probably true. I think my boss uses excel for simple formulas and for lists. I use Excel for anything not quite worthy of a Matlab script, so OpenOffice doesn't quite measure up for me but should work fine for my boss.
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
Engineers use spreadsheets for data analysis, data scientists, you name it - and of course accountants.
Why?
Because when you are doing a very specific task spreadsheets are the best tool. Having to code a Python or Perl script isn't worth it and to do what a spreadsheet was designed to do requires a bunch of libraries with their own API. Why go through all that coding when a spreadsheet can do it. I am doing one off ananlysis and to write programs that I'm gonna never use again - spending all that time debugging, testing, etc .... for something that I'm going to use once? Forget it.
I know most accountants love the spreadsheet and they make insanely complicated things using spreadsheets pushing it far beyond what these are designed to do.
If they weren't designed to do things then they wouldn't be able to do them, would they?
I do a lot of analysis and I've used various spreadsheet programs. I work mostly on Linux and I use Gnumeric - it's MUCH better than Libre Calc. Especially when you're importing CSV files. Libra calc just shows some Asian characters.
The Gold standard is MS Excel and if MS had a Linux version of that, I'd be on it like a sailor on a $2 whore who's been out to sea for a year - the sailor who's been out to sea - not the whore.
I don't want to say Libre Office Calc sucks, but it's not the best spreadsheet out there.
Spreadsheets lead the inexperienced, down the garden path of "Oh, this looks easy..."
At some point you think, Oh, let me just sort this column. And you fail to realize some formula on sheet 27 presumes a linkage between column C on sheet 5 and column F on sheet 13. So now your entire model is garbage.
In all these decades, hasn't anyone resuscitated Javelin with its time-oriented models, where what looked like a spreadsheet was just a view of the underlying model? "Javelin understands the arrow of time" -- 1985 slogan
Why oh why can't the bleeptards at LibreOffice recognize that proper document editing is done in a "Galley View" which MsoftWord refers to as "Draft" (previously "Normal" ) view? Displaying page boundaries, headers & footers, etc is of exactly zero benefit while one is composing the text of the document.
Personally, I'd like not to see text formatting either (bold, font size, etc) but I can live with that. At least until I find a company that supports LaTex, anyway. For that matter, why couldn't LibreOffice (and Micrsoft too) have a twin-pane editor like TexMaker? Do your typing in one pane and observe the fully rendered page in the other as desired?
grrrrrrumble
https://app.box.com/WitthoftResume Code: https://github.com/cellocgw
From the article:
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.
The problem isn't that Calc is object-oriented but was designed such that many things depended on the spreadsheet cell.
The OOP mentality is that you make everything an object. And when you have developers who drank the OOP Kool-Aid, you get problems like this.
This sounds neat, but you know what's a lot more important to me: quality assurance and testing. I use Calc for a variety of things, and just this past week tried using LibreOffice but I had to switch back to OpenOffice because LibreOffice was riddled with bugs. Most egregiously, after saving documents in LibreOffice I could not open then in OO. I also noticed that a lot of formatting setting were not preserved that worked in OO. And this was after only spending a few hours playing arond. I'm sticking with OpenOffice.
What I find interesting about this is the assumption Calc is slow. I have used OpenOffice and LibreOffice for around a decade and performance has never been an issue. Granted, my spreadsheets aren't huge, they're mostly just columns and 2-D tables, but even on lower-end hardware I've never noticed a performance issue. I think it's great that they are looking at speeding up the application, but I don't see it as something which needs doing.
Tangential, but... LibreOffice "Draw" is not a good substitute for Visio. It barely does the most basic functions. Can AMD fund them creating a _good_ alternative to Visio please?
Back on topic - I've seen some issues with Calc. Most of the time it does most of what I need, but usually does it with different names for the function calls. Hopefully a good refactoring will make it easier to add/improve features.
Actually, the UI for Lotus Improv was quite nice and won some awards.
Its (spiritual) successor, Quantrix Financial Modeler seems to be selling well enough, even w/ a $1,495 price point.
I wish that Flexisheet (an opensource take on this sort of thing) would get more traction.
Sphinx of black quartz, judge my vow.
If your spreadsheet needs a gpu to speed up calculations, you are probably misusing spreadsheets.
Or it just means that you have some pretty complicated calculations. More computing horsepower never hurts.
I know most accountants love the spreadsheet and they make insanely complicated things using spreadsheets pushing it far beyond what these are designed to do.
I happen to be an accountant as well as an engineer. What pray tell do you think spreadsheets were designed to do? (hint - it involves rapid data modeling) They aren't much use if the only problems you solve are toy problems. Plus they require relatively little training to use effectively. Someone can be trained to solve real world problems MUCH easier than with most other tools. Most of the problems I'm asked to solve are ad-hoc investigations into specific questions. I shouldn't need a four year degree on Comp-Sci to accomplish a bit of data modeling.
But if you have a spreadsheet that needs this much of cpu time to recompute, you should probably be using a full fledged data base with multiple precomputed indexing.
I use some rather complicated spreadsheets. A database would be of no advantage whatsoever for 99.9% of what I use a spreadsheet for. Furthermore a database would be a lot slower to develop, harder to update, and require significant user interface development. If I'm crunching sales data or generating financial projections a spreadsheet is almost always the easiest and most useful tool for the job.
Databases come into the picture when: A) other applications need to interface with the data, B) the dataset becomes truly enormous, or C) the number of dimensions in the data exceeds 2 to 3. Sometimes I use databases. Most of the time they would be a waste of money, brains and time. Frequently when I actually need a database I'll create a mock up of the tables and calculations on a spreadsheet first which lets me work out the structure much more easily.
While it is certainly possible to use a spreadsheet inappropriately, a spreadsheet should be able to handle a rather large amount of data and calculations before it chokes.
I use Calc all the time at home, and Excel all the time at work. Calc is great, but it's not as polished or feature-rich as Excel by a long shot.
Calc is good enough (more than good enough, in fact) for home use; it does everything I need it to, as quickly as I need it to, with features to spare. But Excel is still the better programme. If I had to do serious data crunching in Calc day in and day out, I'm sure it would drive me nuts.
Arguably, Excel is the only truly good programme in the MS Office suite (possible exception of Visio). I mean the rest (notably Word and PowerPoint) are fine and all, but there's just no clear benefit to them over the competition. There is literally not a single feature in Word that I can think of that is both useful to me and missing from LibreOffice; maybe there are word processor "power users" out there who might disagree with me, but for my usage I could easily live without it.
All GLORY TO THE HYPNOTOAD!
Thats not the issue. If your spreadsheet is SO larger that on a MODERN CPU, its slow ... you're doing it wrong.
It is a relatively trivial matter to make calculations on a dataset slow regardless of the tool used. I work with datasets and related calculations all the time that would make for slow calculations if you hand coded them in assembler. The mere fact that it is slow in a spreadsheet as well has nothing inherently to do with it being worked on in a spreadsheet. Now if the spreadsheet can't handle 65K rows by 65K columns then it shouldn't offer that size table as an option. But most can handle datasets that size and larger without too much trouble. For rapid data modeling and ad-hoc analysis a spreadsheet can be pretty hard to beat.
When people go wrong using spreadsheets it's usually one of a few ways. The one I see the most is when they take what should be a prototype analysis and turn it into a production tool. If you need to put a bunch of buttons and other interface tools on a spreadsheet THEN you are doing it wrong. The second is when they try to take analyzed data involving more than 3 dimensions. While it can be done it rarely is a good idea. Another I see is if they try to have more than one person working on the spreadsheet. If the dataset is truly huge or you require multi-user access or you need to interface with other applications then by all means use something other than a spreadsheet.
Am I the only one that notices how crazy that sounds?
Why should it sound crazy? If you've got some parallel computations to make you'd be a fool not to use the GPU. There are many problems that could take advantage of the extra computing horsepower that are perfectly appropriate to do on a spreadsheet.
My favorite excel function used to crash both LibreOffice and OpenOffince.The function in question is ={FREQUENCY(data ref,bins ref)}, but I do not know any other excel users that use array based functions. So for a long time, I naively thought that my use case was special, and that nobody but a few specialized workers needed Excel. I hold that pious but erroneous belief until I had to email a worksheet to a colleague running Linux. Sure, according to OO documentation that function is supported but it is was crashing his LO nonetheless...
LO should really put some work into that refactoring, being a sub par Excel is a far bigger adoption turn off than all the other LO/OO MsO compatibility problems.
Almost all executives do not care about a paragraph margin wrong by 2px but they all care about wrong numbers especially when those numbers are about money !!!
It's times like this when I wish I actually had a need for such a thing. If LibreOffice ever allowed me to create prettier graphs like Word does, I'd consider moving on over. As much as Microsoft is hated on around here, Office is pretty damned polished (that isn't to say there are no problems... there are still many that drive me bonkers, but they are software features, not performance and the like).
Access is the single most robust fast and dirty DB out there. Nothing else comes close to it on any platform.
Indeed. You really shouldn't need to have to get a gaming GPU to run a spreadsheet. Hopefully
If you are doing trivial calculations then you are probably right. However many of us do more with spreadsheets than making grocery lists. There are quite a few problems that benefit from parallel processing. Since the GPU is probably sitting mostly idle if you have a spreadsheet up, why not do something useful with it?
I migrated to OO and then to LO and my financial spreadsheet worked great. Then came the updates and my file would no longer open. I bought MS Office through work for a very reduced price (we're talking $11) and the file opened just fine. Unfortunately, the stability issues I experienced were enough to turn me off those open-source options for at least a year or two more of development.
I love array functions. I mean, I hate them, but not as much as I hate writing VBA! I feel like MS could really make Excel more powerful if they improved the editing/editing/debugging of array functions. Maybe more people would use them if they were easier to construct.
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
I think my boss uses excel for simple formulas and for lists. I use Excel for anything not quite worthy of a Matlab script, so OpenOffice doesn't quite measure up for me but should work fine for my boss.
Your boss isn't interested in what you think.
What he needs is an office suite -- or integrated office system -- that can be deployed across the enterprise.
It doesn't matter if any single component is overkill for some so long as it works for all. Including temps, trainees, volunteers and so on.
My boss isn't stupid. She buys me a MATLAB and JMP license, and the design guys get CAD licenses. We are swimming in specialized software that she does not buy for herself. She only uses Excel because someone up the chain went with a site license for MS Office. If they hadn't made that decision, she'd use whatever made the next-best list maker (I believe she used Quatro Pro prior to our site license). We also use the abysmal Sharepoint system as a glorified shared drive, just because it is there.
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
Just answering a question in your comment.
MVC was introduced in 1978's as part of the work by Xerox PARC.
These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
I saw this headline and the first thing in my mind was "what about libre office writer"? I have just finish my diploma thesis and while it was not that big(less than 100 pages), the program was slow. By slow I mean when I was scrolling from one page to another writer froze for 5-7 seconds. It's true that I had a lot of pictures in the document but that should be a non issue on an 3770k cpu. Seriously...what's up with this slowness. (If there is a way to fix this please leave me a comment to tell me how)
I saw this headline and the first thing in my mind was "what about libre office writer"? I have just finish my diploma thesis and while it was not that big(less than 100 pages), the program was slow. By slow I mean when I was scrolling from one page to another writer froze for 5-7 seconds. It's true that I had a lot of pictures in the document but that should be a non issue on an 3770k cpu. Seriously...what's up with this slowness. (If there is a way to fix this please leave me a comment to tell me how Wanted to repost this under myself and not AC. I noticed my posts don't show up.... :/
So...
1. add 64-bit support, so you can have large documents? (Windows.) https://bugs.freedesktop.org/show_bug.cgi?id=61683
2. fix the actual code, so it doesn't take forever to do almost nothing?
What does the GPU have to do with that? :p
Nice that people are working on it though.
I haven't really noticed that Calc is slow, even though I used it to calculate how much money I needed to repay the bank after getting my CS (I calculated the interest by month, how much each payment was, how much went to the bank and how little went to paying down the principle. You can run simulations (like if the bank tells you to open a savings account while paying down a loan, exactly how stupid that advice is, how much more you will wind up paying them, how it only works in your favor if you get a better rate of interest than what you are paying them, etc.). I've also used these spreadsheets over the past several years to create forms that look a lot like the tax forms I get from the government, except with smarts put in (by me) to do calculations. I file, and have not been audited in years. I agree that creating a database to do a 'one shot' thing like taxes is a big waste of time, and I hadn't noticed how long calc takes (my biggest spreadsheets are only 5 or 6 pages, and never more than 150 lines down by about 20 rows across). I cross reference sheets quite a bit (an entry on one sheet links to entries on other sheets), and use calculations and if/then/else logic and that's about as complex as it gets. If they want to make it faster, go hard.
Actually, the UI for Lotus Improv was quite nice and won some awards.
Its (spiritual) successor, Quantrix Financial Modeler seems to be selling well enough, even w/ a $1,495 price point.
I wish that Flexisheet (an opensource take on this sort of thing) would get more traction.
Correct and Improv was written specifically for NeXTSTEP which made it possible to do what it did. Improv fell apart and couldn't replicate the same MVC frameworks of ObjC/NeXTSTEP on Windows. Quantrix Financial Modeler was purchased and was also originally on NeXTSTEP. I used both at NeXT.
...unit tests are being added for the first time...
Wha?
How can a project so large (and so old) not have unit tests on its spreadsheet application?
This seems like it would be a basic necessity from the beginning.
It makes sense. FPU is dead long live the multi-core FPUs exported by OpenCL
Are the results correct? Well I've double checked the formulae.
So what, if your computer doesn't use Error Correcting Code (ECC) Memory or at least parity memory, soft or hard errors may not be noticed.
If you must use toy class computers for important work:
Verify the data and formulae and calculate file hashes on a business class computer,
for (i=1; i < 3; i++) {transfer to toy[i]; verify the hashes; calculate;}
Gather the results; compare ;
if (same) {hurray;} else {try again;}