Skip to content

Add an optional workflow that runs the CUDA tests on a simulated H100 - #18

Open
saqibkh wants to merge 1 commit into
UoB-HPC:mainfrom
saqibkh:add-gpu-sim-ci
Open

saqibkh wants to merge 1 commit into
UoB-HPC:mainfrom
saqibkh:add-gpu-sim-ci

Conversation

@saqibkh

@saqibkh saqibkh commented Nov 10, 2026

Copy link
Copy Markdown

The cuda row in linux.yml is built with skip_tests: true (and NVIDIA_VISIBLE_DEVICES: void), and the hosted runners have no GPU, so the ctest solution_* and cli_* cases are never run on the CUDA model. This adds a separate, optional workflow .github/workflows/gpu-sim.yml that builds the CUDA model and runs them on a simulated NVIDIA H100 using PantheonSim (no GPU needed). I am the author of PantheonSim, so please weigh this accordingly.

It does not touch any source file or linux.yml, and is not meant to be a required check. A simulator cannot reproduce hardware-specific behavior or timing, so it complements real-GPU testing and does not replace it.

What it does:

  • installs the CUDA 13.0 toolkit and the simulated H100
  • configures with -DMODEL=cuda -DCUDA_ARCH=compute_90 (PTX only, which the simulator runs) and -DCUDA_EXTRA_FLAGS="-cudart shared" (the simulator needs a shared CUDA runtime)
  • builds, then runs ctest under vgpu run
  • runs on manual dispatch and on pull requests to main that touch src/cuda/, driver/, tests/, cmake/, CMakeLists.txt, Benchmarks/tea_bm_1.in or tea.problems, with a concurrency group that cancels superseded runs

Measured:

  • Run on my fork: https://github.com/saqibkh/TeaLeaf/actions/runs/42746144933 . All 8 ctest tests passed (5 solution_* cases and 3 cli_* cases); the default 60 s timeout is enough.
  • The job took about 16 minutes, of which about 15.5 were the simulator and toolkit setup; configure and build took about 20 seconds and the tests about a second.
  • Only the small ctest decks (10x10 and 64x64 cells) are run, not the Benchmarks/ decks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant