PantheonSim / GPUs / AMD Radeon RX 6700 XT
Simulated AMD Radeon RX 6700 XT: a GPU profile for CUDA and ROCm testing
PantheonSim, the GPU simulator for CUDA and ROCm, simulates the AMD Radeon RX 6700 XT (RDNA 2, gfx1031) as the profile amd/rx6700xt.
A Radeon RX 6700 XT (Navi 22, 40 compute units, 12 GiB of GDDR6), read from a physical card. Its profile is verified, which means it was read from a physical card.
The profile at a glance
These are the numbers a program can ask this simulated GPU, and the values rocm-smi and amd-smi show for it. They come from the profile file in the simulator's repository, pinned to one commit of it.
| Property | Value |
|---|---|
| Profile id | amd/rx6700xt |
| Vendor and architecture | AMD, RDNA 2 |
| GPU target | gfx1031 |
| Device memory | 12.0 GiB, GDDR |
| Multiprocessors (as HIP reports them) | 20 |
| Wavefront size | 32 |
| Max threads per multiprocessor | 2048 |
| Shared memory per block (opt-in maximum) | 64 KiB |
| L2 cache | 3 MiB |
| Power limit (profile) | 186 W |
| Maximum clocks (profile) | 2855 MHz shader, 2000 MHz memory |
| ECC memory | no |
| PCIe link reported | Gen4 x16 |
| Tensor or matrix cores | no |
| Verified (measured on a physical card) | yes |
What this GPU is for
A Radeon RX 6700 XT (Navi 22, 40 compute units, 12 GiB of GDDR6), read from a physical card.
RDNA 2 is the Radeon RX 6000 generation, gfx1030 and gfx1031. Kernels run 32 lanes to a wave, and there are no matrix instructions, so PyTorch's matrix products run on the vector units.
Among the 10 AMD profiles it ranks 10th by device memory (12.0 GiB) and 10th by multiprocessors as HIP counts them (20), counting the largest as first.
Is this profile verified?
Yes. This profile is marked verified, which means its values were read from a physical AMD Radeon RX 6700 XT by the simulator's characterization tools, not copied from a data sheet. Verified describes the profile's numbers: it says nothing about speed, because the simulator has no timing model.
Simulate this GPU
Build the simulator (see the docs) or open the playground, then:
hipcc --offload-arch=gfx1031 my_app.hip -o my_app vgpu run --gpu amd/rx6700xt ./my_app vgpu shell -y --gpu amd/rx6700xt --count 4 --rocm 7.1.0 vgpu info --gpu amd/rx6700xt
Build for this card's own gfx target, gfx1031. A program built for another target is refused by name, as the real runtime refuses it, and hipErrorNoBinaryForGpu means exactly this.
Libraries that ship code for gfx1030 only, PyTorch's ROCm wheels among them, load on this card when you set HSA_OVERRIDE_GFX_VERSION=10.3.0. The simulated card then reports itself as gfx1030, as ROCm's runtime does; other values are ignored.
To use it every time, put gpu: amd/rx6700xt in a pantheonsim.yaml settings file, or in a GitHub Actions job give the PantheonSim action gpu: amd/rx6700xt (see CUDA and HIP tests in GitHub Actions). The simulator checks behaviour and has no timing model, so a run on a physical GPU before a release still counts. The ROCm and HIP guide explains the rest.
Where the numbers come from
Each profile file begins with a note on its sources. This is the note for AMD Radeon RX 6700 XT, as written in the file:
Source note for amd/rx6700xt
Read from a card (2026-10-09, ROCm 7.2.0, amdgpu on Linux 7.0): rocminfo, HIP's device properties (amd/tools/characterize-hip.cpp), amd-smi, rocm-smi, lspci and the KFD topology, kept in amd/registers/measurements/rx6700xt/. So verified: true. What no tool reports (the per-multiprocessor block limit) is the RX 6900 XT profile's. gfx1031 (RDNA2, Navi 22): the same instruction set as gfx1030 on a smaller die, with 40 compute units, a 192-bit bus and 96 MB of Infinity Cache. Kernels run 32 lanes to a wave, and it has no matrix instructions, so PyTorch's matrix products run on its vector units. HIP counts its compute units in pairs (workgroup processors): 20 of the card's 40.
The GPU index lists every profile, and this one is measured on a physical card.
Related GPUs
Other RDNA 2 profiles: