Skip to content

Commit

Permalink
Merge branch 'release-candidate-4.4.00' for 4.4.00
Browse files Browse the repository at this point in the history
Part of Kokkos C++ Performance Portability Programming EcoSystem 4.4
  • Loading branch information
ndellingwood committed Aug 7, 2024
2 parents 6ecdf60 + f15e90c commit 03a8d18
Show file tree
Hide file tree
Showing 264 changed files with 14,413 additions and 9,984 deletions.
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: /
schedule:
interval: "weekly"
2 changes: 1 addition & 1 deletion .github/workflows/clang-format-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Run clang-format style check.
uses: DoozyX/clang-format-lint-action@v0.16.2
uses: DoozyX/clang-format-lint-action@v0.17
with:
clangFormatVersion: 8
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
-DKokkos_ENABLE_DEPRECATED_CODE_4=ON \
-DKokkos_ENABLE_DEPRECATION_WARNINGS=OFF \
-DKokkos_ENABLE_COMPILER_WARNINGS=ON \
-DCMAKE_CXX_FLAGS="-Werror -m32 -DKOKKOS_IMPL_32BIT" \
-DCMAKE_CXX_FLAGS="-Werror -m32" \
-DCMAKE_CXX_COMPILER=g++ \
-DCMAKE_BUILD_TYPE=RelWithDebInfo
- name: Build
Expand Down
29 changes: 19 additions & 10 deletions .github/workflows/continuous-integration-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,50 +20,59 @@ jobs:
continue-on-error: true
strategy:
matrix:
distro: ['fedora:latest', 'fedora:rawhide', 'ubuntu:latest']
distro: ['fedora:latest', 'ubuntu:latest']
cxx: ['g++', 'clang++']
cxx_extra_flags: ['']
cmake_build_type: ['Release', 'Debug']
backend: ['OPENMP']
clang-tidy: ['']
stdcxx: [17]
include:
- distro: 'ubuntu:intel'
cxx: 'icpc'
cxx_extra_flags: '-diag-disable=177,10441'
cmake_build_type: 'Release'
backend: 'OPENMP'
stdcxx: '17'
- distro: 'ubuntu:intel'
cxx: 'icpc'
cxx_extra_flags: '-diag-disable=177,10441'
cmake_build_type: 'Debug'
backend: 'OPENMP'
stdcxx: '17'
- distro: 'ubuntu:intel'
cxx: 'icpx'
cxx_extra_flags: '-fp-model=precise -Wno-pass-failed'
cxx_extra_flags: '-fp-model=precise -Wno-pass-failed -fsanitize=address,undefined -fno-sanitize=function -fno-sanitize-recover=all'
extra_linker_flags: '-fsanitize=address,undefined -fno-sanitize=function -fno-sanitize-recover=all'
cmake_build_type: 'Release'
backend: 'OPENMP'
stdcxx: '17'
- distro: 'ubuntu:intel'
cxx: 'icpx'
cxx_extra_flags: '-fp-model=precise -Wno-pass-failed'
cmake_build_type: 'Debug'
backend: 'OPENMP'
stdcxx: '20'
- distro: 'ubuntu:latest'
cxx: 'clang++'
cxx_extra_flags: '-fsanitize=address'
extra_linker_flags: '-fsanitize=address'
cxx_extra_flags: '-fsanitize=address,undefined -fno-sanitize=function -fno-sanitize-recover=all'
extra_linker_flags: '-fsanitize=address,undefined -fno-sanitize=function -fno-sanitize-recover=all'
cmake_build_type: 'RelWithDebInfo'
backend: 'THREADS'
clang-tidy: '-DCMAKE_CXX_CLANG_TIDY="clang-tidy;-warnings-as-errors=*"'
stdcxx: '23'
- distro: 'ubuntu:latest'
cxx: 'clang++'
cxx_extra_flags: '-fsanitize=address'
extra_linker_flags: '-fsanitize=address'
cxx_extra_flags: '-fsanitize=address,undefined -fno-sanitize=function -fno-sanitize-recover=all'
extra_linker_flags: '-fsanitize=address,undefined -fno-sanitize=function -fno-sanitize-recover=all'
cmake_build_type: 'RelWithDebInfo'
backend: 'SERIAL'
stdcxx: '20'
- distro: 'ubuntu:latest'
cxx: 'g++'
cmake_build_type: 'RelWithDebInfo'
backend: 'THREADS'
stdcxx: '23'
runs-on: ubuntu-latest
container:
image: ghcr.io/kokkos/ci-containers/${{ matrix.distro }}
Expand All @@ -72,7 +81,7 @@ jobs:
uses: actions/checkout@v4
with:
repository: desul/desul
ref: 477da9c8f40f8db369c28dd3f93a67e376d8511b
ref: 779d0441a778c7088a36d38c4cbf8df3cfa182cc
path: desul
- name: Install desul
working-directory: desul
Expand Down Expand Up @@ -114,8 +123,8 @@ jobs:
-DKokkos_ENABLE_DEPRECATED_CODE_4=ON \
-DKokkos_ENABLE_DEPRECATION_WARNINGS=OFF \
-DKokkos_ENABLE_COMPILER_WARNINGS=ON \
-DKokkos_ENABLE_IMPL_MDSPAN=ON \
-DCMAKE_CXX_FLAGS="-Werror ${{ matrix.cxx_extra_flags }}" \
-DCMAKE_CXX_STANDARD="${{ matrix.stdcxx }}" \
-DCMAKE_EXE_LINKER_FLAGS="${{ matrix.extra_linker_flags }}" \
-DCMAKE_CXX_COMPILER=${{ matrix.cxx }} \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
Expand All @@ -129,7 +138,7 @@ jobs:
working-directory: builddir
run: ctest --output-on-failure
- name: Test linking against build dir
if: ${{ matrix.cxx_extra_flags != '-fsanitize=address' }}
if: ${{ !contains(matrix.cxx_extra_flags, '-fsanitize=address') }}
working-directory: example/build_cmake_installed
run: |
cmake -B builddir_buildtree -DCMAKE_CXX_COMPILER=${{ matrix.cxx }} -DKokkos_ROOT=../../builddir
Expand All @@ -140,7 +149,7 @@ jobs:
- name: Install
run: sudo cmake --build builddir --target install
- name: Test install
if: ${{ matrix.cxx_extra_flags != '-fsanitize=address' }}
if: ${{ !contains(matrix.cxx_extra_flags, '-fsanitize=address') }}
working-directory: example/build_cmake_installed
run: |
cmake -B builddir -DCMAKE_CXX_COMPILER=${{ matrix.cxx }}
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ jobs:

