Project

General

Profile

Task #3415

Task #3272: Port complete CI testing to Gitlab

Port Pre-submit matrix to Gitlab CI

Added by Paul Bauer 5 months ago. Updated 5 months ago.

Status:
New
Priority:
Normal
Category:
testing
Target version:
Difficulty:
uncategorized
Close

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 5 months ago

The following configurations need to be available for building GROMACS (testing can be done in more configs)
  • 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 5 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 5 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 5 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 5 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 5 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 5 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 5 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 5 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

Also available in: Atom PDF