Repository navigation
Releases: pantheongpu/pantheonsim
Releases · pantheongpu/pantheonsim
Release list
PantheonSim v0.2.0
Getting started
makeinstalls what is missing (it asks first) and builds;./runstarts a simulated GPU machine from a
settings file. The README is those two commands; the rest is indocs/getting-started.md,docs/config.md
anddocs/cli.md. The simulator uses half your CPUs unless you say otherwise.scripts/ci-setup.shdoes for GitLab CI, CircleCI, Forgejo, Jenkins and Buildkite what the GitHub Action does
(docs/ci-other-platforms.md).- Every document was checked against the code, and the profile counts, command lists, ROCm versions and
limitations were corrected. 48 profiles (38 NVIDIA, 10 AMD); 14 NVIDIA and 3 AMD are read from physical cards. CONTRIBUTING.md,CODE_OF_CONDUCT.md, issue templates (bug, something unsupported, a wrong GPU profile) and a
pull request template say how to send a change and what it needs.
Faster
- The SASS engine's pre-decoded tier is on by default; the AMD engine has a tier of its own, and matrix and
packed-math fast paths. Atomics, kernel launch and the first launch of a fatbin cost less. A second tier that
compiles hot straight-line code (VGPU_JIT=1) is available and off by default. Every fast path produces
the same bits as the path it replaces, and the old path stays available through the documentedVGPU_*
switches so the two can be compared (docs/cli.md). - Blocks that wait on one another (grid-wide spins, decoupled look-back) now run together, taking turns when
they cannot all be resident. This applies to SASS, PTX and AMD code.
NVIDIA
- New profile: RTX PRO 4500 (read from a card).
- CUPTI traces were compared with the real thing on 19 rented GPUs;
torch.profilertraces are checked against a
card in CI.VGPU_PLATFORM=linuxswitches CUPTI to the answers a Linux driver gives (the default iswsl,
nvidia/docs/cupti.md). - SASS: a cloned device function runs its own copy; a yielding warp rotates through its lane groups.
- LuisaCompute's CUDA backend runs (scalar
suld/sust,txq, the device runtime library incuLinkAddData);
cuTensorNet and cuda-samples fixes.
AMD
rocprofv3traces of small HIP programs match what it recorded on a real RX 6800 and RX 6700 XT.- gfx942 and gfx950 were swept against AMD's instruction guides; gfx90a images, kernel-to-host calls (hostcall),
PC sampling, the ROCm Validation Suite and vLLM graphs run (amd/README.md).
Known limits
- Functional only: there is no timing model, so a run on a physical GPU before shipping still counts.
- Programs must link the shared CUDA runtime (
nvcc -cudart shared); a statically linked runtime needs NVIDIA's
undocumented driver export tables (this is why CuPy does not work). - Nsight Systems and Nsight Compute as NVIDIA ships them, and OptiX, are not supported. See
docs/status.md.
PantheonSim v0.1.0
First tagged release of PantheonSim: simulated NVIDIA and AMD GPUs, so CUDA and HIP programs run unmodified on a machine with no GPU (development, teaching and CI).
Ways to use it
- GitHub Actions:
pantheongpu/setup-pantheonsim(@v0). - Container:
docker run --rm ghcr.io/pantheongpu/pantheonsim:0.1.0 vgpu list-gpus(CUDA 13.0 build;0.1.0-cuda12.8for CUDA 12.8). Seedocs/docker.md. - From source:
cmake -S . -B build -G Ninja && cmake --build build.
The simulator is functional, not cycle- or bit-accurate, so it complements testing on real hardware and does not replace it. NVIDIA's cuDNN headers are not part of this repository; the build downloads them from NVIDIA's nvidia-cudnn-cu12 wheel.