Kaveri and Counting Cores

With the move towards highly integrated SoCs we've seen a variety of approaches to core counts. Apple, Intel and Qualcomm still count CPU cores when advertising an SoC. For Apple and Qualcomm that's partially because neither company is particularly fond of disclosing the configuration of their GPUs. More recently, NVIDIA took the somewhat insane stance of counting GPU CUDA cores on its Tegra K1 SoC. Motorola on the other hand opted for the bizarre choice of aggregating CPU, GPU and off-die companion processors with the X8 platform in its Moto X smartphone. Eventually we will have to find a way to characterize these highly integrated SoCs, particularly when the majority of applications actually depend on/leverage both CPU and GPU cores.

AMD finds itself in a unique position with Kaveri where it has a truly unified CPU/GPU architecture and needs to establish a new nomenclature for use in the future. With 47% of the Kaveri die dedicated for GPU use, and an architecture that treats both CPU and GPU as equals, I can understand AMD's desire to talk about the number of total cores on the APU.

AMD settled on the term "Compute Core", which can refer to either an x86 (or maybe eventually ARM) CPU core or a GCN compute unit. The breakdown is as follows:

  • Each thread on a CPU is a Compute Core
  • Each Compute Unit on the IGP is a Compute Core
  • Total Compute Cores = CPU Compute Cores + IGP Compute Cores

This means that the high end SKU, the A10-7850K will have a total of 12 compute cores: four from the CPU (two Steamroller modules supporting four threads) and eight from the IGP (due to eight compute units from the R7 graphics).

There are some qualifications to be made on this front. Technically, AMD is correct – each compute unit in the IGP and each thread on the CPU can run separate code. The Hawaii GCN architecture can spawn as many kernels as compute units, whereas a couple of generations ago we were restricted to one compute kernel on the GPU at once (merely with blocks of work being split across the CUs). However, clearly these 12 compute units are not equivalent: a programmer will still have to write code for the CPU and GPU specifically in order to use all the processing power available.

Whenever AMD (or partners) are to promote the new APUs, AMD tells us clearly that two sets of numbers should be quoted in reference to the Compute Cores – the total, and the breakdown of CPU/GPU on the APU. Thus this would mean that the A10-7850K APU would be marketed at a “12 Compute Core” device, with “(4 CPU + 8 GPU)” following immediately after. I applaud AMD's decision to not obfuscate the internal configuration of its APUs. This approach seems to be the most sensible if it wants to tout the total processing power of the APU as well as tell those users who understand a bit more what the actual configuration of the SoC is. The biggest issue is how to address the users who automatically assume that more cores == better. The root of this problem is very similar to the old PR-rating debates of the Athlon XP. Explaining to end users the intracacies of CPU/GPU programming is really no different than explaining why IPC * frequency matters more than absolute frequency.

When a programmer obtains an APU, the OpenCL profiler should locate the eight compute units of the GPU and display that to the user for offloading compute purposes; at the same time it is up to the programmer to leverage the threads as appropriately as possible, even with AMD’s 3rd generation Bulldozer modules implementing a dual-INT + single-FP solution.

At launch, AMD will offer the following configurations:

  • A10-7850K: 12 Compute Cores (4 CPU + 8 GPU)
  • A10-7700K: 10 Compute Cores (4 CPU + 6 GPU)
  • A8-7600: 10 Compute Cores (4 CPU + 6 GPU)

The problem with distilling the processing power of the APU into a number of compute cores is primarily on the CPU side. AMD will be keeping the GPU at approximately the same clock (720 MHz for these three) but the CPU frequency will differ greatly, especially with the A8-7600 which has configurable TDP and when in 45W mode will operate 300-400 MHz less.

Steamroller Architecture Redux

We've already documented much of what Steamroller brings to the table based on AMD's Hot Chips presentation last year, but I'll offer a quick recap here.

Steamroller brings forward AMD's Bulldozer architecture, largely unchanged. We're still talking about a dual-core module featuring two independent integer execution cores with a single shared floating point execution core capable of executing instructions from two threads in parallel. A single module still appears as two cores/threads to the OS.

In Bulldozer and Piledriver, each integer core had its own independent scheduler but the two cores shared a single fetch and decode unit. Instructions would come in and decodeded operations would be fed to each integer pipe on alternating clock cycles. In Steamroller the decode hardware is duplicated in each module, so now each integer core gets its own decode unit. The two decode units are shared by the one FP unit.

