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
 
     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
   extends:
     - .gromacs:base:configure
     - .use-gcc:base
+    - .use-cuda
     - .rules:merge-requests
     - .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"
   variables:
     CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
-    COMPILER_MAJOR_VERSION: 7
+    COMPILER_MAJOR_VERSION: 8
 
 gromacs:clang-TSAN:configure:
   extends:
 
 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"
 
     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
   extends:
     - .gromacs:base:release:configure
     - .use-gcc:base
     - .use-mpi
+    - .use-cuda
     - .rules:nightly-only-for-release
     - .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:
   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"
     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
 
     - 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
   extends:
     - .gromacs:base:release:configure
     - .use-clang:base
+    - .use-cuda
     - .rules:nightly-only-for-release
     - .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:
   variables:
-    COMPILER_MAJOR_VERSION: 9
+    COMPILER_MAJOR_VERSION: 8
     RELEASE_BUILD_DIR: release-builds-clang
     CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithDebug"
 
     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
 
     - 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
   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:
   needs:
-    - job: gromacs:gcc-7-nocuda-10.1:configure
+    - job: gromacs:gcc-8-cuda-10.1:configure
 
 gromacs:clang-TSAN:build:
   extends:
 
 gromacs:clang-TSAN:build:
   extends:
@@ -467,7 +470,7 @@ gromacs:clang-9-mpi:build:
   needs:
     - job: gromacs:clang-9-mpi:configure
 
   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
   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
   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:
   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:
 
 gromacs:gcc-7:release:build:
   extends:
@@ -509,7 +512,7 @@ gromacs:clang-9:release:build:
   needs:
     - job: gromacs:clang-9:release:configure
 
   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
   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
   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:
   needs:
-    - job: gromacs:clang-9-nocuda-10.1:release:configure
+    - job: gromacs:clang-8-cuda-10.1:release:configure
 
 # Jobs running during test stage
 
 
 # Jobs running during test stage
 
@@ -604,18 +607,18 @@ gromacs:gcc-7:test:
   needs:
     - job: gromacs:gcc-7:build
 
   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
   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:
   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:
 
 gromacs:clang-8:test:
   extends:
@@ -673,11 +676,11 @@ gromacs:gcc-7:regressiontest:
     - job: gromacs:gcc-7:build
     - job: regressiontests:prepare
 
     - 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
   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
   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:
   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:
     - job: regressiontests:prepare
 
 gromacs:clang-8:regressiontest:
@@ -738,12 +741,12 @@ gromacs:clang-9:regressiontest:
     - job: gromacs:clang-9-mpi:build
     - job: regressiontests:prepare
 
     - 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
   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
   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:
   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:
 
 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
 
     - 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
   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
   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:
   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:
 
 gromacs:gcc-7:release:regressiontest:
   extends:
@@ -824,12 +827,12 @@ gromacs:clang-9:release:regressiontest:
     - job: gromacs:clang-9:release:build
     - job: regressiontests:package
 
     - 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
   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"
   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:
   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
 
     - job: regressiontests:package