diff --git a/.github/workflows/clang-format-check.yml b/.github/workflows/clang-format-check.yml index 3dc55f9cc6c..2ace6c6d427 100644 --- a/.github/workflows/clang-format-check.yml +++ b/.github/workflows/clang-format-check.yml @@ -1,6 +1,7 @@ name: clang-format check -on: [push, pull_request] +on: + workflow_call: permissions: read-all diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 0321c8ab528..93bbfc26aa2 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -3,10 +3,7 @@ name: "CodeQL" on: push: branches: [ "master", "develop", "release-*" ] - pull_request: - branches: [ "develop" ] - -permissions: read-all + workflow_call: jobs: analyze: diff --git a/.github/workflows/continuous-integration-workflow-32bit.yml b/.github/workflows/continuous-integration-linux-32bit.yml similarity index 89% rename from .github/workflows/continuous-integration-workflow-32bit.yml rename to .github/workflows/continuous-integration-linux-32bit.yml index cf6d842f5b9..81be735bc1a 100644 --- a/.github/workflows/continuous-integration-workflow-32bit.yml +++ b/.github/workflows/continuous-integration-linux-32bit.yml @@ -1,18 +1,12 @@ name: github-Linux-32bit on: - push: - branches: - - develop - pull_request: - paths-ignore: - - '**/*.md' - types: [ opened, reopened, synchronize ] + workflow_call: permissions: read-all concurrency: - group: ${ {github.event_name }}-${{ github.workflow }}-${{ github.ref }} + group: ${ {github.event_name }}-${{ github.workflow }}-${{ github.ref }}-cilnx32 cancel-in-progress: ${{github.event_name == 'pull_request'}} jobs: diff --git a/.github/workflows/continuous-integration-workflow-hpx.yml b/.github/workflows/continuous-integration-linux-hpx.yml similarity index 94% rename from .github/workflows/continuous-integration-workflow-hpx.yml rename to .github/workflows/continuous-integration-linux-hpx.yml index 71178a28214..a582c0dc363 100644 --- a/.github/workflows/continuous-integration-workflow-hpx.yml +++ b/.github/workflows/continuous-integration-linux-hpx.yml @@ -1,16 +1,10 @@ name: github-Linux-hpx on: - push: - branches: - - develop - pull_request: - paths-ignore: - - '**/*.md' - types: [ opened, reopened, synchronize ] + workflow_call: concurrency: - group: ${ {github.event_name }}-${{ github.workflow }}-${{ github.ref }} + group: ${ {github.event_name }}-${{ github.workflow }}-${{ github.ref }}-cilnxhpx cancel-in-progress: ${{github.event_name == 'pull_request'}} permissions: read-all diff --git a/.github/workflows/continuous-integration-workflow.yml b/.github/workflows/continuous-integration-linux.yml similarity index 97% rename from .github/workflows/continuous-integration-workflow.yml rename to .github/workflows/continuous-integration-linux.yml index 20de82e38d1..07bf9550f6c 100644 --- a/.github/workflows/continuous-integration-workflow.yml +++ b/.github/workflows/continuous-integration-linux.yml @@ -1,16 +1,10 @@ name: github-Linux on: - push: - branches: - - develop - pull_request: - paths-ignore: - - '**/*.md' - types: [ opened, reopened, synchronize ] + workflow_call: concurrency: - group: ${ {github.event_name }}-${{ github.workflow }}-${{ github.ref }} + group: ${ {github.event_name }}-${{ github.workflow }}-${{ github.ref }}-cilnx cancel-in-progress: ${{github.event_name == 'pull_request'}} permissions: read-all diff --git a/.github/workflows/osx.yml b/.github/workflows/continuous-integration-osx.yml similarity index 89% rename from .github/workflows/osx.yml rename to .github/workflows/continuous-integration-osx.yml index a7a44708f22..73d138766ea 100644 --- a/.github/workflows/osx.yml +++ b/.github/workflows/continuous-integration-osx.yml @@ -1,16 +1,10 @@ name: github-OSX on: - push: - branches: - - develop - pull_request: - paths-ignore: - - '**/*.md' - types: [ opened, reopened, synchronize ] + workflow_call: concurrency: - group: ${ {github.event_name }}-${{ github.workflow }}-${{ github.ref }} + group: ${ {github.event_name }}-${{ github.workflow }}-${{ github.ref }}-ciosx cancel-in-progress: ${{github.event_name == 'pull_request'}} permissions: read-all diff --git a/.github/workflows/continuous-integration-smoketest.yml b/.github/workflows/continuous-integration-smoketest.yml new file mode 100644 index 00000000000..06bbf7e9b95 --- /dev/null +++ b/.github/workflows/continuous-integration-smoketest.yml @@ -0,0 +1,45 @@ +name: basic-test + +on: + workflow_call: + +concurrency: + group: ${ {github.event_name }}-${{ github.workflow }}-${{ github.ref }}-cibasic + cancel-in-progress: ${{github.event_name == 'pull_request'}} + +permissions: read-all + +jobs: + gcc-smoketest: + name: gcc-smoketest + runs-on: [ubuntu-latest] + + steps: + - name: checkout code + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + with: + path: kokkos + + - name: configure kokkos + run: | + mkdir -p kokkos/{build,install} + cd kokkos/build + cmake \ + -DCMAKE_BUILD_TYPE=Debug \ + -DCMAKE_INSTALL_PREFIX=$PWD/../install \ + -DCMAKE_CXX_COMPILER=clang++ \ + -DCMAKE_CXX_FLAGS="-Werror" \ + -DKokkos_ENABLE_COMPILER_WARNINGS=ON \ + -DKokkos_ENABLE_DEPRECATED_CODE_4=OFF \ + -DKokkos_ENABLE_EXAMPLES=ON \ + -DKokkos_ENABLE_SERIAL=ON \ + -DKokkos_ENABLE_TESTS=ON \ + .. + + - name: build_and_install_kokkos + working-directory: kokkos/build + run: make -j4 install + + - name: test_kokkos + working-directory: kokkos/build + run: ctest --timeout 2000 -j2 --output-on-failure diff --git a/.github/workflows/continuous-integration-stager.yml b/.github/workflows/continuous-integration-stager.yml new file mode 100644 index 00000000000..ff841fed549 --- /dev/null +++ b/.github/workflows/continuous-integration-stager.yml @@ -0,0 +1,62 @@ +name: staged-continuous-integration + +on: + push: + branches: + - develop + pull_request: + paths-ignore: + - '**/*.md' + types: [ opened, reopened, synchronize ] + +concurrency: + group: ${ {github.event_name }}-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{github.event_name == 'pull_request'}} + +permissions: read-all + +jobs: + # pre-stage + clang-format-check: + uses: ./.github/workflows/clang-format-check.yml + + initial-check: + uses: ./.github/workflows/continuous-integration-smoketest.yml + + # primary testing + codeql: + needs: [initial-check, clang-format-check] + # need to set manual permissions since it requires security-events write + # but then we have to set everything else manually to read since the + # default is overwritten + permissions: + # required for all workflows + security-events: write + # only required for workflows in private repositories + actions: read + contents: read + uses: ./.github/workflows/codeql.yml + + windows-cuda: + needs: [initial-check, clang-format-check] + uses: ./.github/workflows/continuous-integration-windows.yml + + standard-linux: + needs: [initial-check, clang-format-check] + uses: ./.github/workflows/continuous-integration-linux.yml + + hpx-linux: + needs: [initial-check, clang-format-check] + uses: ./.github/workflows/continuous-integration-linux-hpx.yml + + linux-32bit: + needs: [initial-check, clang-format-check] + uses: ./.github/workflows/continuous-integration-linux-32bit.yml + + osx: + needs: [initial-check, clang-format-check] + uses: ./.github/workflows/continuous-integration-osx.yml + + performance-test: + needs: [initial-check, clang-format-check] + uses: ./.github/workflows/performance-benchmark.yml diff --git a/.github/workflows/windows.yml b/.github/workflows/continuous-integration-windows.yml similarity index 96% rename from .github/workflows/windows.yml rename to .github/workflows/continuous-integration-windows.yml index 69cca95f0b3..171774e905e 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/continuous-integration-windows.yml @@ -1,11 +1,10 @@ name: github-windows on: - push: - pull_request: + workflow_call: concurrency: - group: ${ {github.event_name }}-${{ github.workflow }}-${{ github.ref }} + group: ${ {github.event_name }}-${{ github.workflow }}-${{ github.ref }}-ciwnds cancel-in-progress: ${{github.event_name == 'pull_request'}} permissions: read-all diff --git a/.github/workflows/performance-benchmark.yml b/.github/workflows/performance-benchmark.yml index 48e2d79b50c..0fff3f2ff94 100644 --- a/.github/workflows/performance-benchmark.yml +++ b/.github/workflows/performance-benchmark.yml @@ -3,10 +3,7 @@ on: push: branches: - develop - pull_request: - paths-ignore: - - '**/*.md' - types: [ opened, reopened, synchronize ] + workflow_call: permissions: read-all diff --git a/.jenkins b/.jenkins index 6d80c787a78..3281431f2f2 100644 --- a/.jenkins +++ b/.jenkins @@ -30,7 +30,151 @@ pipeline { sh './scripts/docker/check_format_cpp.sh' } } - stage('Build') { + stage('Build-1') { + parallel { + stage('GCC-8.4.0') { + agent { + dockerfile { + filename 'Dockerfile.gcc' + dir 'scripts/docker' + label 'docker' + } + } + environment { + OMP_NUM_THREADS = 8 + OMP_NESTED = 'true' + OMP_MAX_ACTIVE_LEVELS = 3 + OMP_PROC_BIND = 'true' + } + steps { + sh '''rm -rf build && mkdir -p build && cd build && \ + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=17 \ + -DCMAKE_CXX_FLAGS=-Werror \ + -DKokkos_ARCH_NATIVE=ON \ + -DKokkos_ENABLE_COMPILER_WARNINGS=ON \ + -DKokkos_ENABLE_DEPRECATED_CODE_4=ON \ + -DKokkos_ENABLE_DEPRECATION_WARNINGS=ON \ + -DKokkos_ENABLE_TESTS=ON \ + -DKokkos_ENABLE_BENCHMARKS=ON \ + -DKokkos_ENABLE_OPENMP=ON \ + -DKokkos_ENABLE_LIBDL=OFF \ + -DKokkos_ENABLE_LIBQUADMATH=ON \ + -DKokkos_ENABLE_SERIAL=ON \ + .. && \ + make -j8 && ctest --verbose && gcc -I$PWD/../core/src/ ../core/unit_test/tools/TestCInterface.c''' + } + } + stage('HIP-ROCm-5.6-C++20') { + agent { + dockerfile { + filename 'Dockerfile.hipcc' + dir 'scripts/docker' + additionalBuildArgs '--build-arg BASE=rocm/dev-ubuntu-22.04:5.6-complete@sha256:578a310fb1037d9c5e23fded2564f239acf6dc7231ff4742d2e7279fe7cc5c4a' + label 'rocm-docker' + args '-v /tmp/ccache.kokkos:/tmp/ccache --device=/dev/kfd --device=/dev/dri --security-opt seccomp=unconfined --group-add video --env HIP_VISIBLE_DEVICES=$HIP_VISIBLE_DEVICES' + } + } + steps { + sh 'ccache --zero-stats' + sh '''rm -rf build && mkdir -p build && cd build && \ + cmake \ + -DBUILD_SHARED_LIBS=ON \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_CXX_COMPILER=hipcc \ + -DCMAKE_CXX_FLAGS="-Werror -Wno-unused-command-line-argument" \ + -DCMAKE_CXX_STANDARD=20 \ + -DKokkos_ARCH_NATIVE=ON \ + -DKokkos_ENABLE_COMPILER_WARNINGS=ON \ + -DKokkos_ENABLE_DEPRECATED_CODE_4=ON \ + -DKokkos_ENABLE_DEPRECATION_WARNINGS=OFF \ + -DKokkos_ENABLE_TESTS=ON \ + -DKokkos_ENABLE_BENCHMARKS=ON \ + -DKokkos_ENABLE_HIP=ON \ + .. && \ + make -j8 && ctest --verbose''' + } + post { + always { + sh 'ccache --show-stats' + } + } + } + stage('CUDA-11.0-NVCC-RDC') { + agent { + dockerfile { + filename 'Dockerfile.nvcc' + dir 'scripts/docker' + additionalBuildArgs '--build-arg BASE=nvcr.io/nvidia/cuda:11.0.3-devel-ubuntu20.04@sha256:10ab0f09fcdc796b4a2325ef1bce8f766f4a3500eab5a83780f80475ae26c7a6 --build-arg ADDITIONAL_PACKAGES="g++-8 gfortran clang" --build-arg CMAKE_VERSION=3.17.3' + label 'nvidia-docker && (volta || ampere)' + args '-v /tmp/ccache.kokkos:/tmp/ccache --env NVIDIA_VISIBLE_DEVICES=$NVIDIA_VISIBLE_DEVICES' + } + } + environment { + OMP_NUM_THREADS = 8 + // Nested OpenMP does not work for this configuration, + // so disabling it + OMP_MAX_ACTIVE_LEVELS = 1 + OMP_PLACES = 'threads' + OMP_PROC_BIND = 'spread' + NVCC_WRAPPER_DEFAULT_COMPILER = 'g++-8' + } + steps { + sh 'ccache --zero-stats' + sh '''rm -rf install && mkdir -p install && \ + rm -rf build && mkdir -p build && cd build && \ + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_COMPILER=g++-8 \ + -DCMAKE_CXX_FLAGS=-Werror \ + -DCMAKE_CXX_STANDARD=17 \ + -DKokkos_ARCH_NATIVE=ON \ + -DKokkos_ENABLE_COMPILER_WARNINGS=ON \ + -DKokkos_ENABLE_OPENMP=OFF \ + -DKokkos_ENABLE_CUDA=ON \ + -DKokkos_ENABLE_CUDA_LAMBDA=OFF \ + -DKokkos_ENABLE_CUDA_UVM=ON \ + -DKokkos_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE=ON \ + -DKokkos_ENABLE_DEPRECATED_CODE_4=ON \ + -DKokkos_ENABLE_DEPRECATION_WARNINGS=OFF \ + -DCMAKE_INSTALL_PREFIX=${PWD}/../install \ + .. && \ + make -j8 install && \ + cd .. && \ + rm -rf build-tests && mkdir -p build-tests && cd build-tests && \ + export CMAKE_PREFIX_PATH=${PWD}/../install && \ + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ + -DCMAKE_CXX_COMPILER=$WORKSPACE/bin/nvcc_wrapper \ + -DCMAKE_CXX_FLAGS=-Werror --Werror=all-warnings -Xcudafe --diag_suppress=3159 \ + -DCMAKE_CXX_STANDARD=17 \ + -DKokkos_INSTALL_TESTING=ON \ + .. && \ + make -j8 && ctest --verbose && \ + cd ../example/build_cmake_installed && \ + rm -rf build && mkdir -p build && cd build && \ + cmake \ + -DCMAKE_CXX_COMPILER=g++-8 \ + -DCMAKE_CXX_FLAGS=-Werror \ + -DCMAKE_CXX_STANDARD=17 \ + .. && \ + make -j8 && ctest --verbose && \ + cd ../.. && \ + cmake -B build_cmake_installed_different_compiler/build -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS=-Werror -DCMAKE_CXX_STANDARD=17 build_cmake_installed_different_compiler && \ + cmake --build build_cmake_installed_different_compiler/build --target all && \ + cmake --build build_cmake_installed_different_compiler/build --target test''' + } + post { + always { + sh 'ccache --show-stats' + } + } + } + } + } + stage('Build-2') { parallel { stage('OPENACC-NVHPC-CUDA-12.2') { agent { @@ -178,41 +322,6 @@ pipeline { } } } - stage('HIP-ROCm-5.6-C++20') { - agent { - dockerfile { - filename 'Dockerfile.hipcc' - dir 'scripts/docker' - additionalBuildArgs '--build-arg BASE=rocm/dev-ubuntu-22.04:5.6-complete@sha256:578a310fb1037d9c5e23fded2564f239acf6dc7231ff4742d2e7279fe7cc5c4a' - label 'rocm-docker' - args '-v /tmp/ccache.kokkos:/tmp/ccache --device=/dev/kfd --device=/dev/dri --security-opt seccomp=unconfined --group-add video --env HIP_VISIBLE_DEVICES=$HIP_VISIBLE_DEVICES' - } - } - steps { - sh 'ccache --zero-stats' - sh '''rm -rf build && mkdir -p build && cd build && \ - cmake \ - -DBUILD_SHARED_LIBS=ON \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DCMAKE_CXX_COMPILER=hipcc \ - -DCMAKE_CXX_FLAGS="-Werror -Wno-unused-command-line-argument" \ - -DCMAKE_CXX_STANDARD=20 \ - -DKokkos_ARCH_NATIVE=ON \ - -DKokkos_ENABLE_COMPILER_WARNINGS=ON \ - -DKokkos_ENABLE_DEPRECATED_CODE_4=ON \ - -DKokkos_ENABLE_DEPRECATION_WARNINGS=OFF \ - -DKokkos_ENABLE_TESTS=ON \ - -DKokkos_ENABLE_BENCHMARKS=ON \ - -DKokkos_ENABLE_HIP=ON \ - .. && \ - make -j8 && ctest --verbose''' - } - post { - always { - sh 'ccache --show-stats' - } - } - } /* stage('OPENMPTARGET-ROCm-5.2') { agent { @@ -333,106 +442,6 @@ pipeline { } } } - stage('CUDA-11.7-NVCC') { - agent { - dockerfile { - filename 'Dockerfile.nvcc' - dir 'scripts/docker' - additionalBuildArgs '--build-arg BASE=nvcr.io/nvidia/cuda:11.7.1-devel-ubuntu20.04@sha256:fc997521e612899a01dce92820f5f5a201dd943ebfdc3e49ba0706d491a39d2d' - label 'nvidia-docker && volta' - args '-v /tmp/ccache.kokkos:/tmp/ccache --env NVIDIA_VISIBLE_DEVICES=$NVIDIA_VISIBLE_DEVICES' - } - } - steps { - sh 'ccache --zero-stats' - sh '''rm -rf build && mkdir -p build && cd build && \ - ../gnu_generate_makefile.bash \ - --with-options=compiler_warnings \ - --cxxflags="-Werror -Werror all-warnings -Xcudafe --diag_suppress=20208" \ - --cxxstandard=c++17 \ - --with-cuda \ - --with-cuda-options=enable_lambda \ - --arch=Volta70 \ - && \ - make test -j8''' - } - post { - always { - sh 'ccache --show-stats' - } - } - } - stage('CUDA-11.0-NVCC-RDC') { - agent { - dockerfile { - filename 'Dockerfile.nvcc' - dir 'scripts/docker' - additionalBuildArgs '--build-arg BASE=nvcr.io/nvidia/cuda:11.0.3-devel-ubuntu20.04@sha256:10ab0f09fcdc796b4a2325ef1bce8f766f4a3500eab5a83780f80475ae26c7a6 --build-arg ADDITIONAL_PACKAGES="g++-8 gfortran clang" --build-arg CMAKE_VERSION=3.17.3' - label 'nvidia-docker && (volta || ampere)' - args '-v /tmp/ccache.kokkos:/tmp/ccache --env NVIDIA_VISIBLE_DEVICES=$NVIDIA_VISIBLE_DEVICES' - } - } - environment { - OMP_NUM_THREADS = 8 - // Nested OpenMP does not work for this configuration, - // so disabling it - OMP_MAX_ACTIVE_LEVELS = 1 - OMP_PLACES = 'threads' - OMP_PROC_BIND = 'spread' - NVCC_WRAPPER_DEFAULT_COMPILER = 'g++-8' - } - steps { - sh 'ccache --zero-stats' - sh '''rm -rf install && mkdir -p install && \ - rm -rf build && mkdir -p build && cd build && \ - cmake \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_CXX_COMPILER=g++-8 \ - -DCMAKE_CXX_FLAGS=-Werror \ - -DCMAKE_CXX_STANDARD=17 \ - -DKokkos_ARCH_NATIVE=ON \ - -DKokkos_ENABLE_COMPILER_WARNINGS=ON \ - -DKokkos_ENABLE_OPENMP=OFF \ - -DKokkos_ENABLE_CUDA=ON \ - -DKokkos_ENABLE_CUDA_LAMBDA=OFF \ - -DKokkos_ENABLE_CUDA_UVM=ON \ - -DKokkos_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE=ON \ - -DKokkos_ENABLE_DEPRECATED_CODE_4=ON \ - -DKokkos_ENABLE_DEPRECATION_WARNINGS=OFF \ - -DCMAKE_INSTALL_PREFIX=${PWD}/../install \ - .. && \ - make -j8 install && \ - cd .. && \ - rm -rf build-tests && mkdir -p build-tests && cd build-tests && \ - export CMAKE_PREFIX_PATH=${PWD}/../install && \ - cmake \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ - -DCMAKE_CXX_COMPILER=$WORKSPACE/bin/nvcc_wrapper \ - -DCMAKE_CXX_FLAGS=-Werror --Werror=all-warnings -Xcudafe --diag_suppress=3159 \ - -DCMAKE_CXX_STANDARD=17 \ - -DKokkos_INSTALL_TESTING=ON \ - .. && \ - make -j8 && ctest --verbose && \ - cd ../example/build_cmake_installed && \ - rm -rf build && mkdir -p build && cd build && \ - cmake \ - -DCMAKE_CXX_COMPILER=g++-8 \ - -DCMAKE_CXX_FLAGS=-Werror \ - -DCMAKE_CXX_STANDARD=17 \ - .. && \ - make -j8 && ctest --verbose && \ - cd ../.. && \ - cmake -B build_cmake_installed_different_compiler/build -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS=-Werror -DCMAKE_CXX_STANDARD=17 build_cmake_installed_different_compiler && \ - cmake --build build_cmake_installed_different_compiler/build --target all && \ - cmake --build build_cmake_installed_different_compiler/build --target test''' - } - post { - always { - sh 'ccache --show-stats' - } - } - } stage('CUDA-11.6-NVCC-DEBUG') { agent { dockerfile { @@ -478,38 +487,33 @@ pipeline { } } } - stage('GCC-8.4.0') { + stage('CUDA-11.7-NVCC') { agent { dockerfile { - filename 'Dockerfile.gcc' + filename 'Dockerfile.nvcc' dir 'scripts/docker' - label 'docker' + additionalBuildArgs '--build-arg BASE=nvcr.io/nvidia/cuda:11.7.1-devel-ubuntu20.04@sha256:fc997521e612899a01dce92820f5f5a201dd943ebfdc3e49ba0706d491a39d2d' + label 'nvidia-docker && volta' + args '-v /tmp/ccache.kokkos:/tmp/ccache --env NVIDIA_VISIBLE_DEVICES=$NVIDIA_VISIBLE_DEVICES' } } - environment { - OMP_NUM_THREADS = 8 - OMP_NESTED = 'true' - OMP_MAX_ACTIVE_LEVELS = 3 - OMP_PROC_BIND = 'true' - } steps { + sh 'ccache --zero-stats' sh '''rm -rf build && mkdir -p build && cd build && \ - cmake \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_CXX_STANDARD=17 \ - -DCMAKE_CXX_FLAGS=-Werror \ - -DKokkos_ARCH_NATIVE=ON \ - -DKokkos_ENABLE_COMPILER_WARNINGS=ON \ - -DKokkos_ENABLE_DEPRECATED_CODE_4=ON \ - -DKokkos_ENABLE_DEPRECATION_WARNINGS=ON \ - -DKokkos_ENABLE_TESTS=ON \ - -DKokkos_ENABLE_BENCHMARKS=ON \ - -DKokkos_ENABLE_OPENMP=ON \ - -DKokkos_ENABLE_LIBDL=OFF \ - -DKokkos_ENABLE_LIBQUADMATH=ON \ - -DKokkos_ENABLE_SERIAL=ON \ - .. && \ - make -j8 && ctest --verbose && gcc -I$PWD/../core/src/ ../core/unit_test/tools/TestCInterface.c''' + ../gnu_generate_makefile.bash \ + --with-options=compiler_warnings \ + --cxxflags="-Werror -Werror all-warnings -Xcudafe --diag_suppress=20208" \ + --cxxstandard=c++17 \ + --with-cuda \ + --with-cuda-options=enable_lambda \ + --arch=Volta70 \ + && \ + make test -j8''' + } + post { + always { + sh 'ccache --show-stats' + } } } } diff --git a/core/src/Kokkos_Macros.hpp b/core/src/Kokkos_Macros.hpp index 219001fd272..8a4687c20ec 100644 --- a/core/src/Kokkos_Macros.hpp +++ b/core/src/Kokkos_Macros.hpp @@ -588,6 +588,7 @@ static constexpr bool kokkos_omp_on_host() { return false; } #define KOKKOS_IMPL_STRINGIFY(x) #x #define KOKKOS_IMPL_TOSTRING(x) KOKKOS_IMPL_STRINGIFY(x) +// Comment #ifdef _MSC_VER #define KOKKOS_IMPL_DO_PRAGMA(x) __pragma(x) #define KOKKOS_IMPL_WARNING(desc) \