'Inexact' Chips Save Power By Fudging the Math 325
Barence writes "Computer scientists have unveiled a computer chip that turns traditional thinking about mathematical accuracy on its head by fudging calculations. The concept works by allowing processing components — such as hardware for adding and multiplying numbers — to make a few mistakes, which means they are not working as hard, and so use less power and get through tasks more quickly. The Rice University researchers say prototypes are 15 times more efficient and could be used in some applications without having a negative effect."
Prediction (Score:5, Funny)
37 posts about the Pentium division bug.
Re:Prediction (Score:5, Funny)
You just deprived someone of their +5 Funny, you bastard.
Re:Prediction (Score:5, Funny)
You just deprived someone of their +5 Funny, you bastard.
My computer makes it a +4.7 funny.
Re: (Score:2)
That's too precise.
Re: (Score:3, Insightful)
Re: (Score:3)
The math processor wastes even more power. Ie, two processors running simultaneously. Even if you've got one idle and sleeping it's sucking up more power than no processor.
The big problem in some cases would be having standards compliant IEEE floating point. The basic calculation may be fast but then there's this chunk of overhead involved to check for range/overflow/underflow exceptions. When this extra part is done in software you can use libraries that skip it, but sometimes hardware will do these ch
Re: (Score:2)
Damn. You beat me to it.
Re:Prediction (Score:5, Funny)
36.9999995796 posts about the Pentium division bug.
Fixed that for you.
Re: (Score:2)
37 posts about the Pentium division bug.
By my estimation, at least half of the Slashdot readership isn't even old enough to remember the Pentium division bug.
Re: (Score:3, Funny)
37 posts about the Pentium division bug.
By my estimation, at least half of the Slashdot readership isn't even old enough to remember the Pentium division bug.
You're making the somewhat unsupportable assumption that Slashdot is attracting younger new readers somehow.
Re:Prediction (Score:5, Funny)
37 posts about the Pentium division bug.
37! In a row?
Re:Turtles all the way down (Score:5, Insightful)
Furthermore, posting under the top post when your reply is nothing to do with the OP is considered a faux pas. Minus 50 DKP.
Re: (Score:2, Insightful)
Re: (Score:3)
Most programmers doing these kinds of calculations are using floating point numbers, which already have interesting rounding error failure modes that most programmers don't understand. This is going to exacerbate the problem.
Decreasing hardware intelligence and counting on programmers to make up the difference hasn't been a winning proposition in a long time.
Re: (Score:3)
Exacerbate what problem? How often will an error rate n the 0.5%-1% range ever actually matter? Financial calculations are seldom floating point to begin with, but outside of finance and some scientific computation, results accurate to 2 significant digis are just fine for most things (especially where the error in measurment for all the inputs is worse that 1% to begin with!).
Re: (Score:3)
Sounds about right, which would probably be a good thing. Too many programmers are obsessed with getting the mathematically correct answer to a precision that can have no actual impact on whatever they are trying to accomplish (or even worse, is rendered 'wrong' anyway by FP limitations of the language or chip anyway).
Too many programmers appreciate a programming environment where the FP implementation doesn't play any tricks that messes up perfectly good code.
Look, we've been there 40-50 years ago. Floating-point arithmetic was rubbish, because the amount of hardware that was available was very much limited. Thanks mostly to Prof. Kahan, Apple who introduced SANE floating-point arithmetic (very fitting acronym), and Intel who proved it could be implemented in a hardware FPU with the 8087 co-processor, sanity prevaile
Re:Turtles all the way down (Score:4, Interesting)
Hardly. With engineering projects (especially with regards to people losing their lives) you ALWAYS build in safety factors. Large ones in fact. If you are within (from the article) 0.54% of the limits of the material you have a lot bigger problems then the processor.
Secondly, we are talking about low-power hardware here, not a software application. I see these chips being pushed into tablets and mobile devices, not things like laptops & desktops where they do some serious mathematical lifting.
Re: (Score:3)
Re:Turtles all the way down (Score:4, Informative)
Re: (Score:3)
In civil structural engineering analysis the required precision is normally around 3 significant digits, or less than 1%. The factors of safety required for different conditions vary from 30% to over 200% are far higher than this precision. Loads are often estimated with only 2 or 3 significant digits.
Where higher precision is most required in structural engineering is on geometry and fabrication tolerances. Construction tolerances for a beam length may be limited to 1/8th of an inch regardless of the beam
Re: (Score:2)
Re: (Score:3)
Furthermore, posting under the top post when your reply is nothing to do with the OP is considered a faux pas
That has always bugged me, but it is commonly done and they commonly get modded high.
Re: (Score:3)
I was thinking the same thing. Remember the company: Adaptive Logic with their AL220? There does seem to be
some long cycle idea repeat loop going on in our industry. (Perhaps any industry really).
H.
Re: (Score:3)
They could be useful in a few small circumstances, but for the vast majority of cases, I'd be interested in how a speed payoff is going to be beneficial given you don't know whether you got the correct answer. You could run a check to see whether it's correct, but then you can't trust the check to give you the right answer either... so you could run a third check...
Clearly, the answer is to run 14 checks.
Re: (Score:2)
Re:Turtles all the way down (Score:4, Insightful)
What about in a RT rendering (game/BD-Rom decode) situation, or a RT communication (Skype) situation?
Both of these do not need exact values, just close enough, and even if there was an error it will be transient and gone almost as fast as it was noticed?
-nB
Re: (Score:3)
Yeah, I don't know if you get to choose where, exactly, that inexactness comes into play.
For instance, you wouldn't want a vague answer as to the value of the integer 'i' in a for loop.
Re: (Score:3)
You do that in the same place you currently go to not-do what they're trying to do.
Kind of like how I deal with the people I know who are trying to start a square-dancing club: by not going to the place they do it at the same time.
Re: (Score:3, Interesting)
GPS. I don't need to know that I'm precisely in the middle of the left lane of the 4-lane highway going 59.2MPH. I'd rather it use the processor for screen refreshes and finding a better route around Dallas or Chicago at Rush Hour.
Scales at the checkout - the faster is gets a reading on how much my apples weigh, the faster I get away from the "People of Wal-Mart" and I'll bet there's less than a penny difference anyway.
Video Games (see GPS) - many switch to integer maths already for speed, how about fuzzy
Re:Turtles all the way down (Score:5, Interesting)
I envision the "less precise" CPUs being used in consumer laptops where people are just watching movies or listening to music.
It does not matter if the MPEG4 conversion is slightly off with the color, because the consumer's eye won't detect it. The selling point will be a laptop or tablet that lasts 10x longer on a battery charge.
Re: (Score:3)
I envision the "less precise" CPUs being used in consumer laptops where people are just watching movies or listening to music.
It does not matter if the MPEG4 conversion is slightly off with the color, because the consumer's eye won't detect it. The selling point will be a laptop or tablet that lasts 10x longer on a battery charge.
In other words, the Walmart Netbook?
Re: (Score:3)
Not quite so transient with MP4. You get the I-frame which has the complete picture. That picture only lasts maybe 1/24 of a second. But following that I-frame are B and P-frames. Those are deltas from the I-frame, and would contain those errors PLUS the errors from the delta for the new frames.
Re: (Score:3)
Agreed. I've seen trans-coded video these days, with hideously high video encoding rates and the latest video codecs, and I wonder how they manage to screw it up so completely.
It takes only an afternoon to learn how to trans-code a video to a certain bit-rate or size with minimal or no artifacts. How are they doing this, then? I want to know.
It's like getting a Porsche (any Porsche) to do 0-100 in 30 seconds, consistently.
Re: (Score:3)
So we'll probably see something like the situation we see with laptop displays. "Good enough" for a movie is good enough for 90% of people, so that's what the market will be flooded with. Anyone who actually cares about quality will lose out on the economies of scale.
GPU with maths fudging (Score:3)
I envision the "less precise" CPUs being used in consumer laptops where people are just watching movies or listening to music.
It does not matter if the MPEG4 conversion is slightly off with the color, because the consumer's eye won't detect it. The selling point will be a laptop or tablet that lasts 10x longer on a battery charge.
Exactly that.
Prepare to see GPU which go into "fudged mode" when dealing with graphics (3D, Video, etc.), and which go into "high precision mode" when doing science (OpenCL, CUDA, etc...)
Then further down the line, be prepared to see the "high precision mode" to be a paid-for only option.
(Buy a GPU marketed as tablet/latptop/entry-level desktop: Only "fudged mode available",
Buy a GPU marketed as high-level desktop/workstation/cluster: "High precision mode" available too, costs 2x more, although it's exactl
Re:don't know if you got the right answer (Score:2)
I've been interested in AI this month, and there's a really awesome application here for AI. Part of what makes people what we are is that we can't get certainty on a lot of our answers. Some guesses are good, some are spectacularly wrong. So if you build self awareness of that in the chip, it will need to use "damage control logic" to recover "socially" if it makes a mistake.
Same theme, we could get some really funny results when chips make that mistake and accidentally "get angry".
Re: (Score:3, Informative)
I haven't RTFA yet, but I strongly suspect that there would be different instructions when accuracy matters (ie program flow control), from where it's not as important (ie signal processing).
Re: (Score:2)
I'd be interested in how a speed payoff is going to be beneficial given you don't know whether you got the correct answer
I imagine certain applications that run in a loop, where the results from the previous calculation are fed back into the next calculation... so long as the error is within some limits, all you would do is increase the number of iterations - which may not be a problem if you can run them 15 more times than you could before.
And of course there are some applications where you are just running in a loop forever - depending on the nature of the error (are they Gaussian?) - it might be perfectly acceptable to hav
Re: (Score:2)
/golf clap.
Well done sir.
Graphics cards (Score:3, Interesting)
Don't they do this too, but fudge the maths so they can be a bit faster?
Hence the Cuda stuff needed special modes to operate in IEEE floats etc...
Re:Graphics cards (Score:4, Insightful)
Big difference between not dealing with full precision and encouraging erroneous behavior by trimming infrequently chunks of hardware.
Approximation (Score:3)
My question is whether they have controlled for where the error occurs. The nice thing about approximations is that you know what the error is.
According to the article, the low power increase the relative error to 7.5% (quite huge) but reduce the power requirement 15x (massive benefits).
A possible explanation:
Some mathematical computation (like trigonometry) is done with lookup table and interpolation.
By using as simpler (like linear instead of polynomial)- or even doing away with- the interpolation step, you can quite speed up and lower the power requirement for corresponding ops.
By doing this you only increase the expected relative error. Not oc
Ok, now move the decimal point left.. (Score:3)
I wish I could say reading the article gave me some insight as to where it fudges, but they kinda left it out.
Re:Ok, now move the decimal point left.. (Score:4, Interesting)
Well, really this is following in a long and glorious tradition of fuzzily incorrect arithmetic [wikipedia.org].
AI Chip (Score:3)
CC.
Re: (Score:2)
What exactly does imprecise math have to do with AI? Intelligent systems may use heuristics, but that is not the equivilent (far from it) as not doing proper math.
Re:AI Chip (Score:5, Insightful)
Re: (Score:2)
Humans aren't doing math at all in those situations. Hence, dumbing down a computer's math will not make it more "intelligent". Intelligent systems that are being designed today take advantage of a myriad of techniques developed over the past few decades. Path finding systems use different types of tree search algoritms. Self-driving cars will use a pair of cameras to judge distance and relative speed of external objects. In neither of these cases does imprecise math help the intelligence of they system.
Re: (Score:2)
We're not doing math? What is it we're doing then?
Re: (Score:2)
Thanks, AC, you are quite right. The more you learn about neural networks, artificial neural networks and computer AI, the more you doubt that there is such a thing as intelligence :)
Re:AI Chip (Score:5, Insightful)
Which is... math.
Just because something doesn't involve digits doesn't mean it's not math. I suggest you look up analogue computers, because that's what you just described - a neural net acting as an analogue computer.
--
BMO
how is that not math? (Score:3, Insightful)
It's still math, it's just in the hardware rather than the software.
Re: (Score:2)
In neither of these cases does imprecise math help the intelligence of they system.
It might, if the fuzzy math enables calculations 10,000 times a second instead of 10 times a second.
Re:AI Chip (Score:4, Interesting)
Your definition of math is very limited. Descriptive Geometry is math too.
Path finding systems may use imprecise weight function when making decisions - calculating weights is a major burden.
Using cameras involves image analysis. In essence, you're working with what is a bunch of noise, and you analyze it for meaningful data, by averaging over a whole bunch of unreliable samples. If you can do it 15 times faster at cost of introducing 5% more noise in the input stage, you're a happy man.
In essence, if input data is burdened by noise of any kind - and only "pure" data like typed or read from disk isn't, any kind of real world data like sensor readouts, images or audio contains noise, the algorithm must be resistant to said noise, and a little more of it coming from math mistakes can't break it. Only after the algorithm reduces say 1MB of raw pixels into 400 bytes of vectorized obstacles you may want to be more precise.... and even then small skews won't break it completely.
Also, what about genetic algorithms, where "mistakes" are introduced into the data artificially? They are very good at some classes of problems, and unreliable calculations at certain points would probably be advantageous to the final outcome.
Computation vs Math (Score:3)
As many have said below, your brain is indeed doing math - what it's not doing is "computation".
Most of the discussions in this thread are forgetting that important difference. The applications for which this type of chip will be useful are those in which the exact value of something is not important, but the relationships between values are. For instance, if you're implementing a control system algorithm, you don't care that the value of your integration is something specific, but you do care that it wil
Re: (Score:2)
Target Market (Score:5, Funny)
These chips will, of course, be aimed at government markets.
Re:Target Market (Score:4)
Re: (Score:3)
who will be using them in the next generation of missile guidance systems.
So they'll be able to put a warhead through a window still, just that they don't know if it'll be $Dictator's window or the kindergarten next door... oh, wait.
Re: (Score:2)
I can see a notice from the IRS right now.
Hello, .
By our records, we have determined that you are late on your taxes.
Below is the amount you owe to the Federal Government.
Your taxed income is: NaN DIVISION BY ZERO
Thank you for your time.
First Post! (Score:5, Funny)
This is first post according to my new power-efficient computer!
Well heck... (Score:2)
that strategy has always worked for me.
accounting depts are gonna love this :) (Score:2)
I can already hear people arguing "no, no, I did not fudge with the numbers, it's the computer chip" :)
Re: (Score:2)
next Mars shot?
Re: (Score:2)
I think they must have used one of those in the computer they used to decide if Greece was up to joining the Euro.
Skynet Avoided (Score:2)
At least our eventual computer overlords won't be able to count accurately to be sure they've eliminated all of us...
Alright, (Score:2)
From here on out, I'm requiring my chips to show their work. And, it better not look the same as the work that that northbridge chip you are sitting next to.
Seems like nothing new (Score:4, Insightful)
Re: (Score:2)
What? Like there is a carry flag, there is an adjust flag, it's set every time (unlike needing to use adc say). You just do the normal add, sub, or mul. Then daa, das, or aam respectively to adjust the values to BCD.
Whatcouldpossiblygowrong (Score:4, Interesting)
Re:Whatcouldpossiblygowrong (Score:5, Insightful)
If I'm reading the article right, the chips are still deterministic, they just don't care about a few rare edge cases. So whether there is an error or not depends on the input, and in your case all four chips will make the same mistake. What you could try is modify the input a little for each rerun and try to interpolate the result from that, but that won't give you perfect accuracy.
Evev if you do 5 chips there is a problem (Score:2)
what happens when the "Minority Report" is actually CORRECT??
now if you are doing a calc with 9 significant digits and you are only using 5 then if the error is limited to the "extra" digits then it might work (or if the error is in a predictable range).
Do you really want the ropes supporting you 800 meters above the ground to have had their strength OVER estimated??
Re: (Score:3, Funny)
and how do you know which one is right?
With 4 chips, you can get 4 different answers.
The slowest one to give the answer, clearly. =P
Re: (Score:2)
But I suspect that isn't even how the chips will work. You'll get the same wrong answer on each chip, because each one is making the same "mistakes".
Re: (Score:2)
PI (Score:5, Funny)
"This isn't so much a circle as a square, what the hell's going on?!"
"Oh, that's because the chip in your machine doesn't accurately define PI, it rounds the value up"
"To what?"
"4"
oblig HHGTTG.... (Score:3)
Anyone else think of http://en.wikipedia.org/wiki/Technology_in_The_Hitchhiker%27s_Guide_to_the_Galaxy#Bistromathic_drive [wikipedia.org] when they read this?
Central banks (Score:3)
Hmm, seems this has been used by The Fed and European Central Bank for quite a while now.
A monkey job (Score:4, Funny)
It has a name at my workplace (Score:2)
Where I work, we call this "the much-faster 'wrong' algorithm". It's frequently a side-effect of overly-enthusiastic attempts at optimization, sometimes by people, and sometimes by compilers.
Is this not the same as fuzzy logic? (Score:2)
American Chips (Score:5, Funny)
I tried this in high school (Score:4, Funny)
the concept works by allowing processing components — such as hardware for adding and multiplying numbers — to make a few mistakes, which means they are not working as hard
But my math teacher didn't understand the important difference between efficient and lazy.
High School Concept (Score:3)
This concept was used a lot back in my high school.
Calcucorn!! (Score:2)
This device has already been invented by a certain Tom Peters. I present: THE CALCUCORN:
http://video.google.com/videoplay?docid=-7064178994016272127 [google.com]
(skip to 7:15)
Just like my coding (Score:3)
I write 15 times as much code by not bothering to fix the mistakes.
15 times less efficient (Score:2)
LOL (Score:3)
Wow, so the goal to be Green in the future is to introduce more bugs into hardware to save power. While I am sure there are limited uses of this kind of "math" in general I don't believe these chips will have widespread adoption because mathematical accuracy, at least for integer values, is kind of critical for most applications. Its hard enough for developers to predict the random an idiotic nature of the users of their software, now they have to build protection against hardware throwing them random results.
This instantly reminded me of a developer that claimed a 1200% improvement in performance after he optimized some code. The developer wasn't particularly skilled and some senior level guys had already optimized the performance about as far as it could be taken, so we were dubious. We found after a code review that basically this developer has improved the efficiency of the software by skipping some critical intensive calculations that was the point of the software.
Sure you could claim that this optimization is greener then the original code because the CPU is not working as hard, but if you are not going to get the expected results, f*ck being green.
Sounds good but (Score:2)
Government work... (Score:3)
Call it the "Close enough for government work" chip.
Potential usage in graphics (Score:3)
Video game graphics could probably benefit from this. Very few people will notice that one pixel is #FA1003 instead of #FC1102, especially when it's replaced 16ms (or, worst-case, 33ms) later with yet another color. It might actually make things "better" - making the rendering seem more analog. Many games are "wasting" power adding film grain or bokeh depth-of-field or lens flares or vignette, to try to simulate the imperfections of analog systems to try to make their graphics less artificial-looking. If you can get a "better" look while using *less* power, all the better.
Actually, I seem to recall hearing about this earlier. For some reason I want to say nVidia specifically has been looking into this.
Goodbye Multi-player games... You will be missed. (Score:3)
What!? That rocket was NO WHERE NEAR ME. Wait, why is everything FROZEN?!
Connection Terminated. Desynch error rate exceeded.
Oh sure we'll just snapshot the whole flippin' gamestate to the clients and do reconciliation -- But that's just wrong.
Error propagation, Non-determinism, etc etc. This is OK for GPU stuff that ONLY draws pixels. Anything that affects gameplay could only be done server side with dumb clients, but not for any real detailed worlds (just ask second life devs) -- Without deterministic client side prediction you need MUCH higher bandwidth and latency of less than 30ms to get equivalent experience. The size of game state in game worlds has been increasing geometrically (in PCs it still grows, consoles hit limits due to ridiculously long cycles and outdated HW), determinism and pseudo randomness helps keep the required synch state bandwith low. Oh, I guess I could use less precise computations for SOME particle effects (non damaging stuff), but you know what? I'M ALREADY DOING THAT.
What's that you say? The errors could be deterministic? Oh really... well, then what the hell is the point? Why not just use SMALLER NUMBERS and let the PROGRAMMER decide what the precision should be. It's like no one's heard of short int or 16bit processors. Give a dedicated path for smaller numbers, and keep us from being penalised when we use them (currently, 16 bit instructions are performed in 32bit or 64bit then trimmed back down). Some GPU stuff already has HALF PRECISION floats. Optimise that path and STFU about fuzzy math, you sound moronic...
What could it be used for (Score:3)
I can imagine a few cases when it could be allowed, based on mathematical proof in advance that error level would be acceptable.
Audio/Video playback in a noisy environment
Processing similar to PageRank and the recently announced NetRank for biochemical analysis might be able to produce better results for a given cost in electricity. In other words, deeper graph analysis traded for less significant digits
CPU-controlled activities that depend on statistics and sensors, for example street light control, voice/gesture based activation of lighting
Applications in which low power is the most important thing, especially if it is output meant for a human brain which already operates on a lossy basis. A wristwatch might be lower power if it is allowed to be correct within plus or minus 15 seconds.
$trillions lost in the stock market... (Score:3)
I cannot wait until these chips start doing high frequency trading in the financial markets....
Re:I see what they did there (Score:4, Funny)
I feel this is more relevant: http://xkcd.com/1047/ [xkcd.com]
Re: (Score:3)
Re: (Score:3)
I'm surprised g_earth = pi^2 wasn't one of those.
That one actually becomes relevant when back-of-the-enveloping orbital calculations....
Re: (Score:2)
3 years, 3 months, 9 days, 20.5 hrs ago (Score:5, Informative)
http://tech.slashdot.org/story/09/02/08/1716235/sacrificing-accuracy-for-speed-and-efficiency-in-processors [slashdot.org]
Of course, you might've been sacrificing speed for accuracy in that 3 year estimate.
(and for all of the nay sayers -- I could see this being great for monte carlo simulations or other modeling where you're dealing with so much imprecise inputs that minor error's not going to be significant)
Re: (Score:2)