Revert c++-17 features that are not supported by CUDA build
authorArtem Zhmurov <zhmurov@gmail.com>
Wed, 29 Jul 2020 10:48:30 +0000 (10:48 +0000)
committerPaul Bauer <paul.bauer.q@gmail.com>
Wed, 29 Jul 2020 10:48:30 +0000 (10:48 +0000)
C++-17 is fully supported only starting from CUDA 11, which is not
required currently. This rolls back some of the changes made in
2f876de263efdf08daf160e7791434cd760ccd9b and
106b2d8ded04dbc51031022e9b11d147dccb76a3 that broke the CUDA build.
The change should be reverted once c++17 is fully supported.

Fixes #3608
Refs #3609

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

index b90480fbd56576da11b786ddf41edf01b7a663fd..a74b8d1aa4a2871b96e021449bed5fc4d354389d 100644 (file)
@@ -228,15 +228,16 @@ gromacs:gcc-7:configure:
     CMAKE_EXTRA_OPTIONS: "-DGMX_EXTERNAL_CLFFT=ON"
     COMPILER_MAJOR_VERSION: 7
 
-gromacs:gcc-7-nocuda-10.1:configure:
+gromacs:gcc-8-cuda-10.1:configure:
   extends:
     - .gromacs:base:configure
     - .use-gcc:base
+    - .use-cuda
     - .rules:merge-requests
-  image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
+  image: gromacs/cmake-3.15.7-gcc-8-cuda-10.1-nvidiaopencl-clfft-openmpi:master
   variables:
     CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
-    COMPILER_MAJOR_VERSION: 7
+    COMPILER_MAJOR_VERSION: 8
 
 gromacs:clang-TSAN:configure:
   extends:
@@ -289,15 +290,16 @@ gromacs:clang-ASAN:configure:
     COMPILER_MAJOR_VERSION: 8
     CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=ASAN"
 
-gromacs:gcc-7-nocuda-10.1:release:configure:
+gromacs:gcc-8-cuda-10.1:release:configure:
   extends:
     - .gromacs:base:release:configure
     - .use-gcc:base
     - .use-mpi
+    - .use-cuda
     - .rules:nightly-only-for-release
-  image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
+  image: gromacs/cmake-3.15.7-gcc-8-cuda-10.1-nvidiaopencl-clfft-openmpi:master
   variables:
-    COMPILER_MAJOR_VERSION: 7
+    COMPILER_MAJOR_VERSION: 8
     RELEASE_BUILD_DIR: release-builds-gcc
     CMAKE_EXTRA_OPTIONS: "-DGMX_BUILD_MDRUN_ONLY=ON"
     CMAKE_BUILD_TYPE_OPTIONS : "-DCMAKE_BUILD_TYPE=RelWithDebug"
@@ -339,14 +341,15 @@ gromacs:clang-9:release:configure:
     - regressiontests:package
     - prepare-release-version
 
-gromacs:clang-9-nocuda-10.1:release:configure:
+gromacs:clang-8-cuda-10.1:release:configure:
   extends:
     - .gromacs:base:release:configure
     - .use-clang:base
+    - .use-cuda
     - .rules:nightly-only-for-release
-  image: gromacs/cmake-3.15.7-llvm-9-openmpi:master
+  image: gromacs/cmake-3.15.7-llvm-8-cuda-10.1-openmpi:master
   variables:
-    COMPILER_MAJOR_VERSION: 9
+    COMPILER_MAJOR_VERSION: 8
     RELEASE_BUILD_DIR: release-builds-clang
     CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithDebug"
 
@@ -397,16 +400,16 @@ gromacs:gcc-7:build:
     - job: gromacs:gcc-7:configure
       artifacts: true
 
-gromacs:gcc-7-nocuda-10.1:build:
+gromacs:gcc-8-cuda-10.1:build:
   extends:
     - .variables:default
     - .gromacs:base:build
     - .before_script:default
     - .use-ccache
     - .rules:merge-requests
-  image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
+  image: gromacs/cmake-3.15.7-gcc-8-cuda-10.1-nvidiaopencl-clfft-openmpi:master
   needs:
-    - job: gromacs:gcc-7-nocuda-10.1:configure
+    - job: gromacs:gcc-8-cuda-10.1:configure
 
 gromacs:clang-TSAN:build:
   extends:
@@ -467,7 +470,7 @@ gromacs:clang-9-mpi:build:
   needs:
     - job: gromacs:clang-9-mpi:configure
 
-gromacs:gcc-7-nocuda-10.1:release:build:
+gromacs:gcc-8-cuda-10.1:release:build:
   extends:
     - .variables:default  
     - .gromacs:base:build
@@ -477,9 +480,9 @@ gromacs:gcc-7-nocuda-10.1:release:build:
   stage: release-build
   variables:
     BUILD_DIR: release-builds-gcc
-  image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
+  image: gromacs/cmake-3.15.7-gcc-8-cuda-10.1-nvidiaopencl-clfft-openmpi:master
   needs:
-    - job: gromacs:gcc-7-nocuda-10.1:release:configure
+    - job: gromacs:gcc-8-cuda-10.1:release:configure
 
 gromacs:gcc-7:release:build:
   extends:
@@ -509,7 +512,7 @@ gromacs:clang-9:release:build:
   needs:
     - job: gromacs:clang-9:release:configure
 