steps:
- name: "Checkout code"
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
persist-credentials: false

- name: "Run analysis"
uses: ossf/scorecard-action@80e868c13c90f172d68d1f4501dee99e2479f7af # v2.1.3
uses: ossf/scorecard-action@62b2cac7ed8198b15735ed49ab1e5cf35480ba46 # v2.4.0
with:
results_file: results.sarif
results_format: sarif
Expand All @@ -60,14 +60,14 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
with:
name: SARIF file
path: results.sarif
retention-days: 5

# Upload the results to GitHub's code scanning dashboard.
- name: "Upload SARIF results to code scanning"
uses: github/codeql-action/upload-sarif@83f0fe6c4988d98a455712a27f0255212bba9bd4 # v2.3.6
uses: github/codeql-action/upload-sarif@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6
with:
sarif_file: results.sarif
4 changes: 2 additions & 2 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ jobs:
runs-on: windows-2022

steps:
- uses: Jimver/cuda-toolkit@v0.2.14
- uses: Jimver/cuda-toolkit@v0.2.16
id: cuda-toolkit
with:
cuda: '12.1.0'
cuda: '12.4.1'
- uses: actions/checkout@v4
- name: configure
shell: bash
Expand Down
25 changes: 13 additions & 12 deletions .jenkins
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ pipeline {
make -j8 && ctest --verbose'''
}
}
stage('CUDA-12.2-NVHPC') {
stage('CUDA-12.2-NVHPC-AS-HOST-COMPILER') {
agent {
dockerfile {
filename 'Dockerfile.nvhpc'
Expand All @@ -82,16 +82,14 @@ pipeline {
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_CXX_COMPILER=nvc++ \
-DCMAKE_CXX_STANDARD=17 \
-DCMAKE_CXX_FLAGS="--diag_suppress=implicit_return_from_non_void_function,no_device_stack" \
-DCMAKE_CXX_FLAGS="--diag_suppress=implicit_return_from_non_void_function" \
-DKokkos_ARCH_NATIVE=ON \
-DKokkos_ENABLE_COMPILER_WARNINGS=ON \
-DKokkos_ENABLE_DEPRECATED_CODE_4=OFF \
-DKokkos_ENABLE_TESTS=ON \
-DKokkos_ENABLE_CUDA=ON \
-DKokkos_ENABLE_CUDA_LAMBDA=ON \
-DKokkos_ENABLE_OPENMP=ON \
-DKokkos_ENABLE_IMPL_MDSPAN=ON \
-DKokkos_ENABLE_IMPL_NVHPC_AS_DEVICE_COMPILER=ON \
.. && \
make -j8 && ctest --verbose'''
}
Expand All @@ -113,6 +111,7 @@ pipeline {
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER=clang++ \
-DCMAKE_CXX_FLAGS="-fsycl-device-code-split=per_kernel -Wno-deprecated-declarations -Werror -Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-cuda-version -Wno-sycl-target" \
-DCMAKE_PREFIX_PATH="$ONE_DPL_DIR" \
-DKOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED=0 \
-DKokkos_ARCH_NATIVE=ON \
-DKokkos_ARCH_AMPERE80=ON \
Expand Down Expand Up @@ -166,6 +165,7 @@ pipeline {
-DKokkos_ENABLE_BENCHMARKS=ON \
-DKokkos_ENABLE_HIP=ON \
-DKokkos_ENABLE_OPENMP=ON \
-DKokkos_ENABLE_IMPL_MDSPAN=OFF \
-DKokkos_ENABLE_HIP_MULTIPLE_KERNEL_INSTANTIATIONS=ON \
.. && \
make -j8 && ctest --verbose'''
Expand All @@ -181,7 +181,7 @@ pipeline {
dockerfile {
filename 'Dockerfile.hipcc'
dir 'scripts/docker'
additionalBuildArgs '--build-arg BASE=rocm/dev-ubuntu-20.04:5.6-complete'
additionalBuildArgs '--build-arg BASE=rocm/dev-ubuntu-22.04:5.6-complete'
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'
}
Expand All @@ -190,6 +190,7 @@ pipeline {
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" \
Expand Down Expand Up @@ -345,7 +346,7 @@ pipeline {
sh '''rm -rf build && mkdir -p build && cd build && \
../gnu_generate_makefile.bash \
--with-options=compiler_warnings \
--cxxflags="-Werror" \
--cxxflags="-Werror -Werror all-warnings -Xcudafe --diag_suppress=20208" \
--cxxstandard=c++17 \
--with-cuda \
--with-cuda-options=enable_lambda \
Expand All @@ -365,7 +366,7 @@ pipeline {
filename 'Dockerfile.nvcc'
dir 'scripts/docker'
additionalBuildArgs '--build-arg BASE=nvidia/cuda:11.0.3-devel-ubuntu18.04 --build-arg ADDITIONAL_PACKAGES="g++-8 gfortran clang" --build-arg CMAKE_VERSION=3.17.3'
label 'nvidia-docker'
label 'nvidia-docker && (volta || ampere)'
args '-v /tmp/ccache.kokkos:/tmp/ccache --env NVIDIA_VISIBLE_DEVICES=$NVIDIA_VISIBLE_DEVICES'
}
}
Expand Down Expand Up @@ -396,7 +397,6 @@ pipeline {
-DKokkos_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE=ON \
-DKokkos_ENABLE_DEPRECATED_CODE_4=ON \
-DKokkos_ENABLE_DEPRECATION_WARNINGS=OFF \
-DKokkos_ENABLE_IMPL_MDSPAN=ON \
-DCMAKE_INSTALL_PREFIX=${PWD}/../install \
.. && \
make -j8 install && \
Expand Down Expand Up @@ -437,18 +437,19 @@ pipeline {
filename 'Dockerfile.nvcc'
dir 'scripts/docker'
additionalBuildArgs '--build-arg BASE=nvidia/cuda:11.6.2-devel-ubuntu20.04'
label 'nvidia-docker'
label 'nvidia-docker && (volta || ampere)'
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 && \
cmake \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER=$WORKSPACE/bin/nvcc_wrapper \
-DCMAKE_CXX_FLAGS=-Werror \
-DCMAKE_CXX_FLAGS="-Werror -Werror all-warnings -Xcudafe --diag_suppress=20208" \
-DCMAKE_CXX_STANDARD=17 \
-DKokkos_ARCH_NATIVE=ON \
-DKokkos_ENABLE_COMPILER_WARNINGS=ON \
Expand All @@ -460,7 +461,7 @@ pipeline {
-DKokkos_ENABLE_CUDA=ON \
-DKokkos_ENABLE_CUDA_LAMBDA=ON \
-DKokkos_ENABLE_LIBDL=OFF \
-DKokkos_ENABLE_IMPL_MDSPAN=ON \
-DKokkos_ENABLE_IMPL_MDSPAN=OFF \
-DKokkos_ENABLE_IMPL_CUDA_MALLOC_ASYNC=OFF \
.. && \
make -j8 && ctest --verbose && \
Expand Down Expand Up @@ -497,7 +498,7 @@ pipeline {
-DKokkos_ARCH_NATIVE=ON \
-DKokkos_ENABLE_COMPILER_WARNINGS=ON \
-DKokkos_ENABLE_DEPRECATED_CODE_4=ON \
-DKokkos_ENABLE_DEPRECATION_WARNINGS=OFF \
-DKokkos_ENABLE_DEPRECATION_WARNINGS=ON \
-DKokkos_ENABLE_TESTS=ON \
-DKokkos_ENABLE_BENCHMARKS=ON \
-DKokkos_ENABLE_OPENMP=ON \
Expand Down
54 changes: 45 additions & 9 deletions .jenkins_nightly
Original file line number Diff line number Diff line change
Expand Up @@ -70,38 +70,74 @@ pipeline {
'''
}
}
stage('GCC-13') {
stage('GCC-14') {
agent {
docker {
image 'gcc:13.1'
image 'gcc:14.1'
label 'docker'
}
}
steps {
sh '''
DEBIAN_FRONTEND=noninteractive && \
apt-get update && apt-get upgrade -y && apt-get install -y \
cmake \
&& \
apt-get clean && rm -rf /var/lib/apt/lists/*
wget https://github.com/Kitware/CMake/releases/download/v3.30.0/cmake-3.30.0-linux-x86_64.sh && \
chmod +x cmake-3.30.0-linux-x86_64.sh && ./cmake-3.30.0-linux-x86_64.sh --skip-license --prefix=/usr

mkdir -p build && cd build && \
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_STANDARD=23 \
-DCMAKE_CXX_STANDARD=26 \
-DCMAKE_CXX_FLAGS=-Werror \
-DKokkos_ARCH_NATIVE=ON \
-DKokkos_ENABLE_COMPILER_WARNINGS=ON \
-DKokkos_ENABLE_BENCHMARKS=ON \
-DKokkos_ENABLE_EXAMPLES=ON \
-DKokkos_ENABLE_TESTS=ON \
-DKokkos_ENABLE_DEPRECATION_WARNINGS=OFF \
-DKokkos_ENABLE_DEPRECATED_CODE_4=ON \
-DKokkos_ENABLE_DEPRECATION_WARNINGS=ON \
-DKokkos_ENABLE_SERIAL=ON \
.. && \
make -j8 && ctest --verbose
'''
}
}
stage('HIP-ROCM-6.1') {
agent {
dockerfile {
filename 'Dockerfile.hipcc'
dir 'scripts/docker'
additionalBuildArgs '--build-arg BASE=rocm/dev-ubuntu-22.04:6.1.2-complete'
label 'rocm-docker && AMD_Radeon_Instinct_MI210'
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'
}
}
environment {
// FIXME Test returns a wrong value
GTEST_FILTER = '-hip_hostpinned.view_allocation_large_rank'
}
steps {
sh 'ccache --zero-stats'
sh '''rm -rf build && mkdir -p build && cd build && \
cmake \
-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=ON \
-DKokkos_ENABLE_TESTS=ON \
-DKokkos_ENABLE_BENCHMARKS=ON \
-DKokkos_ENABLE_HIP=ON \
.. && \
make -j8 && ctest --verbose'''
}
post {
always {
sh 'ccache --show-stats'
}
}
}
}
}
}
Expand Down
12 changes: 12 additions & 0 deletions .olcf-gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
test:
stage: test
tags: [frontier, shell]
id_tokens:
OLCF_ID_TOKEN:
aud: https://code.olcf.ornl.gov
script:
- module load rocm/6.0
- cmake -B build -DCMAKE_CXX_COMPILER=hipcc -DKokkos_ENABLE_HIP=ON -DKokkos_ENABLE_TESTS=ON
- cmake --build build -j48
- cd build
- ctest -E Kokkos_CoreUnitTest_DeviceAndThreads -V
Loading

0 comments on commit 03a8d18

Please sign in to comment.