MIOpen: The Radeon Instinct Software Stack

While solid hardware is the necessary starting point for building a deep learning product platform, as AMD has learned the hard way over the years, it takes more than good hardware to break into the HPC market. Software is just as important as hardware (if not more so), as software developers want to get to as close to plug-and-play as possible. For this reason, frameworks and libraries that do a lot of the heavy lifting for developers are critical. Case in point, along with the Tesla hardware, the other secret ingredient in NVIDIA’s deep learning stable has been cuDNN and their other libraries, which have moved most of the effort of implementing deep learning systems off of software developers and on to NVIDIA. This is the kind of ecosystem AMD needs to be able to build for Radeon Instinct to crack the market.

The good news for AMD is that they’re already partially here with ROCm, which lays the groundwork for their software stack. They now have the low-level tools such as stable programming languages and good compilers to build further libraries and frameworks off of that. The Radeon Instinct software stack, then, is all about building on top of ROCm.

The cornerstone of AMD’s efforts here (and their answer to cuDNN) is MIOpen, a high performance deep learning library for Radeon Instinct. AMD’s performance slides should be taken with a suitably large grain of salt when it comes to competitive comparisons, but they none the less hammer the point home that the company has been focused on putting together a powerful library to support their cards. The library will be responsible for providing optimized routines for basic neural network functions such as convolution, normalization, and activation functions.

Meanwhile built on top of MIOpen will be updated versions of the major deep learning frameworks, including Caffe, Torch 7, and TensorFlow. It’s these common frameworks that deep learning applications are actually built against, and as a result AMD has been lending their support to the developers of these frameworks to get MIOpen/AMD optimized paths added to them. All of this can sound a bit mundane to outsiders, but its importance cannot be overstated; it’s the low-level work that is necessary for AMD to turn the Instinct hardware into a complete ecosystem.

Alongside their direct library and framework support, when it comes to the Instinct software stack, expect to see AMD once again hammer the benefits of being open source. AMD has staked the entire ROCm platform on this philosophy, so it’s to be expected. None the less it’s an interesting point of contrast to NVIDA’s largely closed ecosystem. AMD believes that deep learning developers are looking for a more open software stack than what NVIDIA has provided – that being closed has limited developers’ ability to make full use of NVIDIA’s platform – so this will be AMD’s opportunity to put that to the test.

Instinct Servers

Finally, along with creating a full hardware and software ecosystem for the Instinct product family, AMD also has their eye on the bigger picture, going beyond individual cards and out to servers and whole racks. As a manufacturer of both GPUs and CPUs, AMD is in a rare position to be able to offer a complete hardware platform, and as a result the company is keen to take advantage of the synergy between CPU and GPU to offer something that their rivals cannot.

The basis for this effort is AMD’s upcoming Naples platform, the server platform based on Zen. Besides offering a potentially massive performance increase over AMD’s now well-outdated Bulldozer server platform, Naples lets AMD flex their muscle in heterogeneous applications, tapping into their previous experience with HSA. This is a bit more forward looking – Naples doesn’t have an official launch date yet – but AMD is optimistic about their ability to own large-scale deployments, providing both the CPU and the GPUs in large deep learning installations.

Going a bit off the beaten path here, perhaps the most interesting aspect of Naples as it intersects with Radeon Instinct comes down to PCIe lanes. All signs point to Naples offering at least 64 PCIe lanes per CPU; this is an important metric because it means there are enough lanes to give up to 4 Instinct cards a full, dedicated PCIe x16 link to the host CPU and the other cards. Intel’s Xeon platform only offers 40 PCIe lanes, which means a quad-card configuration has to either sacrifice on bandwidth or latency, trading off between a mix of x8 and x16 slots, using two Xeon CPUs, or building in a high-end PCIe switch to route together 4 x16 slots. Ultimately for installations focusing on GPU-heavy workloads, this gives AMD a distinct advantage since it means they can drive 4 Instinct cards off of a single CPU, making it a cheaper option than the aforementioned Xeon configurations.

In any case, AMD has already lined up partners to show off Naples server configurations for the Radeon Instinct. SuperMicro and Inventec are both showcasing server/rack designs for anywhere between 3 and 120 Instinct MI25 cards. The largest systems will of course involve off-system networking and more complex networking fabrics, and while AMD isn’t saying too much on the subject at this time, it’s clear that they’re being mindful of what they need to support truly massive clusters of cards.

Closing Thoughts

Wrapping things up with today’s Radeon Instinct announcement, while today’s revelations are closer to a teaser than a fully fleshed out product announcement, it’s none the less clear that AMD is about to embark on their most aggressive move in the GPU server space since their first FireStream cards almost a decade ago. Making gains in the server space has long been one of the keys to AMD’s success, both for CPUs and GPUs, and with the Radeon Instinct hardware and overarching initiative, AMD has laid out a critical plan for how to get there.

