View on GitHub ROCm_Logo

ROCm, a New Era in Open GPU Computing

Platform for GPU-Enabled HPC and Ultrascale Computing

Hardware to Play ROCm

Officially Supported GPUs

Because the ROCm Platform has a focus on particular computational domains, we offer official support for a selection of AMD GPUs that are designed to offer good performance and price in these domains. This section details the GPUs that ROCm Supports.

GFX8 GPUs

ROCm offers support for three chips from AMD’s “gfx8” generation of GPUs. Note that these GPUs all require a host CPU and platform with PCIe gen 3 with support for PCIe atomics. This is detailed further in the following section on CPU requirements.

GFX9 GPUs

ROCm offers support for one chip from AMD’s most recent “gfx9” generation of GPUs. By default, these GPUs require a host CPU and platform with PCIe gen 3 with support for PCIe atomics. This is detailed further in the following section on CPU requirements. However, as of ROCm 1.8, we have enabled a mode of operation that does not require PCIe atomics at the expense of lower performance. In ROCm 1.8.x, if you want to run any of these gfx9 GPUs on a system that does not support PCIe gen 3 with atomics, please set the environment variable HSA_ENABLE_SDMA=0. This is not required in ROCm 1.9.x.

GPUs that are enabled, but which AMD does not officially support

ROCm is a collection of software ranging from drivers and runtimes to libraries and developer tools. Some of this software may work with more GPUs than the “officially supported” list above, though AMD does not make any official claims of support for these devices on the ROCm software platform.

GFX7 GPUs

ROCm has code to enable one chip from AMD’s “gfx7” generation of GPUs. These GPUs do not require PCIe atomics.

GPUs that are known not to work with ROCm

As of ROCm 1.9, the following GPUs are known not to work with ROCm because the basic drivers required for ROCm, such as amdkfd do not include support for them.

The following GPU is known not to work with ROCm 1.9 and before because of a bug in the Thunk. Because of this runtime bug, the HCC compiler has chosen to disable compilation for this class of GPUs as well, and thus none of the ROCm libraries are built for this GPU.

The following APUs are not fully supported by the ROCm stack. They may work in the kernel driver and Thunk, but support for them is not enabled in our HCC compiler or libraries. In addition, because ROCm is currently focused on discrete GPUs, AMD does not make any claims of continued support in the ROCm stack for these integrated GPUs.

In addition, these APUs may have limited support in the kernel due to OEM & ODM decisions to not properly include CRAT tables in their system BIOS, or to allow the IOMMU to be enabled. As such, APU-based laptops, all-in-one systems, and desktop motherboards may not be properly detected by the ROCm drivers. You should check with your system vendor to see if these options are available before attempting to use an APU-based system with ROCm.

Supported CPUs

As described above, GFX8 and GFX9 GPUs require PCI Express 3.0 with PCIe atomics in the default ROCm configuration. The ROCm Platform leverages these advanced capabilities ( including PCIe atomic Fetch and Add, Compare and Swap, Unconditional Swap, AtomicOp Completion) to allow features such as user-level submission of work from the host to the GPU. To find out more; PCIe Atomics and Large Bar Overview

As such, by default ROCm requires that these GPUs be installed in PCIe slots with PCI Express 3.0 or higher capabilities with transfer rates of 8.0 GT/s in either x16 or x8 lanes. The system configuration can have the PCIe slots directly on CPU’s root port or a PCIe switch, but everything between the CPU and the GPU must support atomics. The CPU root must indicate PCIe AtomicOp Completion capabilities and any intermediate switch must indicate PCIe AtomicOp Routing capabilities.

PCIe root port must report and support

All PCIe switches between GPU End Point and Root Point must report and support

Note that the physical PCIe slot size does not guarantee support for ROCm. Some motherboards have physical x16 PCIe slots, but the PCIe connector is electrically connected as PCIe Express 2.0 to the southbridge. Since the PCIe slot connector matters to the GPU, care must be taken to not place them in on motherboards configured this way.

The ROCm kernel driver logs if ROCm capable GPUs are installed on system that does not support PCIe atomics.

Example text from kernel log:

kfd: skipped device 1002:7300, PCI rejects atomics
Current CPU which support PCIe Gen3 + PCIe Atomics are known to be supported:
Currently NOT supported

The following CPUs do not support PCIe gen 3 atomics, and as such are not supported ROCm host platforms for gfx8 GPUs. gfx9 GPUs may work with these platforms, though they may run slower due to the lack of PCIe atomics.

In addition, connecting gfx8 GPUs to the host through Thunderbolt 1 or Thunderbolt 2 adapters is not supported because these are based on PCIe gen 2.