Skip to content

Commit cde2198

Browse files
committed
merge petsc with main
2 parents 9451510 + 3e6c852 commit cde2198

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+1809
-572
lines changed

.github/workflows/asv.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232

3333
steps:
3434
- name: Checkout devito
35-
uses: actions/checkout@v5
35+
uses: actions/checkout@v6
3636

3737
- name: Set VIRTUAL_ENV
3838
run: |
@@ -57,7 +57,7 @@ jobs:
5757
asv run -v --show-stderr --config benchmarks/regression/asv.conf.json --cpu-affinity 0-7 --machine i7-6700K
5858
5959
- name: Checkout asv-results branch
60-
uses: actions/checkout@v5
60+
uses: actions/checkout@v6
6161
with:
6262
ref: asv-results
6363
clean: false

.github/workflows/docker-bases.yml

Lines changed: 28 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,16 @@ on:
1818
inputs:
1919
cpu:
2020
type: boolean
21-
default: false
21+
default: true
2222
nvidia:
2323
type: boolean
24-
default: false
24+
default: true
2525
amd:
2626
type: boolean
27-
default: false
27+
default: true
2828
intel:
2929
type: boolean
30-
default: false
30+
default: true
3131

3232
tags:
3333
description: "Build compiler bases"
@@ -60,7 +60,7 @@ jobs:
6060

6161
steps:
6262
- name: Checkout devito
63-
uses: actions/checkout@v5
63+
uses: actions/checkout@v6
6464

6565
- name: Check event name
6666
run: echo ${{ github.event_name }}
@@ -131,7 +131,7 @@ jobs:
131131

132132
steps:
133133
- name: Checkout devito
134-
uses: actions/checkout@v5
134+
uses: actions/checkout@v6
135135

136136
- name: Check event name
137137
run: echo ${{ github.event_name }}
@@ -190,6 +190,7 @@ jobs:
190190
strategy:
191191
matrix:
192192
arch: [amd64, arm64]
193+
cuda: ['12', '13']
193194
include:
194195
- arch: amd64
195196
platform: linux/amd64
@@ -199,10 +200,16 @@ jobs:
199200
- arch: arm64
200201
platform: linux/arm64
201202
runner: ubuntu-24.04-arm
203+
- cuda: '12'
204+
nvhpc_version: 'nvhpc-25-7'
205+
extra_tag: '12'
206+
- cuda: '13'
207+
nvhpc_version: 'nvhpc'
208+
extra_tag: ''
202209

203210
steps:
204211
- name: Checkout devito
205-
uses: actions/checkout@v5
212+
uses: actions/checkout@v6
206213

207214
- name: Check event name
208215
run: echo ${{ github.event_name }}
@@ -227,10 +234,12 @@ jobs:
227234
push: true
228235
target: "nvc"
229236
platforms: ${{ matrix.platform }}
230-
build-args: "arch=nvc"
237+
build-args: |
238+
arch=nvc
239+
ver=${{ matrix.nvhpc_version }}
231240
# Label (not tag) with runner name for traceability without changing image tags
232241
labels: builder-runner=${{ runner.name }}
233-
tags: "devitocodes/bases:nvidia-nvc-${{ matrix.arch }}"
242+
tags: "devitocodes/bases:nvidia-nvc${{ matrix.extra_tag }}-${{ matrix.arch }}"
234243

235244
- name: NVCC image
236245
uses: docker/build-push-action@v6
@@ -240,9 +249,11 @@ jobs:
240249
push: true
241250
target: "nvcc"
242251
platforms: ${{ matrix.platform }}
243-
build-args: "arch=nvcc"
252+
build-args: |
253+
arch=nvcc
254+
ver=${{ matrix.nvhpc_version }}
244255
labels: builder-runner=${{ runner.name }}
245-
tags: "devitocodes/bases:nvidia-nvcc-${{ matrix.arch }}"
256+
tags: "devitocodes/bases:nvidia-nvcc${{ matrix.extra_tag }}-${{ matrix.arch }}"
246257

247258
- name: NVC host image
248259
uses: docker/build-push-action@v6
@@ -252,9 +263,11 @@ jobs:
252263
push: true
253264
target: "nvc-host"
254265
platforms: ${{ matrix.platform }}
255-
build-args: "arch=nvc-host"
266+
build-args: |
267+
arch=nvc-host
268+
ver=${{ matrix.nvhpc_version }}
256269
labels: builder-runner=${{ runner.name }}
257-
tags: "devitocodes/bases:cpu-nvc-${{ matrix.arch }}"
270+
tags: "devitocodes/bases:cpu-nvc${{ matrix.extra_tag }}-${{ matrix.arch }}"
258271

