Skip to content

Commit 9f644c3

Browse files
authored
Merge pull request #94
Enable CI on ALPS at CSCS to run on GH200 GPUs
2 parents c1d6509 + 6c107cb commit 9f644c3

File tree

2 files changed

+49
-12
lines changed

2 files changed

+49
-12
lines changed

ci/cscs-gh200.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
include:
2+
- remote: 'https://gitlab.com/cscs-ci/recipes/-/raw/master/templates/v2/.ci-ext.yml'
3+
4+
unit_test:
5+
extends: .uenv-runner-daint-gh200
6+
image: julia/25.5:v1
7+
script:
8+
- export MPICH_GPU_SUPPORT_ENABLED=1
9+
- julia -e 'println("Instantiating project");
10+
using Pkg;
11+
Pkg.activate(pwd())'
12+
- julia -e 'println("Running tests");
13+
using Pkg;
14+
Pkg.activate(pwd());
15+
Pkg.test("Chmy"; test_args=["--backends=CUDA"])'
16+
variables:
17+
WITH_UENV_VIEW: 'juliaup'
18+
SLURM_JOB_NUM_NODES: 1
19+
SLURM_NTASKS_PER_NODE: 1
20+
SLURM_GPUS_PER_TASK: 1
21+
SLURM_TIMELIMIT: "00:15:00"
22+
23+
perf_test:
24+
extends: .baremetal-runner-daint-gh200
25+
script:
26+
- echo "Preparing the test environment (single rank)"
27+
- export MPICH_GPU_SUPPORT_ENABLED=1
28+
- srun -n 1 --uenv julia/25.5:v1 --view=juliaup julia --project=. -e 'using Pkg; Pkg.instantiate()'
29+
- srun -n 1 --uenv julia/25.5:v1 --view=juliaup julia --project=. -e 'using Pkg; Pkg.add("CUDA")'
30+
- echo "Running the reference test (multiple ranks)"
31+
- srun --uenv julia/25.5:v1 --view=juliaup julia --project=. examples/stokes_3d_inc_ve_T_mpi_perf.jl
32+
variables:
33+
SLURM_JOB_NUM_NODES: 2
34+
SLURM_NTASKS_PER_NODE: 4
35+
SLURM_GPUS_PER_TASK: 1
36+
SLURM_TIMELIMIT: "00:10:00"

examples/stokes_3d_inc_ve_T_mpi_perf.jl

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
using Chmy
22
using KernelAbstractions
33
using Printf
4-
using JSON
4+
# using JSON
55
# using CairoMakie
66

7-
using AMDGPU
8-
AMDGPU.allowscalar(false)
9-
# using CUDA
10-
# CUDA.allowscalar(false)
7+
# using AMDGPU
8+
# AMDGPU.allowscalar(false)
9+
using CUDA
10+
CUDA.allowscalar(false)
1111

1212
using MPI
1313
MPI.Init()
@@ -86,8 +86,8 @@ end
8686
end
8787

8888
@views function main(backend=CPU(); nxyz_l=(126, 126, 126))
89-
# arch = Arch(backend, MPI.COMM_WORLD, (0, 0, 0); device_id=1)
90-
arch = Arch(backend, MPI.COMM_WORLD, (0, 0, 0))
89+
arch = Arch(backend, MPI.COMM_WORLD, (0, 0, 0); device_id=1)
90+
# arch = Arch(backend, MPI.COMM_WORLD, (0, 0, 0))
9191
topo = topology(arch)
9292
me = global_rank(topo)
9393
# geometry
@@ -237,12 +237,13 @@ end
237237
return
238238
end
239239

240-
input = open(JSON.parse, joinpath(@__DIR__, "params.json"))
241-
params = NamedTuple(Symbol.(keys(input)) .=> values(input))
242-
res = params.res
243-
# res = 640
240+
# input = open(JSON.parse, joinpath(@__DIR__, "params.json"))
241+
# params = NamedTuple(Symbol.(keys(input)) .=> values(input))
242+
# res = params.res
243+
res = 512
244244

245-
main(ROCBackend(); nxyz_l=(res, res, res) .- 2)
245+
# main(ROCBackend(); nxyz_l=(res, res, res) .- 2)
246+
main(CUDABackend(); nxyz_l=(res, res, res) .- 2)
246247
# main(; nxyz_l=(254, 254, 254))
247248

248249
MPI.Finalize()

0 commit comments

Comments
 (0)