Add regression tests for gpucomm paths
authorAlan Gray <alangray3@gmail.com>
Wed, 23 Sep 2020 07:02:47 +0000 (07:02 +0000)
committerPaul Bauer <paul.bauer.q@gmail.com>
Wed, 23 Sep 2020 07:02:47 +0000 (07:02 +0000)
Adds regression test runs with GPU communication codepaths enabled for
both thread-MPI and MPI builds.

admin/gitlab-ci/gromacs.gitlab-ci.yml

index 439c412e50cf1a319f46a5ca17acb5f33e809788..1ba6539062e222ba1c0291c1476a6364f3504c6d 100644 (file)
@@ -239,6 +239,18 @@ gromacs:gcc-8-cuda-11.0:configure:
     CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
     COMPILER_MAJOR_VERSION: 8
 
+gromacs:gcc-8-cuda-11.0:configureMPI:
+  extends:
+    - .gromacs:base:configure
+    - .use-gcc:base
+    - .use-cuda
+    - .use-mpi
+    - .rules:merge-requests
+  image: gromacs/cmake-3.15.7-gcc-8-cuda-11.0-nvidiaopencl-clfft-openmpi-master
+  variables:
+    CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
+    COMPILER_MAJOR_VERSION: 8
+
 gromacs:clang-TSAN:configure:
   extends:
     - .gromacs:base:configure
@@ -445,6 +457,17 @@ gromacs:gcc-8-cuda-11.0:build:
   needs:
     - job: gromacs:gcc-8-cuda-11.0:configure
 
+gromacs:gcc-8-cuda-11.0:buildMPI:
+  extends:
+    - .variables:default
+    - .gromacs:base:build
+    - .before_script:default
+    - .use-ccache
+    - .rules:merge-requests
+  image: gromacs/cmake-3.15.7-gcc-8-cuda-11.0-nvidiaopencl-clfft-openmpi-master
+  needs:
+    - job: gromacs:gcc-8-cuda-11.0:configureMPI
+
 gromacs:clang-TSAN:build:
   extends:
     - .variables:default
@@ -706,6 +729,22 @@ gromacs:gcc-8-cuda-11.0:test:
   needs:
     - job: gromacs:gcc-8-cuda-11.0:build
 
+gromacs:gcc-8-cuda-11.0:test-gpucommupd:
+  extends:
+    - .gromacs:base:test
+    - .rules:merge-requests
+  image: gromacs/cmake-3.15.7-gcc-8-cuda-11.0-nvidiaopencl-clfft-openmpi-master
+  variables:
+    KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
+    KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
+    GMX_GPU_DD_COMMS: 1
+    GMX_GPU_PME_PP_COMMS: 1
+    GMX_FORCE_UPDATE_DEFAULT_GPU: 1
+  tags:
+    - k8s-scilifelab
+  needs:
+    - job: gromacs:gcc-8-cuda-11.0:build
+
 gromacs:clang-8:test:
   extends:
     - .gromacs:base:test
@@ -800,6 +839,57 @@ gromacs:gcc-8-cuda-11.0:regressiontest:
     - job: gromacs:gcc-8-cuda-11.0:build
     - job: regressiontests:prepare
 
+gromacs:gcc-8-cuda-11.0:regressiontest-gpucommupd-tMPI:
+  extends:
+    - .gromacs:base:regressiontest
+    - .rules:merge-requests
+  image: gromacs/cmake-3.15.7-gcc-8-cuda-11.0-nvidiaopencl-clfft-openmpi-master
+  variables:
+    KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
+    KUBERNETES_EXTENDED_RESOURCE_LIMIT: 2
+    REGRESSIONTEST_PME_RANK_NUMBER: 0
+    REGRESSIONTEST_TOTAL_RANK_NUMBER: 4
+    REGRESSIONTEST_OMP_RANK_NUMBER: 1
+    GMX_GPU_DD_COMMS: 1
+    GMX_GPU_PME_PP_COMMS: 1
+    GMX_FORCE_UPDATE_DEFAULT_GPU: 1
+  tags:
+    - k8s-scilifelab
+  needs:
+    - job: gromacs:gcc-8-cuda-11.0:build
+    - job: regressiontests:prepare
+  artifacts:
+    paths:
+      - regressiontests
+    when: always
+    expire_in: 1 week
+
+gromacs:gcc-8-cuda-11.0:regressiontest-gpucommupd-MPI:
+  extends:
+    - .gromacs:base:regressiontest
+    - .rules:merge-requests
+  image: gromacs/cmake-3.15.7-gcc-8-cuda-11.0-nvidiaopencl-clfft-openmpi-master
+  variables:
+    KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
+    KUBERNETES_EXTENDED_RESOURCE_LIMIT: 2
+    REGRESSIONTEST_PME_RANK_NUMBER: 0
+    REGRESSIONTEST_TOTAL_RANK_NUMBER: 4
+    REGRESSIONTEST_OMP_RANK_NUMBER: 1
+    REGRESSIONTEST_PARALLEL: "-np"
+    GMX_GPU_DD_COMMS: 1  
+    GMX_GPU_PME_PP_COMMS: 1
+    GMX_FORCE_UPDATE_DEFAULT_GPU: 1
+  tags:
+    - k8s-scilifelab
+  needs:
+    - job: gromacs:gcc-8-cuda-11.0:buildMPI
+    - job: regressiontests:prepare
+  artifacts:
+    paths:
+      - regressiontests
+    when: always
+    expire_in: 1 week
+
 gromacs:clang-8:regressiontest:
   extends:
     - .gromacs:base:regressiontest