259272
deploy-nvidia-bases-manifest:
260273
if: inputs.nvidia
@@ -266,7 +279,7 @@ jobs:
266279

267280
strategy:
268281
matrix:
269-
final_tag: [nvidia-nvc, nvidia-nvcc, cpu-nvc]
282+
final_tag: [nvidia-nvc, nvidia-nvcc, cpu-nvc, nvidia-nvc12, nvidia-nvcc12, cpu-nvc12]
270283

271284
steps:
272285
- name: Set up Docker Buildx
@@ -300,7 +313,7 @@ jobs:
300313

301314
steps:
302315
- name: Checkout devito
303-
uses: actions/checkout@v5
316+
uses: actions/checkout@v6
304317

305318
- name: Check event name
306319
run: echo ${{ github.event_name }}

.github/workflows/docker-devito.yml

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,28 @@ jobs:
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'
@@ -87,7 +109,7 @@ jobs:
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'

.github/workflows/examples-mpi.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050

5151
steps:
5252
- name: Checkout devito
53-
uses: actions/checkout@v5
53+
uses: actions/checkout@v6
5454

5555
- name: Set up Python
5656
uses: actions/setup-python@v6

.github/workflows/examples.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ jobs:
3939

4040
steps:
4141
- name: Checkout devito
42-
uses: actions/checkout@v5
42+
uses: actions/checkout@v6
4343

4444
- name: Checkout data
45-
uses: actions/checkout@v5
45+
uses: actions/checkout@v6
4646
with:
4747
repository: 'devitocodes/data'
4848
path: 'data'

.github/workflows/flake8.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
runs-on: ubuntu-latest
2626

2727
steps:
28-
- uses: actions/checkout@v5
28+
- uses: actions/checkout@v6
2929
- name: Set up Python 3.10
3030
uses: actions/setup-python@v6
3131
with:

.github/workflows/pytest-core-mpi.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,8 @@ jobs:
2929

3030
env:
3131
DEVITO_LANGUAGE: "openmp"
32-
DEVITO_ARCH: "gcc-9"
32+
DEVITO_ARCH: "gcc"
3333
OMP_NUM_THREADS: "1"
34-
CC: "gcc-9"
35-
CXX: "g++-9"
3634
RDMAV_FORK_SAFE: 1
3735

3836
steps:
@@ -41,7 +39,7 @@ jobs:
4139
python-version: ${{ matrix.python-version }}
4240

4341
- name: Checkout devito
44-
uses: actions/checkout@v5
42+
uses: actions/checkout@v6
4543

4644
- name: Install dependencies
4745
run: |
@@ -91,7 +89,7 @@ jobs:
9189

9290
steps:
9391
- name: Checkout devito
94-
uses: actions/checkout@v5
92+
uses: actions/checkout@v6
9593

9694
- name: Build docker image
9795
run: |

.github/workflows/pytest-core-nompi.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ jobs:
138138

139139
steps:
140140
- name: Checkout devito
141-
uses: actions/checkout@v5
141+
uses: actions/checkout@v6
142142

143143
- name: Set up Python ${{ matrix.python-version }}
144144
if: "!contains(matrix.name, 'docker')"

.github/workflows/pytest-gpu.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
# -------------------- NVIDIA job --------------------
4848
- name: pytest-gpu-acc-nvidia
4949
test_files: "tests/test_adjoint.py tests/test_gpu_common.py tests/test_gpu_openacc.py tests/test_operator.py::TestEstimateMemory"
50-
base: "devitocodes/bases:nvidia-nvc"
50+
base: "devitocodes/bases:nvidia-nvc12"
5151
runner_label: nvidiagpu
5252
test_drive_cmd: "nvidia-smi"
5353
# Respect CUDA_VISIBLE_DEVICES and also hard-limit Docker to that device.
@@ -75,7 +75,7 @@ jobs:
7575
7676
steps:
7777
- name: Checkout devito
78-
uses: actions/checkout@v5
78+
uses: actions/checkout@v6
7979

8080
- name: Set per-runner tags
8181
run: |

.github/workflows/pythonpublish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
deploy:
1212
runs-on: ubuntu-latest
1313
steps:
14-
- uses: actions/checkout@v5
14+
- uses: actions/checkout@v6
1515
- name: Set up Python
1616
uses: actions/setup-python@v6
1717
with:

0 commit comments

Comments
 (0)