Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 18 additions & 2 deletions .github/workflows/cuda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,24 @@ jobs:
nvidia-smi
source toolchain/install/setup
rm -rf build
cmake -B build -G Ninja -DUSE_CUDA=ON -DBUILD_TESTING=ON -DENABLE_FLOAT_FFTW=ON
cmake --build build -j4
# Pin the CUDA architecture to sm_70 (Tesla V100) instead of building
# for the default 7 architectures (60/70/75/80/86/89/90). The CI GPU
# pool is a homogeneous set of V100 pods (verified by sampling 5+
# runner IDs, all on the gpu-runner-6qqd8-* K8s deployment with
# identical test step timings across runs). Building for a single
# arch cuts nvcc work to ~1/7 and keeps the ccache key uniform so
# cache_warmer (#7756) can populate every runner with the same
# entries.
#
# NOTE: this is an explicit pin rather than auto-detection. On a
# cluster, configuring on a login node whose GPU differs from the
# compute node would silently produce a binary that fails with
# "no kernel image is available" at run time; HPC convention is to
# build on the compute node, where the workflow's hardcoded -D
# matches the actual hardware.
cmake -B build -G Ninja -DUSE_CUDA=ON -DBUILD_TESTING=ON -DENABLE_FLOAT_FFTW=ON \
-DCMAKE_CUDA_ARCHITECTURES=70
cmake --build build -j "$(nproc)"
cmake --install build

- name: Module_LCAO CUDA Unittests
Expand Down
Loading