4444 test : ' '
4545 runner : ubuntu-24.04-arm
4646
47+ - base : ' bases:nvidia-nvc12'
48+ tag : ' nvidia-nvc12'
49+ arch : amd64
50+ platform : linux/amd64
51+ run_tests : false
52+ tag_suffix : ' -amd64'
53+ # Respect CUDA_VISIBLE_DEVICES set by the runner and hard-limit docker to that device.
54+ # (--gpus maps only the selected device from CUDA_VISIBLE_DEVICES)
55+ flag : --init --gpus "device=${CUDA_VISIBLE_DEVICES:-all}"
56+ test : ' tests/test_gpu_openacc.py tests/test_gpu_common.py'
57+ runner : ["self-hosted", "nvidiagpu"]
58+
59+ - base : ' bases:nvidia-nvc12'
60+ tag : ' nvidia-nvc12'
61+ arch : arm64
62+ platform : linux/arm64
63+ run_tests : false
64+ tag_suffix : ' -arm64'
65+ flag : --init --gpus "device=${CUDA_VISIBLE_DEVICES:-all}"
66+ test : ' '
67+ runner : ubuntu-24.04-arm
68+
4769 # Runtime gpu flags from https://hub.docker.com/r/rocm/tensorflow/
4870 - base : ' bases:amd'
4971 tag : ' amd'
87109
88110 steps :
89111 - name : Checkout devito
90- uses : actions/checkout@v5
112+ uses : actions/checkout@v6
91113
92114 - name : Set per‑runner variables
93115 run : |
@@ -127,9 +149,9 @@ jobs:
127149 type=raw,value=latest,enable=${{ matrix.base == 'bases:cpu-gcc' }},suffix=${{ matrix.tag_suffix }}
128150 type=semver,pattern={{raw}},prefix=${{ matrix.tag }}-,enable=${{ github.event_name == 'release' }},suffix=${{ matrix.tag_suffix }}
129151 # Legacy "gpu" tag
130- type=raw,value=gpu-dev,enable=${{ matrix.base == 'bases:nvidia-nvc' }},suffix=${{ matrix.tag_suffix }}
131- type=semver,pattern={{raw}},prefix=gpu-,enable=${{ github.event_name == 'release' && matrix.base == 'bases:nvidia-nvc' }},suffix=${{ matrix.tag_suffix }}
132- type=semver,pattern={{raw}},value=gpu-latest,enable=${{ github.event_name == 'release' && matrix.base == 'bases:nvidia-nvc' }},suffix=${{ matrix.tag_suffix }}
152+ type=raw,value=gpu-dev,enable=${{ contains( matrix.base, 'bases:nvidia-nvc') }},suffix=${{ matrix.tag_suffix }}
153+ type=semver,pattern={{raw}},prefix=gpu-,enable=${{ github.event_name == 'release' && contains( matrix.base, 'bases:nvidia-nvc') }},suffix=${{ matrix.tag_suffix }}
154+ type=semver,pattern={{raw}},value=gpu-latest,enable=${{ github.event_name == 'release' && contains( matrix.base, 'bases:nvidia-nvc') }},suffix=${{ matrix.tag_suffix }}
133155 # Legacy "cpu" tag
134156 type=raw,value=cpu-dev,enable=${{ matrix.base == 'bases:cpu-gcc' }},suffix=${{ matrix.tag_suffix }}
135157 type=semver,pattern={{raw}},prefix=cpu-,enable=${{ github.event_name == 'release' && matrix.base == 'bases:cpu-gcc' }},suffix=${{ matrix.tag_suffix }}
@@ -170,6 +192,9 @@ jobs:
170192 - tag : ' nvidia-nvc'
171193 base : ' bases:nvidia-nvc'
172194 arches : " amd64 arm64"
195+ - tag : ' nvidia-nvc12'
196+ base : ' bases:nvidia-nvc12'
197+ arches : " amd64 arm64"
173198 - tag : ' gcc'
174199 base : ' bases:cpu-gcc'
175200 arches : " amd64 arm64"
@@ -198,9 +223,9 @@ jobs:
198223 type=raw,value=latest,enable=${{ matrix.base == 'bases:cpu-gcc' }}
199224 type=semver,pattern={{raw}},prefix=${{ matrix.tag }}-,enable=${{ github.event_name == 'release' }}
200225 # Legacy "gpu" tag
201- type=raw,value=gpu-dev,enable=${{ matrix.base == 'bases:nvidia-nvc' }}
202- type=semver,pattern={{raw}},prefix=gpu-,enable=${{ github.event_name == 'release' && matrix.base == 'bases:nvidia-nvc' }}
203- type=semver,pattern={{raw}},value=gpu-latest,enable=${{ github.event_name == 'release' && matrix.base == 'bases:nvidia-nvc' }}
226+ type=raw,value=gpu-dev,enable=${{ contains( matrix.base, 'bases:nvidia-nvc') }}
227+ type=semver,pattern={{raw}},prefix=gpu-,enable=${{ github.event_name == 'release' && contains( matrix.base, 'bases:nvidia-nvc') }}
228+ type=semver,pattern={{raw}},value=gpu-latest,enable=${{ github.event_name == 'release' && contains( matrix.base, 'bases:nvidia-nvc') }}
204229 # Legacy "cpu" tag
205230 type=raw,value=cpu-dev,enable=${{ matrix.base == 'bases:cpu-gcc' }}
206231 type=semver,pattern={{raw}},prefix=cpu-,enable=${{ github.event_name == 'release' && matrix.base == 'bases:cpu-gcc' }}
@@ -215,7 +240,7 @@ jobs:
215240 echo "No tags generated, skipping"
216241 exit 0
217242 fi
218- for tag in $TAGS; do
243+ echo " $TAGS" | while read -r tag ; do
219244 refs=""
220245 for arch in $ARCHES; do
221246 refs="$refs devitocodes/devito:${tag}-${arch}"
@@ -239,6 +264,10 @@ jobs:
239264 flag : --init --gpus "device=${CUDA_VISIBLE_DEVICES:-all}"
240265 test : ' tests/test_gpu_openacc.py tests/test_gpu_common.py'
241266 runner : ["self-hosted", "nvidiagpu"]
267+ - tag : ' nvidia-nvc12'
268+ flag : --init --gpus "device=${CUDA_VISIBLE_DEVICES:-all}"
269+ test : ' tests/test_gpu_openacc.py tests/test_gpu_common.py'
270+ runner : ["self-hosted", "nvidiagpu"]
242271 - tag : ' gcc'
243272 flag : ' --init -t'
244273 test : ' tests/test_operator.py'
0 commit comments