Floating point peak performance of Kaveri and other recent AMD and Intel chipsby Rahul Garg on January 22, 2014 8:30 AM EST
With the launch of Kaveri, some people have been wondering if the platform is suitable for HPC applications. Floating point peak performance of the CPU and GPU on both fp32 and fp64 datatypes is one of the considerations. At launch time, we were not clear on the fp64 performance of Kaveri's GPU but now we have official confirmation from AMD that it is 1/16th the rate of fp32 (similar to most GCN based GPUs except the flagships) and we have verified this on our 7850K by running FlopsCL.
I am taking this opportunity to summarize the info about Kaveri, Trinity, Llano and Intel's competing platforms Haswell and Ivy Bridge on both the CPU and GPU side. We provide a per-cycle estimate for the chips as well as peak calculated in gflops. The estimates are chip-wide, i.e. already take into account the number of cores or modules. Due to turbo boost, it was difficult to decide what frequency to use for peak calculations. For CPUs, we are using the base frequency and for GPUs we are using the boost frequency because in multithreaded and/or heterogeneous scenarios the CPU is less likely to turbo. In any case, we believe our readers are smart enough to calculate peaks at any frequency they want, given that we already supply per-cycle peaks :)
The peak CPU performance will depend on the SIMD ISA that your code was written and compiled for. We consider three cases: SSE, AVX (without FMA) and AVX with FMA (either FMA3 or FMA4).
|CPU frequency||3.7 GHz||3.8 GHz||3.0GHz||3.5GHz||3.5GHz|
|SSE fp32 (/cycle)||16||16||32||32||32|
|SSE fp64 (/cycle)||8||8||16||16||16|
|AVX fp32 (/cycle)||16||16||-||64||64|
|AVX fp64 (/cycle)||8||8||-||32||32|
|AVX FMA fp32 (/cycle)||32||32||-||128||-|
|AVX FMA fp64 (/cycle)||16||16||-||64||-|
|SSE fp32 (gflops)||59.2||60.8||96||112||112|
|SSE fp64 (gflops)||29.6||30.4||48||56||56|
|AVX fp32 (gflops)||59.2||60.8||-||224||224|
|AVX fp64 (gflops)||29.6||30.4||-||112||112|
|AVX FMA fp32 (gflops)||118.4||121.6||-||448||-|
|AVX FMA fp64 (gflops)||59.2||60.8||-||224||-|
It is no secret that AMD's Bulldozer family cores (Steamroller in Kaveri and Piledriver in Trinity) are no match for recent Intel cores in FP performance due to the shared FP unit in each module. As a comparison point, one core in Haswell has the same floating point performance per cycle as two modules (or four cores) in Steamroller.
Now onto GPU peaks. Here, for Haswell, we chose to include both GT2 and GT3e variants.
|Platform||Kaveri||Trinity||Llano||Haswell GT3e||Haswell GT2||Ivy Bridge|
|GPU frequency||720 MHz||800 MHz||600 MHz||1.3 GHz||1.25 GHz||1.15 GHz|
fp64 gflops (OpenCL)
fp64 gflops (Direct3D)
The fp64 support situation is a bit of a mess because some GPUs only support fp64 under some APIs. The fp64 rate of Intel's GPUs does not appear to be published but David Kanter provides an estimate of 1/4 speed compared to fp32. However Intel only enables fp64 under DirectCompute but does not enable fp64 under OpenCL for any of its GPUs.
Situation on AMD's Trinity/Richland is even more complicated. fp64 support under OpenCL is not standards-compliant and depends upon using a proprietary extension (cl_amd_fp64). Trinity/Richland do not appear to support fp64 under DirectCompute (and MS C++ AMP implementation) from what I can tell. From an API standapoint, Kaveri's GCN GPUs should work fine on for fp64 under all APIs.
Some of you might be wondering whether Kaveri is good for HPC applications. Compared to discrete GPUs, applications that are already ported and work well on discrete GPUs will continue to be best run on discrete GPUs. However, Kaveri and HSA will enable many more applications to be GPU accelerated.
Now we compare Kaveri against Haswell. In applications depending upon fp64 performance, conditions are not generally favorable to Kaveri. Kaveri's fp64 peak including both the CPU and GPU is only about 110 gflops. You will generally be better off first optimizing your code for AVX and FMA instructions and running on Haswell's CPU cores. If you are using Windows 8, you might also want to explore using Iris Pro through C++ AMP in conjunction with the CPU. Overall I doubt we will see Kaveri being used for fp64 workloads.
For heterogeneous fp32 applications, Kaveri should outperform Haswell GT2 and Ivy Bridge. Haswell GT3e will again be a strong contender on Windows given the extremely capable Haswell CPU cores and Iris Pro graphics. Intel's GPUs do not currently support OpenCL under Linux, but a driver is being worked on. Thus, on Linux, Kaveri will simply win out on fp32 heterogeneous applications. However, even on Windows Haswell GT3e will get strong competiton from Kaveri. While AMD has advantages such as excellent GCN architecture and HSA software stack (when ready) enabling many more applications to take advantage of GPU, Iris Pro will have the eDRAM to potentially provide much improved bandwidth and the backing of strong CPU cores.
I hope I have provided a fair overview of the FP capabilities of each platform. Application performance will of course depend on many more factors. Your questions and comments are welcome.
Post Your CommentPlease log in or sign up to comment.
View All Comments
MrSpadge - Wednesday, January 22, 2014 - linkThe question the article tries to answer, theoretically, is "how capable is Kaveri for raw number crunching compared to several alternatives". And that's exactly what this could have to do with HPC.. if the numbers were better. At DP with 1/16th SP I don't think Kaveri is going anywhere in classic HPC. Could be used in special SP applications with HSA, though.
aruisdante - Wednesday, January 22, 2014 - linkYes and no. There are plenty of places such as in academia where you might have computers in rack-mounts without room for dedicated GPU, but are doing HPC-like workloads.
I agree that the use-case range is small, but that was kind of the conclusion of the article. Even with a (relatively speaking) beefy semi-discrete GPU in it, Kavari still falls short of the performance you can get out of the Haswells with Iris Pro.
MySchizoBuddy - Wednesday, January 22, 2014 - linkyou cannot use iris pro for opencl
JarredWalton - Wednesday, January 22, 2014 - linkYet.
BMNify - Wednesday, January 22, 2014 - linkyou cant ?
rahulgarg - Wednesday, January 22, 2014 - linkIris Pro has an OpenCL driver for Windows.
nafhan - Wednesday, January 22, 2014 - link1. Intel's top iGPU vs. AMD's - seems reasonable to me.
2. As you've shown, people who actually buy these things are aware of the price disparity.
BMNify - Wednesday, January 22, 2014 - linkoc apart from this being an architectural comparison these kaveri are the best amd officially make for the desktop as are the i7's from Intel, you simply cant buy anything better from AMD for the desktop, if they are not making what you the end consumer want to buy, then no sale=no profit for them this time alround.
Death666Angel - Wednesday, January 22, 2014 - linkKaveri are still only the best AMD APUs. A 2 module APU does not translate to the best AMD has to offer for the desktop, FX processors are still much better if you are going to get a dedicated GPU. You wouldn't call the i7 4770K the best Intel has to offer, would you? There is a whole range of 2011 socket CPUs.
nathanddrews - Wednesday, January 22, 2014 - linkIs there any indication that GT3e will trickle down to non-H/R Haswell CPUs? Or that Broadwell will expand GT3e technology (in some form) to the rest of the Intel lineup? As of right now, GT3e may as well be vaporware as you can only get it in expensive, limited configurations. Kaveri spans the whole AMD product line at significantly lower cost, but then gets its butt kicked by similarly-priced Intel+dGPU setups. I would really like it if GT3e gets a lot cheaper and more widespread while Kaveri gets a lot more potent.
Wake me up in two years.