Not that any of this will come easy for AMD. Breaking back into the server market is a recurring theme for them, and their struggles there are why it’s recurring. NVIDIA is already several steps ahead of AMD in the deep learning GPU market, so AMD needs to be quick to catch up. The good news for AMD here is that unlike the broader GPU server market, the deep learning market is still young, so AMD has the opportunity to act before anyone gets too entrenched. It’s still early enough in the game that AMD believes that if they can flip just a few large customers – the Googles and Facebooks of the world – that they can make up for lost time and capture a significant chunk of the deep learning market.

With that said, as the Radeon Instinct products are not set to ship until H1 of 2017, a lot can change, both inside and outside of AMD. The company has laid down what looks to be a solid plan, but now they need to show that they can follow-through on it, executing on both hardware and software on schedule, and handling the inevitable curveball. If they can do that, then the deep learning market may very well be that server GPU success that the company has spent much of the past decade looking for.

Radeon Instinct Hardware: Polaris, Fiji, Vega
POST A COMMENT

39 Comments

View All Comments

  • Yojimbo - Monday, December 12, 2016 - link

    Well AMD's biggest problem is the software stack. But that issue aside, only the MI25 looks promising to me. I'm not sure why we should be too confident in AMD's ability to get the ball rolling with machine learning when they've had HPC offerings all along and barely had success. Guess we gotta wait and see. Reply
  • Dribble - Tuesday, December 13, 2016 - link

    The way AMD does best right now is bidding for custom hardware for specific customers, combined with their willingness to accept lower margins then the opposition, so they win the deal. They can then do something general purpose based off that and sell some more, but the core funding is done by the big customer. See console deals, or apple gpu deal for examples.

    Because that customer knows exactly what they want and AMD are so cheap the customer does most of the software, AMD just provides hardware. That I suspect will be the real aim here - provide google/amazon/someone big with some cheap custom hardware.
    Reply
  • webdoctors - Tuesday, December 13, 2016 - link

    Considering how the AMD ARM server initiative crashed and burned, I think this is going to be a pretty rough uphill battle. It seems the company has all the internal knowledge to create an end to end solution with their own CPU/GPU/motherboard/interconnect for HPCs, but somehow are drastically falling short against Intel and Nvidia whenever its time to execute.

    The prices are going to have to be very competitive to get a foothold into this market, but this is a market that's also not as price conscious as the consumer segment, when you consider bad software or tools can lead to man-months wasted (which is easily $10 of thousands of dollars when discussing Silicon valley engineering salary time).

    Looks like 2017 should be interesting.
    Reply
  • TheinsanegamerN - Tuesday, December 13, 2016 - link

    It would help if they could deliver on time and on budget. They always seem to get products out months after they are supposed to. Reply
  • IntoGraphics - Wednesday, December 14, 2016 - link

    That's typical of AMD.
    Here I have a Gigabyte RX 480 8GB. And they haven't even got drivers for other Linux distros than Ubuntu and RHEL. (I'm on Arch Linux.) The drivers they have for Ubuntu and RHEL are buggy, and there is no Vulkan support and spotty OpenCL support.
    The Open Source drivers I'm using give me all kinds of artifacts and glitches in Blender as soon as its window is displayed. The Blender UI is constantly corrupted. I uninstalled.
    And now they are already busy with other cards.

    I'm also waiting for Zen to be released. To compare with what Intel has on offer. But it's highly unlikely that I'm going to stick into the meat grinder again.

    It's probably never ever AMD again.
    The current Linux driver situation is just unforgivable.
    The green camp introduced GTX 1060 1 month after RX 480 and they have Linux drivers for all Linux distros. Same old. Same old.
    Reply
  • IntoGraphics - Wednesday, December 14, 2016 - link

    "I'm going to stick into the meat grinder again." should be "I'm not going to stick my d.ck in the meat grinder again.". Reply
  • appsforsys - Saturday, December 17, 2016 - link

    Thank you for sharing your wonderful experience, I found it really very helpful and interesting.
    These tips are to be kept in mind for sure while writing.
    Good one!
    /
    Reply
  • IntoGraphics - Tuesday, January 3, 2017 - link

    I wish these incapable cu|\|ts would release stable, bug free and fast Linux drivers for Radeon RX for all Linux distros first. Motherfuckers, get your priorities right. Don't take money first and then ignore. Reply
  • IntoGraphics - Wednesday, January 4, 2017 - link

    Radeon Itstinks. Reply

Log in

Don't have an account? Sign up now