Task #3415
Task #3272: Port complete CI testing to Gitlab
Port Pre-submit matrix to Gitlab CI
Description
The different build configurations that are currently in the pre submit matrix for Jenkins need to be ported as configurations for the Gitlab CI.
What is needed is the definition of build and test jobs for different compilers that will duplicate the current pre submit matrix as far as possible.
History
#1 Updated by Paul Bauer 10 months ago
- cmake-3.13.0 + OpenMPI + Cuda 9.0 + gcc-7
- cmake-3.13.0 + clang-7
- cmake-3.13.0 + gcc-8 + x11
- cmake-3.13.0 + clang-8 + hwloc-1
- cmake-3.13.0 + clang-9 + hwloc-2
- cmake-3.13.0 + gcc-7 + Nvidia OpenCL + clFFT
- cmake-3.14.7 + gcc-9 + AMD OpenCL + clFFT
We can likely condense those into fewer configurations if needed, but this is the basic selection I came up with when condensing the current pre-submit matrix
#2 Updated by Paul Bauer 10 months ago
for 2020 I generated those containers now, and can push them up later
gromacs/cmake-3.9.6-gcc-5-cuda-9-mpi:2020 gromacs/cmake-3.15.7-gcc-8-cuda-10.1:2020 gromacs/cmake-3.9.6-gcc-6-cuda-10.1-opencl-clfft-mpi:2020 gromacs/cmake-3.15.7-llvm-7-tsan:2020 gromacs/cmake-3.11.4-llvm-3:2020 gromacs/cmake-3.11.4-llvm-8:2020 gromacs/cmake-3.9.6-gcc-9-cuda-10.0-mpi:2020
#3 Updated by Paul Bauer 10 months ago
Full set of configs that should cover both pre- and post-submit for 2020
gromacs/cmake-3.9.6-gcc-5-cuda-9-mpi:2020 gromacs/cmake-3.15.7-gcc-8-cuda-10.1:2020 gromacs/cmake-3.9.6-gcc-6-cuda-10.1-opencl-clfft-mpi:2020 gromacs/cmake-3.15.7-llvm-7-tsan:2020 gromacs/cmake-3.11.4-llvm-3:2020 gromacs/cmake-3.11.4-llvm-8:2020 gromacs/cmake-3.9.6-gcc-9-cuda-10.0-mpi:2020 gromacs/cmake-3.15.7-llvm-8-cuda-10.1-mpi:2020 gromacs/cmake-3.15.7-llvm-8-intel-opencl:2020
#4 Updated by Paul Bauer 10 months ago
Images for master
gromacs/cmake-3.13.0-gcc-7-cuda-9.0-mpi:master gromacs/cmake-3.15.7-gcc-8-cuda-10.1-opencl-clfft-mpi:master gromacs/cmake-3.13.0-llvm-8-tsan:master gromacs/cmake-3.15.7-llvm-9:master gromacs/cmake-3.15.7-llvm-9-cuda-10.2-mpi:master gromacs/cmake-3.13.0-llvm-9-intel-opencl:master
#5 Updated by Eric Irrgang 10 months ago
Does "intel" mean Intel's MPI implementation? If so, I suggest "impi," and consistent ordering of "opencl" and MPI flavor.
I suggest "openmpi," "mpich," or "impi" instead of "mpi".
I don't see these images on Docker Hub. Are they only going to exist on the GitLab Runner hosts or have they just not been pushed yet?
#6 Updated by Paul Bauer 10 months ago
Eric Irrgang wrote:
Does "intel" mean Intel's MPI implementation? If so, I suggest "impi," and consistent ordering of "opencl" and MPI flavor.
I suggest "openmpi," "mpich," or "impi" instead of "mpi".
I don't see these images on Docker Hub. Are they only going to exist on the GitLab Runner hosts or have they just not been pushed yet?
I didn't upload them yet because they weren't ready before the latest fixes, will be up later today.
The intel refers to intel opencl
#7 Updated by Paul Bauer 10 months ago
for 2020,
gromacs/cmake-3.15.7-llvm-7-tsan:2020
needs to be changed to
gromacs/cmake-3.15.7-llvm-8-tsan:2020
to be able to run static analyser version 8 :)
#8 Updated by Paul Bauer 10 months ago
we also need to change
gromacs/cmake-3.15.7-llvm-9-cuda-10.2-mpi:master
to
gromacs/cmake-3.15.7-llvm-8-cuda-10.2-mpi:master
or the CUDA toolkit complains
#9 Updated by Paul Bauer 10 months ago
Paul Bauer wrote:
we also need to change
[...]
to
[...]
or the CUDA toolkit complains
actually needs to be
gromacs/cmake-3.15.7-llvm-8-cuda-10.0-mpi:master
for clang-cuda compilation to work, and
gromacs/cmake-3.15.7-llvm-8-cuda-10.1-mpi:master
for general CUDA compilation