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.

PropertyValue
Profile idamd/rx6700xt
Vendor and architectureAMD, RDNA 2
GPU targetgfx1031
Device memory12.0 GiB, GDDR
Multiprocessors (as HIP reports them)20
Wavefront size32
Max threads per multiprocessor2048
Shared memory per block (opt-in maximum)64 KiB
L2 cache3 MiB
Power limit (profile)186 W
Maximum clocks (profile)2855 MHz shader, 2000 MHz memory
ECC memoryno
PCIe link reportedGen4 x16
Tensor or matrix coresno
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.

Other RDNA 2 profiles: