'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."
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.
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).
I have a MS in AI, and I'm working on a PhD (although not in the imprecise math area). Let me see if I can explain using as few points as necessary:
1 - We are interested in machine which make decisions
2 - Machines can only perform several _very_ basic operations (add, subtract, multiply, divide, move to/from memory)
3 - Probabilistic models are used to compare the relative 'goodness' of several decisions in order to determine the best
3.1 - statistical models, bayesian networks, voting systems, complex adaptive systems, neural network models, etc.
4 - Because of (1), we are interested less in the _model_ than the _decision_. When deciding among 3 decisions ranked 3.43122323, 4.12312455, and 1.85730385, we only care that 4>3, but had to take all of the factors into account to determine this
4.1 - Frequently, you decide between 20+ alternatives, so you don't even care if you make the second-, or third-best decision
5 - Among the limiting functions to making a cyborg is the large power requirement.
6 - If you can do imprecise math, and result in a reasonable decision at 1/15th the power, you could come closer to cyborg-AI.
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.
Hate to break it to you, but one of the more commonly used programs for structural design is Excel. I've written a half-dozen spreadsheets for it, and hundreds more are available online. For something that needs precision, I use something else - but 99.9999% of the time, I have a safety factor of 5-600%, and at that point it's not worth figuring out a few percentage points.
Plus, I can fix things on the fly for specific projects in Excel. Case in point, just today I had to modify a spreadsheet for square footings to be usable with rectangular ones. It was a simple five minute or less fix, and no programming knowledge needed.
This makes no sense, I don't even know where to begin... but I'll try. First, look at energy consumption per operation, not power. Look up what an ALU is (hint: within a CPU). Then get back to us.
While everyone sits here making jokes all i can think of is...why? Dear sweet lord why would you want this? are you telling me those chips in the 50c calcs are so damned expensive you couldn't use one?
Everyone seems to be missing the most obvious answer which is thus: If your general purpose CPU sucks too much power doing math then DON'T USE THE CPU TO DO MATH and instead have a math processor...duh! I have NO doubt you could build a simple ARM chip that sucks almost no power and does all the basic math functions, hell it would probably do all that your average graphing calc could do and again the ARM arch is a power sipper so no problems there.
I just don't why we have to keep reionventing the wheel. back in the day the CPU sucked for certain functions so you had an ALU to do that job, so if your CPU still sucks too much then leave the CPU for other tasks and use an ultra low power ALU for the math. Isn't it funny how these things just seem to go round and round?