-
Notifications
You must be signed in to change notification settings - Fork 246
Continuous Integration in Devito
Gerard Gorman edited this page Apr 6, 2021
·
40 revisions
We use GitHub Actions for Continuous Integration.
Some of the workflows, in particular CI-core, which executes all of the core Devito tests, run on VMs that GitHub Actions provides for free to open source repositories.
Some other workflows run in the devito-cluster, which comprises nodes owned by Devito Codes as well as nodes gifted by various companies.
| node | CI-gpu | CI-mpi | asv | examples-MPI | docker-publish GPU |
|---|---|---|---|---|---|
| kimogila (NVidia 3070 RTX) | x[OMP] | x | x | ||
| sarlacc (NVidia 3070 RTX) | x[ACC] | ||||
| nexu | x | ||||
| bantha (NVidia 3090 RTX) | |||||
| rancor (NVidia 3090 RTX) | |||||
| macdevito | |||||
| acca-beast | x[ACC+Docker] | x |
MacBook macOS Catalina
- Architecture: x86_64
- CPU(s): 8
- Thread(s) per core: 2
- Core(s) per socket: 4
- Socket(s): 1
- NUMA node(s): 1
- Model name: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
- Total online memory: 31G
- GPU: NVidia 3070 RTX
- Architecture: x86_64
- CPU(s): 24
- Thread(s) per core: 2
- Core(s) per socket: 6
- Socket(s): 2
- Model name: Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz
- Total online memory: 48G
- GPU: NVidia GeForce RTX 2060
- Architecture: x86_64
- CPU(s): 12
- Thread(s) per core: 2
- Core(s) per socket: 6
- Socket(s): 1
- NUMA node(s): 1
- Model name: Intel(R) Xeon(R) CPU E5-2640 0 @ 2.50GHz
- Total online memory: 64G
- GPU: -
- Architecture: x86_64
- CPU(s): 12
- Thread(s) per core: 6
- Core(s) per socket: 6
- Socket(s): 2
- Model name: Intel(R) Xeon(R) CPU 5650 0 @ ...
- Total online memory: ...
- GPU: 3 x NVidia 3090 RTX
- Architecture: x86_64
- CPU(s): 16
- Thread(s) per core: 2
- Core(s) per socket: 8
- Socket(s): 2
- Model name: Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz
- Total online memory: 48G
- GPU: NVidia 3090 RTX
- private node
- Move examples-mpi from kimogila to nexu
- Set up timeout to kill builds after a short period of silence
- Restrict builds on self-hosted runners to PRs (not all branches)? (TBD)
- Script to monitor host and device memory consumption and report it in the build output? (TBD)
- Steal useful ideas for CI from other open source projects ?
- Remove the now obsolete DEVITO_BACKEND env var from the workflow files
- Write documentation about we can explicitly stop/restart the background processes
- Review and clean up various workflows. This includes updating out of date/obsolete actions.
- Move Docker GPU workflow to another machine
- Migrate CI-mpi to our own runners? (TBD)
- ...