Skip to content

Version 2.0.1

Latest

Choose a tag to compare

@JRPan JRPan released this 20 Oct 17:47
1c9cc83

Oct 20, 2026.

A maintenance release on top of 2.0.0: pre-collected traces move from the FTP server to
GitHub release assets, multi-GPU tracing, trace post-processing and parsing fixes, and a
reworked CI.

Requires the matching GPGPU-Sim: gpgpu-sim_distribution tag v2.0.1.

Pre-collected traces on GitHub releases

  • Traces are now published as assets of the code release they were validated with, starting
    with this one, so code and traces stay consistent. Each GPU / workload / argument set is one
    tar, split into parts under 2 GB, and manifest.json records the SHA-256 of every part and
    of the whole tar. The release also carries a README.md with download instructions.
  • The first set is the H200 ML suite: 20 argument sets of BERT, ResNet-50, DLRMv2,
    3D U-Net, RetinaNet, Whisper, SDXL, Llama 3.1 8B (inference and training), Qwen 2.5 7B,
    DeepSeek R1 and Mixtral 8x7B, traced with NVBit 1.8 as .tracez. Each argument set comes
    with its Nsight Compute stats, row-aligned with kernelslist.g. A few kernels that do not
    complete in simulation are left out of both.
  • get-accel-sim-traces.py is rewritten. It lists the available sets (-l), downloads a
    selection (-a H200/inference_bert.sh/32_256, with all at any level), checks every
    checksum, and extracts under hw_run/<GPU>/ in the standard layout, ready for
    run_simulations.py -T hw_run/<GPU>/traces/device-0/<cuda> and plot-correlation.py -H hw_run/<GPU>. The FTP download path
    and the pre-2.0 trace listing are removed.

Tracer

  • post-traces-processing decodes every lane's mbarrier address when dropping unused
    TRYWAITs (#564). It used to read only the first lane of base_stride / base_delta
    lines, so a TRYWAIT on an mbarrier reached only through another lane could be dropped
    and the kernel could deadlock (#561).
  • run_hw_trace.py traces on several GPUs at once: -D 0,1,2,3 (or all) runs one tracing
    worker per GPU, and --cpu_workers post-processing workers take traced apps from a queue
    (--queue_size), so no GPU sits idle during post-processing. -D 0 behaves as before (#570).

Trace parsing

  • Opening a .tracez file checks every fread, so a truncated file fails with an error
    instead of filling the thread-block index with garbage. This also removes the framework's
    remaining build warnings (#565).

Job launching

  • slurm.sim is back to the pre-2.0 template (#556).

CI

  • PRs run a smoke tier, every dev push runs correlated QV100 and H200 suites, and a
    single Weekly workflow replaces the Volta and Hopper weeklies, adding the H200 ML suite
    (#566).
  • Issue triage and PR review automation moved to purdue-aalp/github-ci, with Slurm
    cleanup and fork-aware fixes (#559).
  • CI also runs on pushes to the purdue-aalp forks (#569).
  • Every SASS CI run launches per kernel, as Slurm arrays at 10 GB, so one long kernel no
    longer serialises the rest of its application. The Weekly H200 ML job reads its traces
    from the static H200 CI depot.

GPGPU-Sim v2.0.1

  • Fixes 47 build warnings and two statistics that read uninitialized memory (#147).
  • PTX mode honours -gpgpu_ptx_force_max_capability when loading cuobjdump PTX, so fat
    binaries with sm_90a PTX (e.g. the GPU_Microbenchmark apps) load on older configs (#148).
  • CI picks its runner pool by repository visibility (#144); README badge cleanup (#146).