'Inexact' Chips Save Power By Fudging the Math
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."
37 posts about the Pentium division bug.
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...
These chips will, of course, be aimed at government markets.
Well, really this is following in a long and glorious tradition of fuzzily incorrect arithmetic.
I am officially gone from
This is first post according to my new power-efficient computer!
See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
I feel this is more relevant: http://xkcd.com/1047/
Seems like nothing new to me. Floating point binary math is basically used for the same reason. It gives us and answer that's close enough, without requiring too much computation time. And it causes all sorts of fun since even simple numbers like 0.1 can't be represented exactly in binary floating point. Binary floating point works well for scientific apps, but fails quite badly at financial apps. I think this is basically taking floating point to the next level where the calculations are even more off. Which might work for certain applications, but for other types of applications would be completely catastrophic. What really bothers me is languages and platforms that provide no ability to work with numbers in a decimal representation.
Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
Before someone comes up with that stupid remark, not much. :) If the chips are 15 times as efficient as normal ones, it means that you could run for instance four in parallel and rerun each calculation in which one of them differs. That way you would both get both accurate calculations and power savings. Modify the number of chips to run in parallel depending on the accuracy and efficiency needed.
Football Odds
"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"
Summation 2
Oh you misunderstand. It will still return the "right" answer, it'll just be "engineer" right, not "mathematician" right, i.e. "Good enough for all intents and purposes.
Furthermore, posting under the top post when your reply is nothing to do with the OP is considered a faux pas. Minus 50 DKP.
Finally had enough. Come see us over at https://soylentnews.org/
Humans tend to do fast imprecise math to decided when to cross the street. It looks like that car won't hit me, but i can't say its going to take 4.865 seconds for it to get to the crosswalk. Estimations, even if fudged and almost completely wrong, should play a massive role in AI.
In more recent news, computer scientists determined that monkeys can get the same job done even faster, and by using even less power, and by making, um... a lot more mistakes.
This is exactly the problem with American chips lately. They're too lazy to put any effort into their work. Sure, they're "saving energy" but that just means they're going to become even more obese. Chips from many Asian manufacturers are already much more accurate and efficient than American ones. We need to encourage American chips to be more interested in STEM fields if we're ever going to turn our economy around!
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.
http://tech.slashdot.org/story/09/02/08/1716235/sacrificing-accuracy-for-speed-and-efficiency-in-processors
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)
Build it, and they will come^Hplain.
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 integers? ;)
DHS airport scanners - the faster they scan, the less I'll glow in the dark
I write 15 times as much code by not bothering to fix the mistakes.
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.
My AC stalker: " I personally agree with your posts most of the time, but that won't keep me from modding you troll"
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
whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
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.
45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
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
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.
I call it 'The Aristocrats'
If someone is doing structural engineering they are already aware of how much precision they actually need, and probably are not going to be reusing some 'hobby' application to do those calculations... crow, they probably are not even going to use one of the common languages like C/C++ since floating point operations in them are already unpredictable past a certain point (the chips will do the work to great precision, but the language is sloppy)... if they REALLY need the precision they will probably use specialized libs or a more audit-able language like Ada or FORTRAN.