PantheonSim / GPUs / NVIDIA L40S
Simulated NVIDIA L40S: a GPU profile for CUDA and ROCm testing
PantheonSim, the GPU simulator for CUDA and ROCm, simulates the NVIDIA L40S (Ada Lovelace, 8.9) as the profile nvidia/l40s.
A 48 GB Ada Lovelace data-center GPU for AI inference, fine-tuning and graphics. 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.
| Property | Value |
|---|---|
| Profile id | nvidia/l40s |
| Vendor and architecture | NVIDIA, Ada Lovelace |
| Compute capability | 8.9 |
| Device memory | 44.4 GiB, GDDR |
| Streaming multiprocessors | 142 |
| Warp size | 32 |
| Max threads per multiprocessor | 1536 |
| Shared memory per block (opt-in maximum) | 99 KiB |
| L2 cache | 96 MiB |
| Memory bus width | 384-bit |
| Power limit (profile) | 350 W |
| Maximum clocks (profile) | 2520 MHz shader, 9001 MHz memory |
| ECC memory | yes |
| PCIe link reported | Gen4 x8 |
| Tensor or matrix cores | yes |
| Verified (measured on a physical card) | yes |
What this GPU is for
A 48 GB Ada Lovelace data-center GPU for AI inference, fine-tuning and graphics.
Ada Lovelace is compute capability 8.9. The L4 and L40S profiles were read from physical cards on AWS g6 and g6e instances, and the other Ada profiles are built from public documents.
Among the 37 NVIDIA profiles it ranks 22nd by device memory (44.4 GiB) and 9th by SMs (142), 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 L40S 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_89 my_app.cu -o my_app vgpu run --gpu nvidia/l40s ./my_app vgpu shell -y --gpu nvidia/l40s --count 4 vgpu info --gpu nvidia/l40s
This profile is compute capability 8.9. 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/l40s in a pantheonsim.yaml settings file, or in a GitHub Actions job give the PantheonSim action gpu: nvidia/l40s (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 L40S, as written in the file:
Source note for nvidia/l40s
Generated by nvidia/tools/characterize.cu from a physical device. Every value below was read from the hardware, not a datasheet.
The GPU index lists every profile, and this one is measured on a physical card.
Related GPUs
Other Ada Lovelace profiles: