As part of this evening’s AMD Capsaicin event (more on that later), AMD’s Chief Architect and SVP of the Radeon Technologies Group has announced a new Radeon Pro card unlike anything else. Dubbed the Radeon Pro Solid State Graphics (SSG), this card includes M.2 slots for adding NAND SSDs, with the goal of vastly increasing the amount of local storage available to the video card.

Details are a bit thin and I’ll update this later this evening, but in short the card utilizes a Polaris 10 Fiji GPU and includes 2 PCIe 3.0 M.2 slots for adding flash drives to the card. These slots are then attached to the GPU (it’s unclear if there’s a PCIe switch involved or if it’s wired directly), which the GPU can then use as an additional tier of storage. I’m told that the card can fit at least 1TB of NAND – likely limited by M.2 MLC SSD capacities – which massively increases the amount of local storage available on the card.

As AMD explains it, the purpose of going this route is to offer another solution to the workset size limitations of current professional graphics cards. Even AMD’s largest card currently tops out at 32GB, and while this is a fair amount, there are workloads that can use more. This is particular the case for workloads with massive datasets (oil & gas), or as AMD demonstrated, scrubbing through an 8K video file.

Current cards can spill over to system memory, and while the PCIe bus is fast, it’s still much slower than local memory, plus it is subject to the latency of the relatively long trip and waiting on the CPU to address requests. Local NAND storage, by comparison, offers much faster round trips, though on paper the bandwidth isn’t as good, so I’m curious to see just how it compares to the real world datasets that spill over to system memory.  Meanwhile actual memory management/usage/tiering is handled by a combination of the drivers and developer software, so developers will need to code specifically for it as things stand.

For the moment, AMD is treating the Radeon Pro SSG as a beta product, and will be selling developer kits for it directly., with full availability set for 2017. For now developers need to apply for a kit from AMD, and I’m told the first kits are available immediately. Interested developers will need to have saved up their pennies though: a dev kit will set you back $9,999.

Update:

Now that AMD’s presentation is over, we have a bit more information on the Radeon Pro SSG and how it works.

In terms of hardware, the Fiji based card is outfit with a PCIe bridge chip – the same PEX8747 bridge chip used on the Radeon Pro Duo, I’m told – with the bridge connecting the two PCIe x4 M.2 slots to the GPU, and allowing both cards to share the PCIe system connection. Architecturally the prototype card is essentially a PCIe SSD adapter and a video card on a single board, with no special connectivity in use beyond what the PCIe bridge chip provides.

The SSDs themselves are a pair of 512GB Samsung 950 Pros, which are about the fastest thing available on the market today. These SSDs are operating in RAID-0 (striped) mode to provide the maximum amount of bandwidth. Meanwhile it turns out that due to how the card is configured, the OS actually sees the SSD RAID-0 array as well, at least for the prototype design.

To use the SSDs, applications need to be programmed using AMD’s APIs to recognize the existence of the local storage and that it is “special,” being on the same board as the GPU itself. Ultimately the trick for application developers is directly streaming resources from  the SSDs treating it as a level of cache between the DRAM and system storage. The use of NAND in this manner does not fit into the traditional memory hierarchy very well, as while the SSDs are fast, on paper accessing system memory is faster still. But it should be faster than accessing system storage, even if it’s PCIe SSD storage elsewhere on the system. Similarly, don’t expect to see frame buffers spilling over to NAND any time soon. This is about getting large, mostly static resources closer to the GPU for more efficient resource streaming.

To showcase the potential benefits of this solution, AMD had an 8K video scrubbing demonstration going, comparing performance between using a source file on the SSG’s local SSDs, and using a source file on the system SSD (also a 950 Pro).

The performance differential was actually more than I expected; reading a file from the SSG SSD array was over 4GB/sec, while reading that same file from the system SSD was only averaging under 900MB/sec, which is lower than what we know 950 Pro can do in sequential reads. After putting some thought into it, I think AMD has hit upon the fact that most M.2 slots on motherboards are routed through the system chipset rather than being directly attached to the CPU. This not only adds another hop of latency, but it means crossing the relatively narrow DMI 3.0 (~PCIe 3.0 x4) link that is shared with everything else attached to the chipset.

Though by and large this is all at the proof of concept stage. The prototype, though impressive in some ways in its own right, is really just a means to get developers thinking about the idea and writing their applications to be aware of the local storage. And this includes not just what content to put on the SSG's SSDs, but also how to best exploit the non-volatile nature of its storage, and how to avoid unnecessary thrashing of the SSDs and burning valuable program/erase cycles. The SSG serves an interesting niche, albeit a limited one: scenarios where you have a large dataset and you are somewhat sensitive to latency and want to stay off of the PCIe bus, but don't need more than 4-5GB/sec of read bandwidth. So it'll be worth keeping an eye on this to see what developers can do with it.

In any case, while AMD is selling dev kits now, expect some significant changes by the time we see the retail hardware in 2017. Given the timeframe I expect we’ll be looking at much more powerful Vega cards, where the overall GPU performance will be much greater, and the difference in performance between memory/storage tiers is even more pronounced.

Source: AMD

Comments Locked

120 Comments

View All Comments

  • haukionkannel - Tuesday, July 26, 2016 - link

    That is exacly what I was thinking. Intells xpoint would be a perfect match to this technology!
    Very interesting to see real test with this system.
  • Atari2600 - Tuesday, July 26, 2016 - link

    Yep. Xpoint would work v.well.

    That or its a means to get the software infrastructure up and running for future higher-powered APUs, or for future HBM based cards that have large memory pools - and can benefit immediately/quicker from this branch of software development.
  • prisonerX - Tuesday, July 26, 2016 - link

    You're conveniently assuming that all those system paths are sitting there idle. If you have 1TB of data you need to feed the video card, you will be using (and filling) busses that are also being used for other things. The local M2 PCIe only acts as a point-to-point connection to the GPU and is guaranteed to be available. Not only is the latency much lower (since there is no contention) but it never changes. You need very little buffering since you're streaming all the data into the processing pipeline from a reliable source.

    Add to this the fact that since the on-card drives are private and persistent you can cache intermediate data instead of having to reprocess it. Again very useful for very large data sets.
  • bryanlarsen - Tuesday, July 26, 2016 - link

    This smells like a semi-custom part. I bet that an oil and gas company approached AMD and offered to underwrite R&D in exchange for a volume commitment and a support guarantee.
  • beginner99 - Tuesday, July 26, 2016 - link

    This actually makes sense in contrast to the product. I mean if you have such complex data sets, why would you run them on something as "slow" as a Polaris10 GPU?
  • Demiurge - Tuesday, July 26, 2016 - link

    The most insightful comment I've read thus far.
  • Communism - Tuesday, July 26, 2016 - link

    Sounds like a massive collusion deal between executives to siphon company funds tbh.

    This thing makes exactly zero sense.
  • Kjella - Tuesday, July 26, 2016 - link

    I think so too, I'm guessing someone wrote a very special piece of software for machines with lots of GPUs, lots of SSDs and found the bottleneck was PCIe bus contention. Then they approached AMD to make special accelerator cards, these cards have already paid for themselves. Now AMD is just testing the waters to see if there's other potential users.

    The dev kit price is just a hint, if you're even considering this you have a $100k+ engineer/IT specialist writing custom code and you've tapped out on COTS hardware already and you will need production hardware, support etc. and you'll probably make a custom million dollar deal with AMD about it. If you're not in that category, then this product is not for you.
  • asdacap - Tuesday, July 26, 2016 - link

    Did not see this coming, but in some sense its a good idea to have a secondary storage. The question is, why SSD? Why not some SO-DIMM slots? Not enough capacity?

    Also interesting to see that PCIe is actually a bottleneck... which is alleviate by nonvolatile memory?
  • tamalero - Tuesday, July 26, 2016 - link

    Pretty sure the answer is obvious. If they do sodimm memory only. It will be useless as storage.
    By using SSD, they can server as storage for the video card AND server as storage for normal every day usage.
    The first makes it very niche product. the second makes it more appealing for broader usages.

Log in

Don't have an account? Sign up now