L1 instruction caches increase in size from 64KB to 96KB per module, which AMD claims reduces misses by up to 30%. There's an updated branch predictor which is responsible for reducing mispredicted branches by up to 20%. Both integer and FP register files grow in size as well as an increase in the size of the scheduling window, a combination of which increases the number of dispatches per thread by up to 25%.

There are huge improvements on the store side. Steamroller can now issue up to 2 stores at the same time compared to 1 in Bulldozer/Piledriver. The load/store queue sizes go up by around 20% as well. It's remarkable just how much low hanging fruit there was in the Bulldozer design.

GCN in an APU

The integrated graphics solution on Trinity/Richland launched with a Cayman-derived VLIW4 architecture, which unfortunately came just shortly after desktop side of the equation finished moving from VLIW5/VLIW4 to GCN. Having a product stack with largely different GPU architectures doesn't help anyone, particularly on the developer front. Looking forward, sticking with GCN was the appropriate thing to do, as now Kaveri is using GCN, the same architecture found in AMD’s high end R9-290X GPU, based on the Hawaii platform.

This enabled AMD to add in all the features they currently have on Hawaii with little to no effort – the TrueAudio DSP, the upgraded Video Coding Engine and Unified Video Decoder are such examples. Whether or not AMD decides to develop an APU with more than 8 GCN CUs is another matter. This is a point we've brought up with AMD internally and one that I'm curious about - do any AnandTech readers have an interest in an even higher end APU with substantially more graphics horsepower? Memory bandwidth obviously becomes an issue, but the real question is how valuable an Xbox One/PS4-like APU would be to the community.

Kaveri: Aiming for 1080p30 and Compute Llano, Trinity and Kaveri Die: Compared
Comments Locked

380 Comments

