PantheonSim / GPUs / NVIDIA H100 80GB HBM3

Simulated NVIDIA H100 80GB HBM3: a GPU profile for CUDA and ROCm testing

PantheonSim, the GPU simulator for CUDA and ROCm, simulates the NVIDIA H100 80GB HBM3 (Hopper, 9.0) as the profile nvidia/h100. The H100 SXM5 80GB module, the Hopper data-center GPU for AI training and HPC on NVLink baseboards. 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 nvidia-smi show for it. They come from the profile file in the simulator's repository, pinned to one commit of it.

PropertyValue
Profile idnvidia/h100
Vendor and architectureNVIDIA, Hopper
Compute capability9.0
Device memory79.2 GiB, HBM
Streaming multiprocessors132
Warp size32
Max threads per multiprocessor2048
Shared memory per block (opt-in maximum)227 KiB
L2 cache50 MiB
Memory bus width5120-bit
Power limit (profile)700 W
Maximum clocks (profile)1980 MHz shader, 2619 MHz memory
ECC memoryyes
PCIe link reportedGen5 x16
NVLink reportedNVLink4 x18
Tensor or matrix coresyes
Verified (measured on a physical card)yes

What this GPU is for

The H100 SXM5 80GB module, the Hopper data-center GPU for AI training and HPC on NVLink baseboards.

Hopper is compute capability 9.0. The simulator implements Hopper's warpgroup matrix instructions (wgmma), the tensor memory accelerator (TMA), thread-block clusters with their barriers, and distributed shared memory, and checks them against CUTLASS and CuTe's own Hopper unit tests.

Among the 37 NVIDIA profiles it ranks 16th by device memory (79.2 GiB) and 12th by SMs (132), counting the largest as first.

Is this profile verified?

Yes. This profile is marked verified, which means its values were read from a physical NVIDIA H100 80GB HBM3 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:

nvcc -cudart shared -arch=compute_90 my_app.cu -o my_app
vgpu run --gpu nvidia/h100 ./my_app
vgpu shell -y --gpu nvidia/h100 --count 4
vgpu info --gpu nvidia/h100

This profile is compute capability 9.0. A kernel built for compute_75 runs on it and on every other NVIDIA profile; a kernel built for a newer architecture is refused by a profile that is older than it. Link the CUDA runtime shared (-cudart shared) so the simulator can stand in for it.

To use it every time, put gpu: nvidia/h100 in a pantheonsim.yaml settings file, or in a GitHub Actions job give the PantheonSim action gpu: nvidia/h100 (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 CUDA guide explains the rest.

Where the numbers come from

Each profile file begins with a note on its sources. This is the note for NVIDIA H100 80GB HBM3, as written in the file:

Source note for nvidia/h100

Measured on a physical H100 SXM5 80GB (Lambda gpu_1x_h100_sxm5) with nvidia/tools/characterize.cu. The thermal slowdown limit is not reported by nvidia-smi on this part, so temperature_max_c remains the documented value.

The GPU index lists every profile, and this one is measured on a physical card.

Other Hopper profiles: