For yearly power-usage there is a rule-of-thumb which states that a device that is continuously on, costs the amount of Watt times 1.5 in Euro per year. So the computer in front of me, that takes around 107 Watt, costs me €160 a year if I would leave it on. A moderate cluster with several GPUs of a few hundred Watts each, would cost a few thousand Euros a year. I would say: very doable for most companies.
So why is the performance per Watt? There is more to a Watt than just the costs. The energy to cool a cluster is quite high, as most of the energy escapes via heat. And then there is the increase in demand for portable power. In cases you are thinking of sweeping you credit card for a top 10 supercomputer, then these energy-costs are extremely high.
In this article I try to get an overview of who is entering the 20+ GFLOPS/Watt area. All processors that do less than 20 GFLOPS/Watt, need to have other advantages to survive. And you’ll see that all the green processors are programmed with OpenCL, the technology StreamComputing is all about.
IMPORTANT: The total power used is sometimes including and sometimes excluding memory-transfers. So the comparison below IS NOT FAIR. The graphics cards are including memory-transfers, while the CPUs and SoCs are not.
Understand that since I mix CPUs, GPUs and SoCs (= CPU+GPU) the list is really only an indication of what is possible. Also a computer is built up of more energy-consuming parts than just the processors: interconnects, memory, harddrives, etc.
Disclaimer: The below list is incomplete and based on theoretical values. TDP is assumed to be consumed when processor is working at maximum performance. Actual FLOPS/Watt values can be much lower, depending on many factors. If you want to buy hardware specifically for the purpose of highest FLOPS/Watt have your software tested on the device.
|Processor||Type||Year||GFLOPS (32bit)||GFLOPS (64bit)||Watt (TDP)||GFLOPS/Watt (32bit)||FLOPS/Watt (64bit)|
|Movidius Myriad||ARM SoC: LEON3+SHAVE||2012||15.28||N/A||0.32||48||N/A|
|Nvidia GT 630, 2nd revision (GK208)||X86 GPU||2013||692||?||25||27.68||?|
|AMD Radeon HD 8970M||X86 GPU||2013||2304||144||100?||23||1.44|
|Nvidia Tesla K10||X86 GPU||2012||4577||190||225||20.34||?|
|ZiiLabs ZMS-40||ARM SoC||2012||58||N/A||?||20?||N/A|
|ARM + MALI T604||ARM SoC||2012||8 + 68||N/A||4?||19?||N/A|
|NVidia GTX 690||X86 GPU x 2||2012||5621||234?||300||18.74||0.78|
|Geforce GTX Titan||X86 GPU||2013||4500||1300||250||18||5.2|
|GeForce GTX 680||X86 GPU||2012||3090||128||195||15.85||0.65|
|AMD Radeon HD 7970 GHz||X86 GPU||2012||4300||1075||300+||14.3||3.58|
|Intel Xeon Phi 5110P||X87||2012||2022||1011||225||8.99||4.49|
|AMD A10-5800K + HD 7660D||X86 SoC||2012||121 + 614||?||100||7.35||?|
|Intel Core i7-3770 + HD4000||X86 SoC||2012||225 + 294,4||112 + 73.6||77||6.74||2.41|
|NVIDIA CARMA (complete board)||ARM + GPU||2012||? + 200||?||40||5.00||?|
|IBM Power A2||Power CPU||2012||204?||204||55||3.72?||3.72|
|Intel Core i7-3770||X86 CPU||2012||225||112||?||?||?|
|AMD A10-5800K||X86 CPU||2012||121||60?||?||?||?|
Beware that the list is updated, while this text is not!
The list contains recent and general available processors, but I will add any processor you want to see in the list – just request them in a comment.
Please also point me to sources where official data can be found on these processors, as it seems to be top-secret data. As not all the data was available, I had to make some guesses.
Below you find a graph of the list, including architectures grouped by GFLOPS + GFLOPS/Watt.
Below is a maybe more interesting view: Watt/GFLOPS. This projection has the advantage that low-power processors (< 2Watt) don’t get overrated and are closer together.
CPU vs GPU
Let’s be clear:
- A GPU needs a CPU as a host.
- A GPU is great in vector-computations, a CPU much better in scalar computations.
64 bit vs 32 bit
As the memory-usage is energy-consuming and results in half the number of data showing up at the processor, we have two reasons why more energy is consumed. Due to architecture-differences, CPUs have a penalty for 32 bit and GPUs a penalty for 64 bit.
Notice that most X86-alternatives have no 64 bit support, or just recently started with it. GPUs crunch double precision numbers at a fourth or less of the 32-bit performance-roof.
ARM, X86/X87, Power and Epiphany all have different architecture-choices to get their targeted trade-off between precision, power-consumption and performance-optimisation (control unit). These choices make it sometimes impossible to get with the pace of other architectures in a certain direction.
Current winner: Adapteva Epiphany
Their 64-core Epiphany-IV is programmable with OpenCL (buggy compiler though) and the 50 GFLOPS/Watt makes it worth to put time in porting software if you need a portable device. People who have ported their software to OpenCL already have an advantage here. Adapteva even claims 72 GFLOPS/Watt, as you can read here. With a 100-core CPU coming up, they will probably even raise the bar.
X86 CPUs have the advantage of precision and legacy code, of which precision is the biggest advantage. As X86 GPUs (with Nvidia on top) have a great performance/Watt entering the 20+ GFLOPS/Watt, this could be very interesting for defending the X86 market against ARM.
ARM-processors have a lot of software written for it (via Android) and is very flexible in design, while keeping power-usage for the CPU-part around 1Watt. For instance ZiiLabs’ processor can be compared to the design of Adapteva, but then with an ARM-CPU attached to it.
There is much more than just this number of GFLOPS/Watt, and which architecture will be mainstream architecture in a few years one can only speculate on. Luckily recompiling for other architectures is getting easier with compiler-technologies such as LLVM, so we don’t need to worry too much. Except to redesign our software for multi-core of course. You have read above that new architectures are programmed with OpenCL. It is better to invest in this technology now than later.
The LEAP-conference is all about exactly this subject. Meet StreamComputing at this very unique event on 21 May 2013.
As memory-access takes energy, minimising memory-calls can lower consumption. This article on the ARM blog explains how this is done with MALI GPUs.
The Mont Blanc project is a supercomputer based on ARM. This 12 page PDF shows some numbers and specifications of this supercomputer.
As supercomputers eat lots of power, The Green 500 tries to stimulate to build greener HPC.