Cayman: The New Dawn of AMD GPU Computing

We’ve already covered how the shift from VLIW5 to VLIW4 is beneficial for AMD’s computing efforts: narrower SPUs are easier to fully utilize, FP64 performance improves to 1/4th FP32 performance, and the space savings give AMD room to lay down additional SIMDs to improve performance. But if Cayman is meant to be a serious effort by AMD to relaunch themselves in to the GPU computing market and to grab a piece of NVIDIA’s pie, it takes more than just new shaders to accomplish the task. Accordingly, AMD has been hard at work to round out the capabilities of their latest GPU to make it a threat for NVIDIA’s Fermi architecture.

AMD’s headline compute feature is called asynchronous dispatch, a long word that actually does a pretty good job of describing what it does. To touch back on Fermi for a moment, with Fermi NVIDIA introduced support for parallel kernels, giving Fermi the ability to execute multiple kernels at once. AMD in turn is following NVIDIA’s approach of executing multiple kernels at once, but is going to take it one step further.

The limit of NVIDIA’s design is that while Fermi can execute multiple kernels at once, each one must come from the same CPU thread. Independent threads/applications for example cannot issue their own kernels and have them execute in parallel, rather the GPU must context switch between them. With asynchronous dispatch AMD is going to allow independent threads/applications to issue kernels that execute in parallel. On paper at least, this would give AMD’s hardware a significant advantage in this scenario (context switching is expensive), one that would likely eclipse any overall performance advantages NVIDIA had.

Fundamentally asynchronous dispatch is achieved by having the GPU hide some information about its real state from applications and kernels, in essence leading to virtualization of GPU resources. As far as each kernel is concerned it’s running in its own GPU, with its own command queue and own virtual address space. This places more work on the GPU and drivers to manage this shared execution, but the payoff is that it’s better than context switching.

For the time being the catch for asynchronous dispatch is that it requires API support. As DirectCompute is a fixed standard this just isn’t happening – at least not with DirectCompute 11. Asynchronous dispatch will be exposed under OpenCL in the form of an extension.

Meanwhile the rest of AMD’s improvements are focusing on memory and cache performance. While the fundamental architecture is not changing, there are several minor changes here to improve compute performance. The Local Data Store attached to each SIMD is now able to bypass the cache hierarchy and Global Data Store by having memory fetches read directly in to the LDS. Meanwhile Cayman is getting a 2nd DMA engine, improving memory reads & writes by allowing Cayman to execute two at once in each direction.

Finally, read ops from shaders are being sped up a bit. Compared to Cypress, Cayman can coalesce them in to fewer operations.

As today’s launch is primarily about the Radeon HD 6900 series AMD isn’t going too much in depth on the compute side of things, so everything here is a fairly high level overview of the architecture. Once AMD has Firestream cards ready to go with Cayman in them, there will likely be more to talk about.

VLIW4: Finding the Balance Between TLP, ILP, and Everything Else Advancing Primitives: Dual Graphics Engines & New ROPs
Comments Locked

168 Comments

View All Comments

  • DoktorSleepless - Wednesday, December 15, 2010 - link

    What benchmark or game is used to measure noise?
  • Hrel - Wednesday, December 15, 2010 - link

    I'm not 100% but I believe they test it under Crysis. It was either that or a benchmark that put full load on the system. It was in an article in last year or 2, I've been reading so long it's all starting to mesh together; chronologically. But suffice it to say it stresses the system.
  • Hrel - Wednesday, December 15, 2010 - link

    It's furmark, it's in the article.
  • Adul - Wednesday, December 15, 2010 - link

    nice Christmas gift from the GF :D
  • AstroGuardian - Wednesday, December 15, 2010 - link

    I saw my GF buying a couple of those. One is supposed to be for me and she doesn't play games...... WTF?
  • MeanBruce - Wednesday, December 15, 2010 - link

    Wow, you are getting a couple of 6950s? All I am getting from my 22yo gf is a couple of size F yammos lying on a long narrow torso, and a single ASUS 6850. Don't know which I like better, hmmmmm. Wednesday morning comic relief.
  • Adul - Wednesday, December 15, 2010 - link

    damn sounds good to me :) enjoy both ;)
  • SirGCal - Wednesday, December 15, 2010 - link

    I'm happy to see these power values! I did expect a bit more performance but once I get one, I'll benchmark it myself. By then the drivers will likely have changed the situation. Now to get Santa my wish list... :-) If it was only that easy...
  • mac2j - Wednesday, December 15, 2010 - link

    One of the most impressive elements here is that you can get 2x6950 for ~$100 more than a single 580. That's some incredible performance for $600 which is not unheard of as the price point for a top single-slot card.

    Second... the scaling of the 6950 combined with the somwhat lower power consumption relative to the 570 bodes well for AMD with the 6990. My guess is they can deliver a top performing dual-GPU card with under a 425-watt TDP .... the 570 is a great single chip performer but getting it into a dual-gpu card under 450-500w is going to be a real challenge.

    Anyway exciting stuff all-around - there will be a lot of heavy-hitting GPU options available for really very fair prices....
  • StormyParis - Wednesday, December 15, 2010 - link

    It's nice to have all current cards listed, and helps determine which one to buy. My question, and the one people ask me, is rather "is it worth upgrading now". Which depends on a lot of things (CPU, RAM...), but, above all, on comparative perf between current cards and cards 1-2-3 generations out. I currently use a 4850. How much faster would a 6850 or 6950 be ?

Log in

Don't have an account? Sign up now