You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds comprehensive ARM64 (AWS Graviton, Apple Silicon) testing and
Docker support using GitHub's free ARM64 runners with native compilation.
CI Testing (Native ARM64):
- Add 2 ARM64 configs to pytest-core-nompi (gcc-13, gcc-14 with OpenMP)
- Add ARM64 Docker test to pytest-core-mpi
- Tests run natively on ubuntu-24.04-arm runners
- Covers base and adjoint test sets on ARM64
Docker Base Images (Native Builds):
- Separate jobs for native compilation on each platform:
- deploy-gcc-amd64-bases: ubuntu-24.04 → linux/amd64
- deploy-gcc-arm64-bases: ubuntu-24.04-arm → linux/arm64
- Single Dockerfile.cpu builds both architectures (no duplication)
- Tags: cpu-gcc (x86_64) and arm64-gcc (ARM64) for backwards compatibility
- Builds OpenMPI 5.0.x from source for GCC 14 compatibility
Tweak
Copy file name to clipboardExpand all lines: docker/README.md
+37-4Lines changed: 37 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,11 +8,12 @@ Devito provides several images that target different architectures and compilers
8
8
9
9
### [Devito] on CPU
10
10
11
-
We provide two CPU images:
12
-
-`devito:gcc-*` with the standard GNU gcc compiler.
13
-
-`devito:icx-*` with the Intel C compiler for Intel architectures.
11
+
We provide CPU images for different architectures and compilers:
12
+
-`devito:gcc-*` with the standard GNU gcc compiler (x86_64).
13
+
-`devito:icx-*` with the Intel C compiler for Intel architectures (x86_64).
14
+
-`devito:arm64-gcc-*` with the standard GNU gcc compiler for ARM64 architectures (AWS Graviton, Apple Silicon, etc.).
14
15
15
-
These images provide a working environment for any CPU architecture and come with [Devito], `gcc/icx` and `mpi` preinstalled, and utilities such as `jupyter` for usability and exploration of the package.
16
+
These images provide a working environment for their respective CPU architectures and come with [Devito], `gcc/icx` and `mpi` preinstalled, and utilities such as `jupyter` for usability and exploration of the package.
16
17
17
18
To run this image locally, you will first need to install `docker`. Then, the following commands will get you started:
18
19
@@ -38,6 +39,38 @@ In addition, the following legacy tags are available:
38
39
-`devito:cpu-*` that corresponds to `devito:gcc-*`
39
40
40
41
42
+
### [Devito] on ARM64
43
+
44
+
We provide ARM64-specific images optimized for ARM64 processors:
45
+
-`devito:arm64-gcc-*` with the standard GNU gcc compiler for ARM64 architectures.
46
+
47
+
These images support various ARM64 platforms including:
48
+
- AWS Graviton2/3/4 instances
49
+
- Apple Silicon (M1/M2/M3) via Docker Desktop
50
+
- ARM-based cloud instances
51
+
52
+
Devito automatically detects the specific ARM64 variant at runtime and applies appropriate optimizations through its JIT compiler.
53
+
54
+
To run on ARM64 systems:
55
+
56
+
```bash
57
+
# Pull image and start a bash shell
58
+
docker run --rm -it -p 8888:8888 devitocodes/devito:arm64-gcc-latest /bin/bash
59
+
60
+
# or start a Jupyter notebook server on port 8888
61
+
docker run --rm -it -p 8888:8888 devitocodes/devito:arm64-gcc-latest
62
+
63
+
# Run an example
64
+
docker run --rm -it devitocodes/devito:arm64-gcc-latest python examples/seismic/acoustic/acoustic_example.py
0 commit comments