View All Comments

  • ImSpartacus - Thursday, January 16, 2014 - link

    "Whether or not AMD decides to develop an APU with more than 8 GCN CUs is another matter. This is a point we've brought up with AMD internally and one that I'm curious about - do any AnandTech readers have an interest in an even higher end APU with substantially more graphics horsepower? Memory bandwidth obviously becomes an issue, but the real question is how valuable an Xbox One/PS4-like APU would be to the community."

    I would love to see a massive APU with a Pitcairn-sized GPU. I wouldn't mind if it required a 130-150+W TDP.

    I love seeing machines like the 4770R-powered Brix Pro. Valve obviously likes it as well, because it became the Steam Box sent to developers.

    If I'm getting the performance of a ~$200 GPU, I'd happily pay $300 to get the CPU baked in. I'm hoping DDR4 will allow Intel or AMD to pursue this kind of market.
  • Haravikk - Friday, January 17, 2014 - link

    I'm really interested to find out what the dual graphics performance will be like now that AMD's APUs are much more up-to-date at long last.

    CrossFire using an APU and a discrete GPU has been entirely underwhelming thanks to how limited compatibility was, so much so that you are always better off fitting a better discrete GPU instead. The only case it remained interesting was for small form factors where the more limited range of low-profile cards (and less aggressive pricing) meant that compatible cards weren't always so far behind newer ones.

    But with GCN graphics, HSA and Mantle on the way, maybe we might finally see the benefit of pairing the two rather than just using a better pure CPU and discrete graphics. Of course, we could see some benefit already if more games used OpenCL for physics, since that at least would run quite well on an APU even if the discrete GPU still did all the heavy graphical work.
  • Klimax - Friday, January 17, 2014 - link

    Tests are very incomplete. Where are CPU+GPU results? AMD markets APU as total solution, so as such it should be tested. So far I have seen only Luxmark set of results on TechReport and when CPU+GPU was set, APU lost, because CPU part is sufficiently weak, that not even powerful GPU was able to save it.

    Also some OpenCL tests are not marked whether CPU+GPU or GPU-only, which can skew things badly.
  • eanazag - Friday, January 17, 2014 - link

    I think this article is good, but it deserves and needs some dings on it because it is on Anandtech. When we look at the benchmark section there is a disconnect between this article (the applications used for benchmarking) and the Bench portion of the website. I have enjoyed and trusted the bench methodologies used on this site over the years and find it a resource I come back to, to help me make purchasing and hardware decisions because of the bench. Over time I will find it difficult to compare findings without the bench. I have no problem with you updating the bench as what has been done with SSDs and GPUs. I just think this article overlooked what becomes the real value of what this site offers if you overlook the ongoing bench portion of this site. I looked in the bench and haven't really seen a whole lot of anything recent on AMD APUs in the bench. That's my first ding.

    I suspect that if Anand was excited about AMD's release and had reviewed this product we would have gotten a better appreciation of what Kaveri brings to the table. I got the message that the 45W part is a very good in its segment and may be something worth considering, but I did not get what is mentioned in the article. What's the reality of running Kaveri on 1080p? You gave us the high settings, but no one with any sense is going to settle for less than 12 fps. So what are the realistic settings that will give us 20/30+ fps (game depending) performance. What are we really able to work with. I understand Anand is busy and likely not excited about another AMD CPU product release. I get it; it is hard to get excited about desktop and higher wattage laptop parts for AMD because they have been lack luster & underwhelming year over year for so long. I think this product fits in more than just the 45W space, but I didn't get that answer. I am still wondering, which is not what I would normally get at Anandtech. Normally, I would be getting more than I expected from a review. That's my second ding.

    This next is a general ding about the bench. You guys do great work here. I am on here about every day. The bench could use some tweaking in relation to the CPU and GPU between laptop and desktop and to an extent mobile. I want to know how a mobile GPU/CPU matches up to a desktop variant. Sometimes I even want to know how they match up in mobile devices (tablets and phones). I have gotten some of that info from articles, but it is rough matching up that info in the mobile (laptop) bench. Sometimes I do want to look at specific laptop info, but most of the time I am just considering the guts of the device. I decide between the trade offs of desktops to laptops in applications. The information is here, but it is not easy to compare. This is an opportunity for improvement, especially given the nature of the changing technology landscape.

    This is an addendum to the bench issue. I'd like to compare server processors too. It seems to me like in some niches we might start seeing server parts fill over the places where those highend desktop parts were. I already see this in AMD. Intel is on the cusp of this also. This is something to consider. I'd also like to see some more enterprise items covered in general. AMD is selling ARM servers already? Where have I been? And there are ARM based linuxes available.

    Thanks for the great work and timely info.
  • HisDivineOrder - Saturday, January 18, 2014 - link

    "The point I am making with this heart-warming/wrenching family story is that the Kaveri APU is probably the ideal fit for what he needs. Strap him up with an A8-7600 and away he goes. It will be faster than anything he has used before, it will play his games as well as that new HD 6750, and when my grandmother wants to surf the web or edit some older images, she will not have to wait around for them to happen. It should all come in with a budget they would like as well."

    OR you could buy him a cheapo dual-core CPU from Intel plus a used mid-range card from a year or two ago.

    Far better performance for only a bit more. There is an argument forthese APU's in gaming and it's for those who want to game with something like a Gigabyte BRIX-sized computer that trades performance for size.

    Performance per dollar does not favor the APU simply because you can get so much more performance ignoring these APU's altogether.
  • NinuGie - Saturday, January 18, 2014 - link

    such wow much fail. until APU comes in desktop format there will always be better alternatives. i want to see an APU compact format and similar to what they did on PS4. shared fast RAM .until then,they suck. i mean this is so bad implemented. and they advertise it for gamers lol. even if you CF the apu with a supprted gpu ,a HD 7770 is better so no thank you
  • arthur42 - Sunday, January 19, 2014 - link

    The A10-6700T is in good supply in Europe; I'm running one for months now.
  • aidnr - Monday, January 20, 2014 - link

    I'm pretty impressed with what they've done here, it looks like it is pretty evenly matched with Intel's offering - http://versus.com/en/amd-a10-7850k-vs-intel-core-i...

    Will be interesting to see how widely adopted Mantle is, seems pretty nice.
  • samal90 - Monday, January 20, 2014 - link

    Can someone explain to me how come AMD is able to make an incredible APU capable of running games at almost 60fps on the new consoles but can't make a desktop APU to do so? Why can't they use the same architecture? Maybe I'm missing something...but I'm just wondering.
  • meacupla - Wednesday, January 22, 2014 - link

    Because PS4/XB1 is not limited to using FM2+ socket, because they use a much slower CPU portion in PS4/XB1 and because of thermal limits.

Log in

Don't have an account? Sign up now