AMD Forces a LibreOffice Speed Boost With GPU Acceleration
New submitter samtuke writes: AMD processors get rated and reviewed based on performance. It is in our self-interest to make things work really, really fast on AMD hardware. AMD engineers contribute to LibreOffice, for good reason. Think about what happens behind a spreadsheet calculation. There can be a huge amount of math. Writing software to take advantage of a Graphics Processing Unit (GPU) for general purpose computing is non-trivial. We know how to do it. AMD engineers wrote OpenCL kernels, and contributed them to the open source code base. Turning on the OpenCL option to enable GPU Compute resulted in a 500X+ speedup, about ¼ second vs. 2minutes, 21 seconds. Those measurements specifically come from the ground-water use sample from this set of Libre Office spreadsheets.
I wonder if a spreadsheet is really the right tool for computations that take several dozens of seconds on modern hardware, even without GPU acceleration. I am inclined to think it is not.
Optional, but enabled by default.
Compared to MS office? Ms office is atleast as slow. I use libre office as much as i can. All work documents and spreadsheets, that i start i make with libre office. I like it, it works for me. Sure they are not the most complex stuff and i don't do that on daily basis. Still the speed is quite fine for me.
MS office takes 500 megs on my machine, and that's just excel, powerpoint and word installed. Libreoffice is 450 megs and that's base, calc, writer, draw, impress and math installed.
Do you need to install all the parts of the libre office? What about the languages? There's lots that you can remove from the installation of libre office.
Or possibly stop using a Mac and switch to the platform it's optimized for, ie PC. Apple may own the phone, but they're still 2nd bastard cousin on the desktop.
Besides, are you authorized by Cupertino to use ghetto opensource software on their sleek Williams Sonoma OS? Aren't you supposed to be using iLife or whatever it is the reanimated corpse of Steve masturbated out of his dessicated gonads? Wouldn't surprise me if there's code in the OS to slow down unapproved applications just to keep you in the Apple fence line anyway.
It's a nice alternative to XML-stored, CSV-formatted data.
Get free satoshi (Bitcoin) and Dogecoins
As someone who has never found a use for spreadsheets anyway, I wonder whether there is anyone who uses LibreOffice spreadsheets? For what is this used, accounting?
Just wondering...
Spreadsheets are tremendously useful for a number of things. Accounting is a perfect & common use. Doing cost estimates or comparisons, doing sensitivity analysis (what happens to the answer if I change one parameter?), anything where you have a table of data and you want to analyze it, sum it, average it, etc.
I like to play with orbital mechanics - "hard science fiction" scenarios such as orbital catapults and the like, and spreadsheets are a decent way to quickly run the numbers for a large range of parameters. For example, a few hundred mile tumbling-cable space elevator around the moon could grab payloads directly off the surface and launch them on Hoffman transfer orbits to Mars or Venus, without ever exceeding a fraction of a g acceleration.
--- Most topics have many sides worth arguing, allow me to take one opposite you.
You can use them for about anything where you need to keep track of some data and a database is overkill. Back in the day, I had a teacher using spreadsheet software for a grade book that could automatically sum the scores and apply a curve instead of having to do it all by hand. My brother would keep track of online auction data in a spreadsheet. I've seen a few people use them to make a quick and easy chore list for their kids. They're also useful for kids who want to make some simple graphs or charts for a school report. There are probably dozens of other ways that people use them on a regular basis that I might never imagine myself.
They also told me how much I should be offering for junk components in Eve if I was still to turn a profit on reprocessing. I've not played the game for years, but spreadsheets are a pretty important tool. They also tell you which ore is most profitable to mine.
Any place where you have to take a number of observations and perform statistical analysys on the data. A lot of yield analysis in agriculture is done this way; remember, agriculture was the mother of statistics. Then you branch out to the other hard sciences and a spreadsheet is the right tool for the job. Once you learn the limitations of the tool (precision, range, accuracy) it can slash effort to a fraction of other methods.
Modern GPUs can be hundreds and even thousands of times faster than CPUs at highly parallelizible simple math. That's why things like bitcoin mining, which are exactly that were done on GPUs before they moved to even more specialized hardware.
This is good of course, however, whenever I see a spreadsheet program used for any serious computation, I cringe. There are far better tools out there if you require real number crunching. Think Python + Panda for instance, or R, or Matlab if you are really into commercial programs, otherwise a nice interactive web page will usually do the trick. For accounting use a real accounting program, there are plenty out there. Spreadsheet programs are the lowest common denominator that allow the sharing of table-like information, but almost universally they are the wrong tool for the job. Just in the last week, I have seen spreadsheets used for a program logic workflow, a timetable, a university course schedule, to compute an FFT, to exchange student marks, to discuss a budget (with lots of deletions and remarks), and even for a presentation. In each and every case a more suitable, open-source, freely available, multi-platform application exists.
Of course this is software that people know, so usually we have to deal with it. As a rule I accept to work with other people's spreadsheets, but I usually refuse to create one ex-nihilo, unless there is a compelling reason to. For instance I teach a course on optimisation, and I do show how the solver in Excel / {Libre,Open}Office works. I have also on occasion shown people how to use a pivot table (never use those if you can help it).
The most severe problem I see with spreadsheet is that they have their use but they are fragile. It is too easy to load an extensive table into them and inadvertently modify just one cell, potentially undoing a lot of work. This is easy to detect if your spreadsheet is small, but if it span multiple tabs and an ungodly number of rows, you will not detect your error. Of course the format of these spreadsheet is obscure, and version control is typically not supported.
Personally the worst I have seen was one spreadsheet used for the accounting of 90+ separate research projects, spanning 30,000 cells. The accountant in charge of it was the person most attentive to detail I have ever seen. She was careful and the only person using it, which made her indispensable. We put in place a year-long plan for her retirement, involving scrapping her spreadsheet, entirely replacing it with a direct interface with SAP via a php-based web page. It was many months in the making, of course this was not a trivial project but we've pulled it off. In the process we discovered a huge number of accounting errors thanks to it, typically invoices that were never billed, to the tunes of nearly one million dollars. It took us several months to correct them.
The morals of this is never, ever use spreadsheets program for non-trivial work.
"A GPU is not 500 times faster than a CPU, more like 2 or 3 times"
Just on FLOPs alone you're dead wrong. The latest and greatest E-series Xeons (V3) have barely enough power to match the 9800GTX+ - about 800 GigaFLOPs. The 980 GTX Ti is roughly 5.6 TeraFLOPs.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
AMD engineers have contributed OpenCL code which is an open standard that can run on many different accelerators (some not even GPUs). this is distinctly different from CUDA which only works with Nvidia stuff.
Anons need not reply. Questions end with a question mark.
Oh nice, you've used IBM Cognos too?
-- I was raised on the command line, bitch
Perfect for accounting? Nope. Good enough for most cases. When things get too complicated, better to go for a specialized tool. The thing about spreadsheets is that they are versatile and good enough for numerous problems.
There's nothing like $HOME
Where is the open source version of OneNote? It's the only thing holding me to windows.
When our name is on the back of your car, we're behind you all the way!
GPUs are optimized for massive parallelism and can be much faster than CPUs that aren't for tasks fitting them. They can also be much slower if the task doesn't fit them. 500x faster than a normal processor is well within a reasonable speedup range.
But I also agree partially with you - the reason we see such a huge speedup in this case is probably because the CPU comparison point is running badly optimized code. With a few exceptions reports of huge speedups for GPU computing is because the CPU is feed with severely suboptimal code.
Evilly forced. They're going against the natural order, as defined by Intel's compiler.
Intel has gone to great lengths to keep AMD as slow and uncompetitive as possible. Obviously there must be some greater good reason, like demonic invasion or zombie apocalypse.
I don't suffer from insanity, I enjoy every minute of it!
here are my answers. Spreadsheets are used in several cases:
1) When you have a small-to-medium-sized dataset (100m data points) and want to do a particular set of calculations or draw a particular set of conclusions from it just once or twice—so that the time invested in writing code in R or something similar is less than the time needed just to bung a few formulas into a spreadsheet and get your results. Once you get into analyses or processes that will be repeated many times, it makes more sense to write code.
2) Similar case, when you need to work with essentially tabular database data, but the operations you're performing (basic filtering, extracting records based on one or two criteria, just handing data from one person to the next) are either so simple or will be repeated so rarely that a MySQL database is overkill and just emailing a file back and forth is easier.
3) When you are working with data as a part of a team, and certain members of the team that are specialists in some areas related to the data, or (for example) members of the team that are doing your data collections, aren't particularly computationally expert. Spreadsheets are hard for laymen, but it's doable—a dozen or two hours of training and people can get a general, flexible grasp of spreadsheets and formulae. It takes a lot longer for someone to become basically proficient with R, MATLAB, MySQL, Python, etc., and you really want those specialists to just be able to do what they do to or with the data, rather than focusing their time and effort on learning computational tools. Spreadsheets are general purpose and have a relatively shallow learning curve relative to lots of other technologies, but they enable fairly sophisticated computation to take place—if inefficiently at times. They're like a lowest-common-denominator of data science.
We use Spreadsheets all the time in what we do, mostly as a transient form. The "heavy hitting" and "production" data takes place largely in MySQL and R, but there are constant temporary/intermediate moments in which data is dumped out as a CSV, touches a bunch of hands that are really not MySQL or R capable, and then is returned in updated form to where in normally lives.
STOP . AMERICA . NOW
100m data points *or less*
STOP . AMERICA . NOW
Yeah, I should have clarified for simple accounting. Obviously not for higher order stuff.
I once wrote a spreadsheet to calculate and graph the collision rates on various hash table algorithms over various use cases. Don't dis spreadsheets.
Depends on what you mean by "faster." If you mean clock frequency, then perhaps. Also perhaps if you mean an individual core of a CPU vs a core of a GPU.
In this sense, it's the time to perform massively parallel instructions. GPUs are generally hundreds of times faster than CPUs for such calculations. Part of this is because a CPU can have a few cores, but a GPU generally has thousands of floating point units. The other part is that CPUs are general purpose central processors while GPUs are very specialized to optimize them for specific kinds of tasks.
Think of it like a CPU is 4 guys with Swiss Army Knives while a GPU is a team of 1,600 guys each with a battery powered, professional screwdriver. Guess which one's faster at screwing 1,600 wood screws into 400 posts for a building. Now guess which is faster at cutting a traced outline on a single piece of paper.
http://www.nvidia.com/object/w...
I'm not sure where you are getting this. For repetitive math a CPU will be doing something like 4 instructions per clock cycle while a GPU will be in the low thousands. Also AMD tends to have more parallelism running slower than NVidia so for the right kinds of computations it is even better.
My opinion of Apple and Apple products has changed. Not that I'd ever buy an Apple product, but I went with a non-technical friend to an Apple store; she wanted me to go along when she bought a new Macbook. I was amazed at the high level of service and the extent of the support structure. She paid twice as much total for her Macbook as I paid for my Asus Zenbook (she bought the training and extended support which added $400 to the total), but she has a level of comfort that is rather high for a non-technical user.
I was pretty impressed, and I can see why people might want to buy the Apple brand. They don't care about the closed design and complete control by Apple. They want to have a place to go to get help and support, of a type and level that they can understand and feel good about. This particular Apple store was packed with people and always is. There's a reason, and I learned what it is that day.
There are entire branches of computing and computing hardware dedicated to this idea. Before Linux Journal gave up on the idea of dead tree publication, you could always see the ads for multi-GPU compute machines (usually on the back cover).
3D rendering is all about heavy duty math.
Then there's PureVideo/VDPAU and VAAPI. The idea that dedicated silicon can do things better than a general purpose CPU is a pretty old (and obvious) one.
A Pirate and a Puritan look the same on a balance sheet.
That's funny because spreadsheets actually came from accounting. The first spreadsheet wasn't created by a geek or a programmer, it was created by an accountant. It's simply the electronic form of something that was already being done on paper.
Spreadsheets not suitable for finance or accounting?
That's where they came from.
A Pirate and a Puritan look the same on a balance sheet.
I may be completely wrong but no features have been added in ages, no code updates etc. etc.
Does anyone know what's going on?
Also, would Base benefit from this GPU enhancement?
*** Don't be dull.***
Ok, it's fantastic that LibreOffice spreadsheet calculations are faster now. But what good is that when the rest of it is so goddamn bloated?
Because speeding up spreadsheet calculations matters a lot to some users?
"So goddamn bloated" is a subjective term. I use LibreOffice regularly and it works for me. Pretty damn impressed in fact. Sure, faster is already better but your exaggeration is wild.
When all you have is a hammer, every problem starts to look like a thumb.
...the reason we see such a huge speedup in this case is probably because the CPU comparison point is running badly optimized code...
Actually, it's because spreadsheet problems tend to be "embarrassingly parallellizable".
When all you have is a hammer, every problem starts to look like a thumb.
500x faster than a normal processor is well within a reasonable speedup range.
Not really. The improvement is usually around 10x.
While the intended workflow for data crunching on the desktop is typically served by R/Python/Julia among others, there are times you have to do some processing for a huge amount of data for a spreadsheet you have open in front of you. This is where AMD/LibreOffice will shine and this is a good motive to buy AMD and LibreOffice.
"closed design"? really? I think you are thinking about Apple from 15 years ago. OS X has a lot of open source in it and its far easier to use open source software in it than on Windows. OS X also uses a lot of open standards, unlike MS "extend and embrace" system. As for the hardware, you can run Linux or Windows on it if you want, so I wouldn't exactly call that "closed design" or "complete control" either. OS X also has free developer tools unlike some other OS.
Why not?
I just ran the test on both MS Office and LibreOffice. MS Office was 5.6x faster than LibreOffice with OpenCL turned off. MSOffice score 9705.51206654159, LibreOffice score 54296.0680468936. LibreOffice scored 218.087068492849 with OpenCL turned on. Hardware Core i3 2100, 8GB RAM, nVidia GTX 770 .
I honestly thought that we'd got away from this 500x nonsense a few years ago. I would suggest that AMD is one source for the information that 2-3 is more reasonable. AMD, Qualcomm, Khronos, any of the members of the OpenCL committee you talk to as well as NVIDIA insiders if you catch them at a conference. I gave multiple public talks countering any factors over about 10 when I worked at AMD, which were approved by management.
Just think the raw numbers through. The GPU has, say, 32 cores. The CPU ALSO has multiple cores. Don't count them, then you're cheating. So let's say we have 8 CPU cores there. Each CPU core has two SSE units or one AVX unit, to be conservative. That core is doing 8 ALU ops per cycle per core. So you have 64 ops per cycle. The clock rate is 3x the GPU so let's call it 196 ops per GPU cycle. The GPU had 32 cores. Each GPU core can do 64 ops/cycle (fair number for GCN). So you have 2048 ops/cycle on the GPU. 2048/196 is roughly 10. That's your peak - now you add in divergence costs on the wide GPU SIMD units (which statistically will hit you much earlier than with the CPU's narrow SIMD units), count the tiny GPU caches leading to more cache misses than the CPU and you can see why that factor of 10 invariably drops to 2 or 3x.
More honestly you're looking at a factor of 10 or so for ALU throughput, and 10 or so for memory throughput - and those are not multiplicative. In real use cases 2-3 is about right when comparing against well-optimised CPU code.
If there is a 500x speedup appearing with Libreoffice here, and the likelihood is that that is somewhat cherrypicked anyway, then what we are seeing is the difference between someone optimizing code and someone else not doing so. There is every reason to think the original code was only lightly optimized, not parallel, not vectorized or some set of the above.
For simple accounting, and for really complex accounting. Supposing you have accounts for 50 divisions around the world in various different currencies and local accounting standards, and you need to put them together as a set of group accounts. There isn't really any alternative to doing it on a spreadsheet.
I use them as a mapping tool for old-school grid-based CRPGs like Wizardry and Might & Magic.
Mada mada dane.
"closed design"? really? I think you are thinking about Apple from 15 years ago. OS X has a lot of open source in it and its far easier to use open source software in it than on Windows. OS X also uses a lot of open standards, unlike MS "extend and embrace" system. As for the hardware, you can run Linux or Windows on it if you want, so I wouldn't exactly call that "closed design" or "complete control" either. OS X also has free developer tools unlike some other OS.
I think by "closed design" they're talking about Apple's hardware. Over the years, it's become less tinkerable, particularly the Macbooks as they've exchanged accessible battery, RAM and hard drives for ultra thin and lightness and battery-life. It's comforting to some that a few years down the road you can upgrade some parts and extend the life of the machine . But your typical consumer might not care so much, and the newer Macbooks are so freakin' thin and still feel solid like they're not gonna crack if you look at it funny. I suppose something's gotta give (and anyway, iFixit usually offers some way of swapping out the SSD).
Take it easy, Charlie, I've got an Angle...
No it really doesn't. Just because NVIDIA's marketing department calls something a core does not make it comparable to a CPU core - notice that even AMD's marketing is being more up front about this by talking about an APU having some number of "Compute units" which is the sum of the CPU cores and the GPU CUs.
Even if the GPU did have thousands of cores, though, that does not affect the numbers I discussed. Instead of having 32 cores with 64 ops per cycle you just get 32*64 cores with 1 op per cycle. You still only have a factor of 10 on ALU throughput.
" I was amazed at the high level of service and the extent of the support structure as long as the Apple in question is no more than a couple years old" FTFY. Try getting a first or second gen Macbook Air serviced and see what you get told.
Say what you want about PCs but if you have say a Dell or HP and take it to a company backed service center they'll work on it, they don't care if its a dozen years old. You can sink $3k-$4k on a top of the line Apple and in 5 or 6 years give it up chuck, you're gonna have to find some dude that does nothing but buy dead Apple units off of ebay to service your system because Apple won't touch 'em. Found this out the hard way with a networking customer who had several very expensive Macbooks, after he had to drive halfway across the state a half a dozen times to get 'em serviced by some dude because Apple wouldn't support them anymore? I wish I could say I got him to switch to PC but no, now he just takes these very expensive units and tosses them in the garbage when they reach 5 years old and gets more. Never underestimate how much money rich people can waste.
ACs don't waste your time replying, your posts are never seen by me.
The vast majority don't use LO, they use MSO, and they don't call it "Wintel" for nothing. I really don't see MSFT adding this anytime soon, remember they fucked Windows Vista simply because Intel picked up the phone and said "Our shitty 9xx chipsets can't do DX9 and we have a warehouse full to move" which gave us "Vista Capable" so I have zero doubt if MSFT were to start talking up GPU acceleration on MSO Intel would pick up the phone and that would be that.
Of course the fact that they have been adding speed ups to LO since 2013 and it hasn't helped their sales any should be all the proof you need that LO isn't going to influence anybody's hardware choices. Don't get me wrong, I give it out to home users in my standard install, no point spending the $$$ on MSO when LO does the job just fine for the home users.....but the home users will never be doing enough to actually need GPU assistance so other than a "that's neat" factor it really isn't gonna help their bottom line any.
ACs don't waste your time replying, your posts are never seen by me.
Wait, what? O.o
I was trying to do a joke here, but you make it sound like something as stupid as that really did exist?
Get free satoshi (Bitcoin) and Dogecoins
You make a good and valid point, but the people who are buying Apple for comfort will buy a new one every few years because that maintains their comfort level.
I learned, with my visit to the Apple store, that buying Apple for most people is not about
1) Being able to tweak and customize (in general; yes, you can do that if you know how)
2) Worrying about cost[1]
It is much more about
1) Comfort and assurance
2) Style
3) Relative ease of use, and lots of hand-holding.
As technical people we tend to forget how hard things can be for non-technical people. (And no, this is not because we're in any way "better" than they are, we just are good at different things.)
[1] It's true that many Apple buyers have plenty of cash. But I'm active in the local writers' community and it's amazing how many really poor writers (poverty is chronic for most writers) will scrape together every last cent to buy a Macbook.
It's almost a no-brainer, but for people who are on the fence on putting data in spreadsheets or a database: Start with spreadsheets, but organize them in a database table-like form (as opposed to an interface-like form with little mini-tables scattered around one subsheet, which is what most people tend to start out with).
1. Use only one header row per subsheet
2. Make as many rows as possible just straight data rows, with every cell conforming to what is dictated by the header for that column.
3. Create an id column with unique 'primary keys' for the data rows. Simple incremental integers obviously suffice in most cases. This also brings along the many advantages a stable identifier brings with it, such as being able to reliably refer to the rows pretty much everywhere.
4. Logic across data rows is best kept in separate subsheets or in the frozen section with the header row (see Google Spreadsheets), although this is mainly to allow for easy (re)sorting and filtering. Logic confined to each data row (i.e. derived columns) can be implemented as columns, although I do like to use background coloring to easily see the difference between the source and the derived columns.
If the step to a database ever needs to be made, migrating the data sheets is obviously trivial. Converting the logic to a different platform is also easier, as the separation advised above enforces that it is built around database table-like input.
If you knew anything about computer history you'd know that the GUI was inevitable. Steve & Bill may have popularized GUI interfaces through their positions but they weren't the only people thinking about computer graphics. In the same year the Macintosh was released 1984, Digital Research announced GEM & MIT announced X, Xerox was already developing their own graphics system.
In 1985 we got GEOS, AmigaOS, and the first shaky Windows.
The world could have gotten along fine without Apple or Microsoft. I personally would have been happy with an Amiga dominated PC industry. Hell, people were quite happy with VisiCalc before Excel ever appeared, and IBM did most of the work of killing off VisiCalc with Lotus-1-2-3, the first graphical spreadsheet program.
Speaking of myopic, most Apple fans would believe Apple not only invented fire, but made fire more stylish and desirable if Apple told them so.
Well, I put in the TOP of the line server hardware versus top of the line GPU hardware.
If we go to the desktop region, then the performance disparity increases!
Example, the latest Core i7 5960X is only 384 GigaFLOPs. It can't even get to half the power of a 9800GTX+.
But that doesn't even begin taking into account the efficiency of algorithms and code utilized.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
What is a specialised tool? Something that compares the sums of rows and columns? Something that makes simple if-then decisions and applies tax formulations depending the final or intermediate answers? Something that stores large tables of expenses, and revenues? Something that can do simple look-ups like how many hours has a certain person worked within these weeks?
Quite often the specialised tool is a fancy GUI that sits on top of a spreadsheet.
I bought a harddisk the other day.
I copied the table of harddisks and prices into a spreadsheet from a computer store's website. I then set a column to extract the number immediately before "TB" in the string from the site, and another number to extract the number immediately after "$". Then I created a column that divided the two. Finally I applied a colouring to the cells based on value from lowest (green) to highest (red) and finally sorted the result by TB and then $/TB.
The end result was a list of every harddisk from the vendor grouped by price and sorted in dollars per TB and highlighted such that you could immediately see outliers such as enterprise drives. This all took 10 minutes.
I gave this example because I actually work with spreadsheets every day at work but in this case it was something quite practical to the Slashdot crowd. Quick extraction sorting and displaying of tabular data to aid decision making.
I am a fan of OSS but, really? Easier to use open source software? In what way is it easier? You install the damned thing and use it. There is much more OSS for Windows than there is for OS X. The end result is the same. How is it any easier, regardless of the platform you use? Opera is as easy on Linux as it is on OS X as it is on Windows. Install the damned thing and use it. The platform does not, nor should it, change that.
"So long and thanks for all the fish."
There was this one time, at a truck stop in Pennsylvania, but they liked it so it does not count. It's not gay if your bags don't touch.
"So long and thanks for all the fish."
I seem to recall the GUI came from Xerox and the mouse was around in the late 1960s. The mouse even had three buttons on it. I forget the name of the talk but you can still find it online if you know what to look for. I re-watched it not too many months ago and then was surprised to see someone link it here in the past week. They had file headers, cut and paste, and function keys - back before 1970. The GUI was a Xerox thing - SPARC as I recall - that Jobs borrowed. This is not a slight, or not intended to be so, but I can not think of anything that Apple has done that was really original. I am not suggesting that any other company is better. I am suggesting that viewing the world without rose tinted glasses is a good thing.
"So long and thanks for all the fish."
CSV has way too much industry penetration. It is not even suitable for an address book but it gets used for far more than you might want to imagine. I guess we could call CSV the original noSQL... It was wrong then and it is wrong now. It is simple and fairly easy to manipulate and transfer to other formats, I suppose. Anything large should not be kept in CSVs but it is not unusual to see it. Once upon a time many shared hosting companies did not offer things like MySQL or PHP - just PERL was a blessing. During this time the CSV gained in popularity. Tools like phpMyAdmin did not exist and cPanel was a mote in the developer's eye. Database admins were wizards.
Of course the more common web applications (such as forums or similar) all were improperly configured. So if you knew the script being used you could navigate to config.txt, users.csv, or passwords.csv and have all that information available. And we liked it!
"So long and thanks for all the fish."
See... I just can not wrap my head around spreadsheets or databases. No, I know how they work. No, I can not use them for anything. I can set information in one and extract information from one. I can do work on those results. I am slow... In your example, I could have done all that in my head faster than I could have done it in a spreadsheet. My degree is in Applied Mathematics but I simply can not conceptualize the use of spreadsheets or databases. I can use them in limited cases where I am already familiar with the concept. I really can do the math in my head faster than I could do it on the computer - it is a neat trick to amuse folks and challenge them to a race vs. their calculator skills. (It even works when drunk, up to a point. Stoned? Not so much.)
I guess I do not understand it. If I took your numbers (I probably would not need to but it would help) and just pasted them into a text document in the same format for all the devices then I could calculate based on that alone. I might even beat your spreadsheet in the end but I suspect your familiarity speeds you up a great deal. There are a few things like this, I am not sure why, and I just can not grasp them at any level beyond novice - and not even that far in some cases. I can not, for the life of me, make a GUI that makes sense to anyone but me. I try... I have even taken the time to learn about UI/UX, eye mapping, and ease of use studies. I can't even design a web page that is complicated. Well, no, I can code it and do the back-end stuff (sans database except storage/retrieval) but the layout is horrific. I am one of those guys who can poke at Drupal all day long and make it do what I want but, no matter what, it is ugly and ineffective for an end user. Like spreadsheets and databases, I just can not wrap my head around it.
"So long and thanks for all the fish."
Nice. Thank you. My memory is old, it does not do error correction. Upgrades are expensive and ineffective as their is a bottleneck due to processor speed.
I did not fat finger it. I added the extra letter thinking it was correct. (I am not scared to be mistaken.) I knew that GUI had pre-dated Apple with Xerox being commercially available before Apple did so. I know it was also in labs before that. I seem to recall a Bell Labs solution that was GUI as well though I do not know if it, directly, ended up in a commercial product. I was, and am, too lazy to check. I figure I will just forget again in the near future so I am grateful when others (like you) are able to remember these things.
I suppose the worst part is that I was *there* (not specifically) during these times and an avid user. I still lack the ability to recall so much of it. In part because it has been a whirlwind of excitement and in part because I drank and abused a variety of drugs for many years. ;-) These days I only smoke weed. That does absolutely nothing to help my memory.
"So long and thanks for all the fish."
OS X is a unix-alike. Most of the software that runs on Linux will run on a Mac without a problem.
Your idea of open source seems to be of the double-click variety. There's a LOT of open source software that requires a ./configure; make to install. That works on Linux and Mac. If one of the developers is a masochist there might be a way to build it using Visual Studio on Windows, or more likely a way to build it under Cygwin.
Hm... I took my six year old macbook pro in to an Apple Store the other day. They were happy to work on it. They ran a 24 hour diagnostic, free, after which I took it home and fixed the problem (they would have happily done so). My friend took in his 5 year old one, and they replaced the mainboard in it for free because it was one of the first lead free batches that had known faults.
They're difficult to debug (there was a story on Slashdot about a study on that a year or two ago).
I really can do the math in my head faster than I could do it on the computer
You're assuming a fixed data size if you think you can beat a spreadsheet, and that is precisely where the benefit of a spreadsheet lies.
Were we talking about a handful of harddisks I would agree, but I was talking about every harddrive available from every manufacturer from a given online retailer. By typing in 2 very simple division equations, 2 very simple string lookups, and hitting autocolour followed by sort on 2 columns I had completely sorted and sifted through the cheapest $/TB drive for a reasonable drive size for 138 individual drives.
Straight away the resulting dataset without doing any calculations was displayed in a way that allowed you to instantly draw conclusions like: Seagate offer the cheapest harddisks across the board, HGST are a premium brand but cost effective in the 3-4TB market when compared against drives designed for use in NAS / RAID arrays, those drives are $13/TB more expensive across the board and across all TB scales, the most cost effective drive per TB is 3TB with the exception of one outlying model, Segate's SMR drives are an incredibly cheap outlier and the largest drive, and at the same time has the 3rd lowest cost per TB.
Now really it doesn't matter how good at math you are, at some point the dataset makes computers more efficient at sorting through the amount of data you have at hand.
Interestingly my old way of sorting this would have resulted in me buying a different drive. I used to do a quick head calculation to find out the best $/TB and then pick a preferred vendor and gone for them. I would have immediately discounted any drive larger than 5TB as a result and that would have ended up worse for me as I ended up buying an outlier from the normal dataset.
Oh and as a side note, I take it you're an engineer, researcher, or Phd, but none of us are any good at designing a GUI. I get my mother to play with my work projects to see if I was able to come up with something usable by anyone other than me. That's a common problem.
Good guesses. I have my PhD in Applied Mathematics and a MA in Electrical Engineering. And I *might* be able to do all 138 drives faster than you can do it in a spreadsheet. It is strange, I look at numbers and just *get* them. I can not really explain it. Early on, in basic mathematics, I had a hard time doing proofs. Showing my work was a problem. Eventually I had a teacher who explained the concepts in an abstract form and that is when things just sort of clicked.
"So long and thanks for all the fish."
Back in the day, I had a teacher using spreadsheet software for a grade book that could automatically sum the scores and apply a curve instead of having to do it all by hand.
I've done that too. The system was at a uni for a 3rd year module. The point with that is that everyone did the first two years, so the curve for those years was easy. For the 3rd year there were not enough people to grade on a curve, acurately, so the curve was derived from that cohort's second year results.
I did a spreadsheet, realised I had bugs, then rewrote it in AWK in about 1/4 of the time. But this isn't me being a smug git, so please read on...
To me, personally I don't like spreadsheets. This is not to say that they are bad, but I just do not get on well with them. Clearly many peopl do and so it's reasonable ot help them.
I have a vague sneaking suspicion that people on the whole will put in thousands of hours into using a bad tool to avoid learning a better one. For me, spreadsheets fall into the "bad tool" category. But them I'm rather fond of static strictness. I reailse the irony of that with my comment about AWK but bear with me.
It's like the old static versus dynamic debate. C++ provides rich static typing which is why I prefer it for large programs over a dynamically typed one like AWK. For small programs, it doesn't matter because I can track the types in my head. Likewise, the relational model provides static strictness over a model of data, which is why I prefer it for anything sizable which isn't a trivial list (most of my data is actually trivial lists).
And finally, spreadsheets are a nexus of dynamism: there's not even static checking of the program structure. It's this completely synamic 2D grid. This is not to say it's unusable: it's considerably better than the non grid equivalent of computed gotos because the 2D visual layout gets to make use of one's incredibly powerful visual cortex.
But ultimately, I find spreadsheets to be too dynamic for my taste.
OK, so at this point my thesis is that spreadsheets have dynamic types (they're not stringly typed---like AWK it looks a bit stringly typed but isn't, unlike TCL which explicitly is and takes that ti it's (il)logical conclusion---, I think they are actually properly dynamically typed on the whole even if the model is less powerful than Python)...
That got long. Spreadsheets have dynamic typing and dynamic structure.
Now, one can wade into innumerable debates into static versus dynamic typing on the internet. Mostly these are shouting matches. Even the accurate technical points (which is that static languages are a strict superset of dynamic ones) are more or less meaningless when it comes to practicalities.
Given the cognitive overhead, I don't thing spreadsheets scale well to even moderately sized programs (though a large spreadsheet is often large because it has a lot of data). Personally they don't even scale to small programs for me, but then not everyone thinks like I do and one's preference for staticness versus dynamism is really a function of how one thinks.
I've also ignored macros which allow one to indert statically typed, structured code into a spreasheet.
Ultimately though it doesn't matter what I think. I think people hammering on huge spreasheets are proven capable of reasoning in the type of way needed to write programs and I, personally think they would benefit from learning more structured languages. They won't though for a variety of reasons someof which are in fact perfectly good. So they will keep using vast spreasdsheets and AMD's hacking could prove very useful to them.
SJW n. One who posts facts.
She paid twice as much total for her Macbook as I paid for my Asus Zenbook
I'm curious about that. Last time I (well, my SO actually) bought a Zenbook (UX21 as it happens), it was very similar to the equivalent 11 inch macbook air. It was I think it was slightly cheaper but had a larger drive. The outer dimensions, and critically the weight were pretty much the same.
The main driving factor in spec/price seemed to be driven by who has most recently released a new model, the new models always being slightly better value than the old ones from other manufactuers as they seem to not alter the price over the life.
I know you mentioned training, but that's something of an optional extra. For anyone here buying for themselves, Apple laptops are a similar price to other PCs of a simialar spec. And by spec, I mean the full spec including weight, screen quality and build quality, not just the MHz :)
The UX21 however at the time ran Linux much more smoothly which was what sealed the deal and as a bonus had a superior range of ports, including native VGA which is actually really useful on the conference circuit as most projectors still seem to be VGA---and when there are options the VGA ones seem to be more reliable. Digressing, I think that's because they're wired in and VGA has a much longer cable throw and the projectors are expensive and old, so have worse support for the newer standards.
SJW n. One who posts facts.
You are greatly misinformed. I was surprised to wake up and see so many bad answers, and my answered down-modded to oblivion.
An good multi-core CPU is 500 GFlops, and it's reasonably easy to attain it. A good GPU is 1.5 Teraflops, and it's nearly impossible to reach that in practice.
And that's for single-precision floating-point, if you want double-precision, like all of science does, it's not really that good.
Sure there are different models, exact numbers might vary, but it's in that ballpark, especially if you factor in the very high price of the server GPUs, which is what you need instead of gamer cards if you want reliable data.
I worked as a scientist in high performance computing dedicated to CPU optimization for a very long time. Yes there are silly people that make outlandish claims of having 200x speed-ups thanks to GPUs. Those articles are usually kindly rejected from publication in any serious journal. This is not proper science, just people that let themselves be had by trends and marketing.
Interesting hypothesis.
I'll make it simple. please show me a bitcoin miner that can produce numbers you suggest on CPU in comparison to numbers produced on GPU while staying on approximately same cost levels.
Where did I say spreadsheets are not suitable for finance or accounting?
There's nothing like $HOME
Ok, it's fantastic that LibreOffice spreadsheet calculations are faster now. But what good is that when the rest of it is so goddamn bloated?
Because speeding up spreadsheet calculations matters a lot to some users?
"So goddamn bloated" is a subjective term. I use LibreOffice regularly and it works for me. Pretty damn impressed in fact. Sure, faster is already better but your exaggeration is wild.
Huh. Troll? Somebody has an agenda.
When all you have is a hammer, every problem starts to look like a thumb.
You say you "worked" in HPC. Are you sure your knowledge is still even remotely current? Are you sure your focus on CPU optimisation didn't leave you blind to what everyone else was doing?
In my experience, a good multi-core CPU is good for more like 125 GFLOP/s, and that varies highly from program to program thanks to the highly variable quality of code & compilers. You may be able to eke out better performance than that with skilful optimisation, but the vast majority of commercially available CPU-only software will never be that well optimised, even if it's brand new or rewritten from scratch.
A good GPU can sustain upwards of 5 TFLOP/s at single-precision with very little effort from the developer, and for the vast majority of applications, single precision is more than sufficient. It's not hard at all to fully utilise all that speed. I've ported carefully-optimised, thoroughly-parallelised CFD code from C++ to OpenCL and seen 50x speed gains on the first successful test run. After a little further optimisation it's usually around 100x, and that's not even with a particularly high-end GPU. This sort of thing no longer surprises me. I don't even consider an OpenCL port to be working properly until it's 100x faster than the CPU version.
So the reason you're seeing people making "outlandish" claims of 200x speed-ups thanks to GPUs must be that 200x speed-ups are not unusual, and you just haven't been paying attention. This seems far more likely than everyone else being clueless but still seeing massive speed-ups while you're the one in the know and seeing nothing special at all.
What you're missing is that each compute unit is made up of several shader units, which are vector processing units each with their own vector/scalar/general-purpose registers. This means that for data-parallel tasks, there really are thousands of threads executing in parallel, and that's why GPUs really are hundreds of times faster than CPUs at data-parallel tasks.
You can bluster & nit-pick all you like, but it doesn't change the fact that most developers who've successfully ported code from CPU to GPU have seen speed-ups in the 100x ballpark. Some of us spend all our working hours on this stuff. Are all our test results wrong by an order of magnitude, or are you just pathetically mistaken?
You should read Seveneves by Neal Stephenson, if you like this kind (orbital mechanics) kind of stuff.
Fortunately for old Mac users, there are some specialists that will work on them. We have one here in the Boston area, The Computer Loft; those guys will fix old PowerPC Macs as well as the very latest ones.
Spreadsheets are useful for one thing and one thing only. Eve online.
Really? While some uses of spreadsheets could be considered that most should be faster to run on a CPU - if the CPU uses optimized code. Parallelizing the calculations have inherent overheads.
Yes but I didn't claim otherwise. The fact is that a GPU running code fitting it can get over 500x the performance of a CPU. However most real world code isn't as parallelizable as e.g. 3D rendering so overheads will strongly reduce the GPU performance.
As I wrote "With a few exceptions reports of huge speedups for GPU computing is because the CPU is feed with severely suboptimal code". Because a CPU running really shitty code is a "good" comparison point if one wants to promote GPGPU though not realistic.
The big one is data transformation. Most companies don't have some kind of seamless integration from department to department and system to system. Each department has some sort of input, and most output multiple subsets of that data to different places/departments/people in different formats like as reports, as data loads into other systems, or a smaller data set for further work. Excel allows non-IT folk the ability to handle this work without having to ask a techie every time they want to make a change, which can be frequent. The issue gets even worse when in-house IT departments manage costs via inter-company transactions (cost quotes) for their efforts. No one's going to pay six figures for a rigid implementation that requires IT involvement and revision costs when they can do it in 5 minutes a week in excel. That's not an exaggeration either, its my bread and butter and a real world example to a real scenario.
I meant that even with fully parallized tasks the improvement is usually around 10x.
Let's look at the actual setup used in this benchmark: AMD A10 7800B
4 Steamroller CPU cores (2 modules):
2x128 bit FMAC per module = 2x4 Single precision FMAC = 8 FMAC per module
16 FMAC/clock
8 GCN compute units:
4x16 single precision FMAC per compute unit = 64 FMAC per CU
512 FMAC/clock
Compute throughput:
CPU: 3500MHz x 16 = 35GFlops
GPU: 750MHz x 512 = 384GFlops
So we get more that x10 the (single precision) throughput using the GPU.
But that ignores the fact that GPUs are designed to tolerate long average memory access times while CPUs aren't. If the access pattern of the data isn't optimal (easily cacheable) the CPU will be stalled most of the time, the GPU will not. The GPU also have other resources (texture samplers++) that can be used to increase performance IF the code can use them.
--
But (as I pointed out in the earlier post) it isn't likely that there would be such a huge difference if the CPU didn't run crappy code. Most likely the CPU uses double precision floats while the GPU uses single precision. IIRC the GPU in question runs double precision floats at 1/16 the throughput of single precision - which would make the CPU superior in raw number crunching.