From 37e95a1f6dc4554f459c534ed1a2de161da2c45b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Grad?= Date: Sun, 16 Aug 2020 23:02:56 +0200 Subject: [PATCH 1/4] CMake: Add support for CUDA 11 --- cmake/FindCUDACompilerNVCC.cmake | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cmake/FindCUDACompilerNVCC.cmake b/cmake/FindCUDACompilerNVCC.cmake index 53a63d37f29..1a77224d765 100644 --- a/cmake/FindCUDACompilerNVCC.cmake +++ b/cmake/FindCUDACompilerNVCC.cmake @@ -50,8 +50,11 @@ list(APPEND CUDA_NVCC_FLAGS_MINSIZEREL -O2 -Xptxas=-O2 -Xcompiler=-Os -DNDEBUG) list(APPEND CUDA_NVCC_FLAGS_RELWITHDEBINFO -O2 -g -Xptxas=-O2 -Xcompiler=-O2,-g -DNDEBUG) list(APPEND CUDA_NVCC_FLAGS_COVERAGE -O3 -g -Xptxas=-O3 -Xcompiler=-Og,-g) list(APPEND CUDA_NVCC_FLAGS_RELWITHASSERT -O3 -g -Xptxas=-O3 -Xcompiler=-O3,-g) +if(CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 11) + list(APPEND CUDA_NVCC_FLAGS -gencode=arch=compute_30,code=sm_30) +endif() list(APPEND CUDA_NVCC_FLAGS - -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_52,code=sm_52 + -gencode=arch=compute_52,code=sm_52 -gencode=arch=compute_52,code=compute_52 -std=c++${CMAKE_CUDA_STANDARD} $<$:-Xcompiler=-Werror;-Xptxas=-Werror> $<$:-Xcompiler=-isysroot;-Xcompiler=${CMAKE_OSX_SYSROOT}>) @@ -60,6 +63,7 @@ function(find_gpu_library) cmake_parse_arguments(LIBRARY "REQUIRED" "NAMES;VARNAME" "" ${ARGN}) list(APPEND LIBRARY_PATHS ${CUDA_TOOLKIT_ROOT_DIR}/lib64 ${CUDA_TOOLKIT_ROOT_DIR}/lib + ${CUDA_TOOLKIT_ROOT_DIR}/compat /usr/local/nvidia/lib /usr/lib/x86_64-linux-gnu) if(LIBRARY_REQUIRED) find_library(${LIBRARY_VARNAME} NAMES ${LIBRARY_NAMES} PATHS ${LIBRARY_PATHS} NO_DEFAULT_PATH REQUIRED) From 75fe22cabcc232d46d4e3977dacbcdd7685633e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Grad?= Date: Thu, 20 Aug 2020 14:57:21 +0200 Subject: [PATCH 2/4] CI: Update image tags and remove unused options --- .gitlab-ci.yml | 17 ++++++----------- maintainer/CI/build_docker.sh | 2 +- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ee94ce79c16..d769d83c88b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: docker.pkg.github.com/espressomd/docker/ubuntu-20.04:8a7d258889d87dcc9c96a200784b30b532d45b33 +image: docker.pkg.github.com/espressomd/docker/ubuntu-20.04:e583d4b2eb8eedd10068957f952bd67008475ee5 stages: - prepare @@ -114,7 +114,7 @@ no_rotation: ubuntu:wo-dependencies: <<: *global_job_definition stage: build - image: docker.pkg.github.com/espressomd/docker/ubuntu-wo-dependencies:fc7628d32de0fce605976ba9edebe7eff186e618 + image: docker.pkg.github.com/espressomd/docker/ubuntu-wo-dependencies:e583d4b2eb8eedd10068957f952bd67008475ee5 script: - export myconfig=maxset with_cuda=false make_check_unit_tests=false make_check_python=false - bash maintainer/CI/build_cmake.sh @@ -230,11 +230,6 @@ cuda9-maxset: - export myconfig=maxset with_cuda=true with_coverage=true test_timeout=900 srcdir=${CI_PROJECT_DIR} - export with_scafacos=true with_stokesian_dynamics=true - bash maintainer/CI/build_cmake.sh - artifacts: - paths: - - build/ - expire_in: 1 week - when: on_success tags: - docker - linux @@ -457,7 +452,7 @@ check_cuda_maxset_no_gpu: <<: *global_job_definition stage: additional_checks when: on_success - needs: + needs: - cuda10-maxset script: - export CUDA_VISIBLE_DEVICES="" @@ -470,9 +465,9 @@ check_cuda_maxset_no_gpu: check_with_odd_no_of_processors: <<: *global_job_definition - stage: additional_checks + stage: additional_checks when: on_success - needs: + needs: - cuda10-maxset script: - cd ${CI_PROJECT_DIR}/build @@ -507,7 +502,7 @@ deploy_sphinx_documentation: dependencies: - check_sphinx script: - - cd ${CI_PROJECT_DIR}/build/doc/sphinx/html && + - cd ${CI_PROJECT_DIR}/build/doc/sphinx/html && rsync -avz --delete -e "ssh -i ${HOME}/.ssh/espresso_rsa" ./ espresso@elk.icp.uni-stuttgart.de:/home/espresso/public_html/html/doc deploy_doxygen_documentation: diff --git a/maintainer/CI/build_docker.sh b/maintainer/CI/build_docker.sh index 30fc1bec729..75a24ebc898 100755 --- a/maintainer/CI/build_docker.sh +++ b/maintainer/CI/build_docker.sh @@ -31,6 +31,6 @@ make_check=${make_check} build_type=RelWithAssert myconfig=maxset EOF -image="espressomd/docker-ubuntu-20.04:06b6216c7aa3555bcf28c90734dbb84e7285c96f" +image="espressomd/docker-ubuntu-20.04:e583d4b2eb8eedd10068957f952bd67008475ee5" docker run -u espresso --env-file "${ENV_FILE}" -v "${PWD}:/travis" -it "${image}" /bin/bash -c "cp -r /travis .; cd travis && maintainer/CI/build_cmake.sh" || exit 1 From 6c8c277292f78244b20605654a4b11490edbbffd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Grad?= Date: Thu, 20 Aug 2020 15:06:55 +0200 Subject: [PATCH 3/4] CI: Add CUDA 11 job --- .gitlab-ci.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d769d83c88b..8e8465a3ee9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -199,6 +199,22 @@ clang-sanitizer: - linux - cuda +cuda11-maxset: + <<: *global_job_definition + stage: build + image: docker.pkg.github.com/espressomd/docker/cuda:e583d4b2eb8eedd10068957f952bd67008475ee5 + variables: + CC: 'gcc-9' + CXX: 'g++-9' + script: + - export myconfig=maxset with_cuda=true with_coverage=false test_timeout=900 srcdir=${CI_PROJECT_DIR} + - export with_scafacos=true with_stokesian_dynamics=true + - bash maintainer/CI/build_cmake.sh + tags: + - docker + - linux + - cuda + cuda10-maxset: <<: *global_job_definition stage: build From 4ca9ac89a92487967237ec589c08028ade79cdcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Grad?= Date: Thu, 20 Aug 2020 15:16:51 +0200 Subject: [PATCH 4/4] CI: Move CUDA 11 job to nightly builds --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8e8465a3ee9..3dafe721b0e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -214,6 +214,8 @@ cuda11-maxset: - docker - linux - cuda + only: + - schedules cuda10-maxset: <<: *global_job_definition