-gromacs:clang-9-nocuda-10.1:release:build:
+gromacs:clang-8-cuda-10.1:release:build:
   extends:
     - .variables:default
     - .gromacs:base:build
@@ -519,9 +522,9 @@ gromacs:clang-9-nocuda-10.1:release:build:
   stage: release-build
   variables:
     BUILD_DIR: release-builds-clang
-  image: gromacs/cmake-3.15.7-llvm-9-openmpi:master
+  image: gromacs/cmake-3.15.7-llvm-8-cuda-10.1-openmpi:master
   needs:
-    - job: gromacs:clang-9-nocuda-10.1:release:configure
+    - job: gromacs:clang-8-cuda-10.1:release:configure
 
 # Jobs running during test stage
 
@@ -604,18 +607,18 @@ gromacs:gcc-7:test:
   needs:
     - job: gromacs:gcc-7:build
 
-gromacs:gcc-7-nocuda-10.1:test:
+gromacs:gcc-8-cuda-10.1:test:
   extends:
     - .gromacs:base:test
     - .rules:merge-requests
-  image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
+  image: gromacs/cmake-3.15.7-gcc-8-cuda-10.1-nvidiaopencl-clfft-openmpi:master
   variables:
     KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
     KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-7-nocuda-10.1:build
+    - job: gromacs:gcc-8-cuda-10.1:build
 
 gromacs:clang-8:test:
   extends:
@@ -673,11 +676,11 @@ gromacs:gcc-7:regressiontest:
     - job: gromacs:gcc-7:build
     - job: regressiontests:prepare
 
-gromacs:gcc-7-nocuda-10.1:regressiontest:
+gromacs:gcc-8-cuda-10.1:regressiontest:
   extends:
     - .gromacs:base:regressiontest
     - .rules:merge-requests
-  image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
+  image: gromacs/cmake-3.15.7-gcc-8-cuda-10.1-nvidiaopencl-clfft-openmpi:master
   variables:
     KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
     KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
@@ -687,7 +690,7 @@ gromacs:gcc-7-nocuda-10.1:regressiontest:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-7-nocuda-10.1:build
+    - job: gromacs:gcc-8-cuda-10.1:build
     - job: regressiontests:prepare
 
 gromacs:clang-8:regressiontest:
@@ -738,12 +741,12 @@ gromacs:clang-9:regressiontest:
     - job: gromacs:clang-9-mpi:build
     - job: regressiontests:prepare
 
-gromacs:gcc-7-nocuda-10.1:release:test:
+gromacs:gcc-8-cuda-10.1:release:test:
   extends:
     - .gromacs:base:test
     - .rules:nightly-only-for-release
   stage: release-tests
-  image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
+  image: gromacs/cmake-3.15.7-gcc-8-cuda-10.1-nvidiaopencl-clfft-openmpi:master
   variables:
     KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
     KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
@@ -751,8 +754,8 @@ gromacs:gcc-7-nocuda-10.1:release:test:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-7-nocuda-10.1:release:configure
-    - job: gromacs:gcc-7-nocuda-10.1:release:build
+    - job: gromacs:gcc-8-cuda-10.1:release:configure
+    - job: gromacs:gcc-8-cuda-10.1:release:build
 
 gromacs:gcc-7:release:test:
   extends:
@@ -778,12 +781,12 @@ gromacs:clang-9:release:test:
     - job: gromacs:clang-9:release:configure
     - job: gromacs:clang-9:release:build
 
-gromacs:clang-9-nocuda-10.1:release:test:
+gromacs:clang-8-cuda-10.1:release:test:
   extends:
     - .gromacs:base:test
     - .rules:nightly-only-for-release
   stage: release-tests
-  image: gromacs/cmake-3.15.7-llvm-9-openmpi:master
+  image: gromacs/cmake-3.15.7-llvm-8-cuda-10.1-openmpi:master
   variables:
     KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
     KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
@@ -791,8 +794,8 @@ gromacs:clang-9-nocuda-10.1:release:test:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:clang-9-nocuda-10.1:release:configure
-    - job: gromacs:clang-9-nocuda-10.1:release:build
+    - job: gromacs:clang-8-cuda-10.1:release:configure
+    - job: gromacs:clang-8-cuda-10.1:release:build
 
 gromacs:gcc-7:release:regressiontest:
   extends:
@@ -824,12 +827,12 @@ gromacs:clang-9:release:regressiontest:
     - job: gromacs:clang-9:release:build
     - job: regressiontests:package
 
-gromacs:clang-9-nocuda-10.1:release:regressiontest:
+gromacs:clang-8-cuda-10.1:release:regressiontest:
   extends:
     - .gromacs:base:regressiontest
     - .rules:nightly-only-for-release
   stage: release-tests
-  image: gromacs/cmake-3.15.7-llvm-9-openmpi:master
+  image: gromacs/cmake-3.15.7-llvm-8-cuda-10.1-openmpi:master
   variables:
     BUILD_DIR: release-builds-clang
     KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
@@ -840,6 +843,6 @@ gromacs:clang-9-nocuda-10.1:release:regressiontest:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:clang-9-nocuda-10.1:release:build
+    - job: gromacs:clang-8-cuda-10.1:release:build
     - job: regressiontests:package