Skip to content

Commit 08ceff9

Browse files
authored
Merge pull request kokkos#7202 from ndellingwood/master-release-4.4.00
Master release 4.4.00
2 parents 6ecdf60 + 948c134 commit 08ceff9

File tree

266 files changed

+14497
-9984
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

266 files changed

+14497
-9984
lines changed

.github/dependabot.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "github-actions"
4+
directory: /
5+
schedule:
6+
interval: "weekly"

.github/workflows/clang-format-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ jobs:
1010
steps:
1111
- uses: actions/checkout@v4
1212
- name: Run clang-format style check.
13-
uses: DoozyX/clang-format-lint-action@v0.16.2
13+
uses: DoozyX/clang-format-lint-action@v0.17
1414
with:
1515
clangFormatVersion: 8

.github/workflows/continuous-integration-workflow-32bit.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
-DKokkos_ENABLE_DEPRECATED_CODE_4=ON \
3737
-DKokkos_ENABLE_DEPRECATION_WARNINGS=OFF \
3838
-DKokkos_ENABLE_COMPILER_WARNINGS=ON \
39-
-DCMAKE_CXX_FLAGS="-Werror -m32 -DKOKKOS_IMPL_32BIT" \
39+
-DCMAKE_CXX_FLAGS="-Werror -m32" \
4040
-DCMAKE_CXX_COMPILER=g++ \
4141
-DCMAKE_BUILD_TYPE=RelWithDebInfo
4242
- name: Build

.github/workflows/continuous-integration-workflow.yml

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,50 +20,59 @@ jobs:
2020
continue-on-error: true
2121
strategy:
2222
matrix:
23-
distro: ['fedora:latest', 'fedora:rawhide', 'ubuntu:latest']
23+
distro: ['fedora:latest', 'ubuntu:latest']
2424
cxx: ['g++', 'clang++']
2525
cxx_extra_flags: ['']
2626
cmake_build_type: ['Release', 'Debug']
2727
backend: ['OPENMP']
2828
clang-tidy: ['']
29+
stdcxx: [17]
2930
include:
3031
- distro: 'ubuntu:intel'
3132
cxx: 'icpc'
3233
cxx_extra_flags: '-diag-disable=177,10441'
3334
cmake_build_type: 'Release'
3435
backend: 'OPENMP'
36+
stdcxx: '17'
3537
- distro: 'ubuntu:intel'
3638
cxx: 'icpc'
3739
cxx_extra_flags: '-diag-disable=177,10441'
3840
cmake_build_type: 'Debug'
3941
backend: 'OPENMP'
42+
stdcxx: '17'
4043
- distro: 'ubuntu:intel'
4144
cxx: 'icpx'
42-
cxx_extra_flags: '-fp-model=precise -Wno-pass-failed'
45+
cxx_extra_flags: '-fp-model=precise -Wno-pass-failed -fsanitize=address,undefined -fno-sanitize=function -fno-sanitize-recover=all'
46+
extra_linker_flags: '-fsanitize=address,undefined -fno-sanitize=function -fno-sanitize-recover=all'
4347
cmake_build_type: 'Release'
4448
backend: 'OPENMP'
49+
stdcxx: '17'
4550
- distro: 'ubuntu:intel'
4651
cxx: 'icpx'
4752
cxx_extra_flags: '-fp-model=precise -Wno-pass-failed'
4853
cmake_build_type: 'Debug'
4954
backend: 'OPENMP'
55+
stdcxx: '20'
5056
- distro: 'ubuntu:latest'
5157
cxx: 'clang++'
52-
cxx_extra_flags: '-fsanitize=address'
53-
extra_linker_flags: '-fsanitize=address'
58+
cxx_extra_flags: '-fsanitize=address,undefined -fno-sanitize=function -fno-sanitize-recover=all'
59+
extra_linker_flags: '-fsanitize=address,undefined -fno-sanitize=function -fno-sanitize-recover=all'
5460
cmake_build_type: 'RelWithDebInfo'
5561
backend: 'THREADS'
5662
clang-tidy: '-DCMAKE_CXX_CLANG_TIDY="clang-tidy;-warnings-as-errors=*"'
63+
stdcxx: '23'
5764
- distro: 'ubuntu:latest'
5865
cxx: 'clang++'
59-
cxx_extra_flags: '-fsanitize=address'
60-
extra_linker_flags: '-fsanitize=address'
66+
cxx_extra_flags: '-fsanitize=address,undefined -fno-sanitize=function -fno-sanitize-recover=all'
67+
extra_linker_flags: '-fsanitize=address,undefined -fno-sanitize=function -fno-sanitize-recover=all'
6168
cmake_build_type: 'RelWithDebInfo'
6269
backend: 'SERIAL'
70+
stdcxx: '20'
6371
- distro: 'ubuntu:latest'
6472
cxx: 'g++'
6573
cmake_build_type: 'RelWithDebInfo'
6674
backend: 'THREADS'
75+
stdcxx: '23'
6776
runs-on: ubuntu-latest
6877
container:
6978
image: ghcr.io/kokkos/ci-containers/${{ matrix.distro }}
@@ -72,7 +81,7 @@ jobs:
7281
uses: actions/checkout@v4
7382
with:
7483
repository: desul/desul
75-
ref: 477da9c8f40f8db369c28dd3f93a67e376d8511b
84+
ref: 779d0441a778c7088a36d38c4cbf8df3cfa182cc
7685
path: desul
7786
- name: Install desul
7887
working-directory: desul
@@ -114,8 +123,8 @@ jobs:
114123
-DKokkos_ENABLE_DEPRECATED_CODE_4=ON \
115124
-DKokkos_ENABLE_DEPRECATION_WARNINGS=OFF \
116125
-DKokkos_ENABLE_COMPILER_WARNINGS=ON \
117-
-DKokkos_ENABLE_IMPL_MDSPAN=ON \
118126
-DCMAKE_CXX_FLAGS="-Werror ${{ matrix.cxx_extra_flags }}" \
127+
-DCMAKE_CXX_STANDARD="${{ matrix.stdcxx }}" \
119128
-DCMAKE_EXE_LINKER_FLAGS="${{ matrix.extra_linker_flags }}" \
120129
-DCMAKE_CXX_COMPILER=${{ matrix.cxx }} \
121130
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
@@ -129,7 +138,7 @@ jobs:
129138
working-directory: builddir
130139
run: ctest --output-on-failure
131140
- name: Test linking against build dir
132-
if: ${{ matrix.cxx_extra_flags != '-fsanitize=address' }}
141+
if: ${{ !contains(matrix.cxx_extra_flags, '-fsanitize=address') }}
133142
working-directory: example/build_cmake_installed
134143
run: |
135144
cmake -B builddir_buildtree -DCMAKE_CXX_COMPILER=${{ matrix.cxx }} -DKokkos_ROOT=../../builddir
@@ -140,7 +149,7 @@ jobs:
140149
- name: Install
141150
run: sudo cmake --build builddir --target install
142151
- name: Test install
143-
if: ${{ matrix.cxx_extra_flags != '-fsanitize=address' }}
152+
if: ${{ !contains(matrix.cxx_extra_flags, '-fsanitize=address') }}
144153
working-directory: example/build_cmake_installed
145154
run: |
146155
cmake -B builddir -DCMAKE_CXX_COMPILER=${{ matrix.cxx }}

.github/workflows/releases.yml

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
on:
2+
push:
3+
tags: '[0-9]+.[0-9]+.[0-9][0-9]'
4+
5+
6+
permissions: read-all
7+
8+
jobs:
9+
# This step builds our artifacts, uploads them to the workflow run, and
10+
# outputs their digest.
11+
build:
12+
outputs:
13+
hashes: ${{ steps.hash.outputs.hashes }}
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v4
17+
- name: Build artifacts
18+
run: |
19+
git archive -o kokkos-${{ github.ref_name }}.zip HEAD
20+
git archive -o kokkos-${{ github.ref_name }}.tar.gz HEAD
21+
22+
- name: Generate hashes
23+
shell: bash
24+
id: hash
25+
run: |
26+
# sha256sum generates sha256 hash for all artifacts.
27+
# base64 -w0 encodes to base64 and outputs on a single line.
28+
echo "hashes=$(sha256sum kokkos-${{ github.ref_name }}.zip kokkos-${{ github.ref_name }}.tar.gz | base64 -w0)" >> "$GITHUB_OUTPUT"
29+
30+
- name: Upload source code (zip)
31+
uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029 # v4.3.5
32+
with:
33+
name: kokkos-${{ github.ref_name }}.zip
34+
path: kokkos-${{ github.ref_name }}.zip
35+
if-no-files-found: error
36+
retention-days: 5
37+
38+
- name: Upload source code (tar.gz)
39+
uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029 # v4.3.5
40+
with:
41+
name: kokkos-${{ github.ref_name }}.tar.gz
42+
path: kokkos-${{ github.ref_name }}.tar.gz
43+
if-no-files-found: error
44+
retention-days: 5
45+
46+
# This step calls the generic workflow to generate provenance.
47+
provenance:
48+
needs: [build]
49+
permissions:
50+
actions: read
51+
id-token: write
52+
contents: write
53+
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v2.0.0
54+
with:
55+
base64-subjects: "${{ needs.build.outputs.hashes }}"
56+
# Upload provenance to a new release
57+
upload-assets: true
58+
provenance-name: "kokkos-${{ github.ref_name }}.intoto.jsonl"
59+
60+
# This step uploads our artifacts to the tagged GitHub release.
61+
release:
62+
needs: [build, provenance]
63+
permissions:
64+
contents: write
65+
runs-on: ubuntu-latest
66+
if: startsWith(github.ref, 'refs/tags/')
67+
steps:
68+
- name: Download kokkos-${{ github.ref_name }}.zip
69+
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
70+
with:
71+
name: kokkos-${{ github.ref_name }}.zip
72+
73+
- name: Download kokkos-${{ github.ref_name }}.tar.gz
74+
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
75+
with:
76+
name: kokkos-${{ github.ref_name }}.tar.gz
77+
78+
- name: Upload assets
79+
uses: softprops/action-gh-release@c062e08bd532815e2082a85e87e3ef29c3e6d191 # v2.0.8
80+
with:
81+
files: |
82+
kokkos-${{ github.ref_name }}.zip
83+
kokkos-${{ github.ref_name }}.tar.gz

.github/workflows/scorecard.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@ jobs:
3333

3434
steps:
3535
- name: "Checkout code"
36-
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
36+
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
3737
with:
3838
persist-credentials: false
3939

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

6969
# Upload the results to GitHub's code scanning dashboard.
7070
- name: "Upload SARIF results to code scanning"
71-
uses: github/codeql-action/upload-sarif@83f0fe6c4988d98a455712a27f0255212bba9bd4 # v2.3.6
71+
uses: github/codeql-action/upload-sarif@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6
7272
with:
7373
sarif_file: results.sarif

.github/workflows/windows.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ jobs:
1717
runs-on: windows-2022
1818

1919
steps:
20-
- uses: Jimver/cuda-toolkit@v0.2.14
20+
- uses: Jimver/cuda-toolkit@v0.2.16
2121
id: cuda-toolkit
2222
with:
23-
cuda: '12.1.0'
23+
cuda: '12.4.1'
2424
- uses: actions/checkout@v4
2525
- name: configure
2626
shell: bash

.jenkins

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ pipeline {
5858
make -j8 && ctest --verbose'''
5959
}
6060
}
61-
stage('CUDA-12.2-NVHPC') {
61+
stage('CUDA-12.2-NVHPC-AS-HOST-COMPILER') {
6262
agent {
6363
dockerfile {
6464
filename 'Dockerfile.nvhpc'
@@ -82,16 +82,14 @@ pipeline {
8282
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
8383
-DCMAKE_CXX_COMPILER=nvc++ \
8484
-DCMAKE_CXX_STANDARD=17 \
85-
-DCMAKE_CXX_FLAGS="--diag_suppress=implicit_return_from_non_void_function,no_device_stack" \
85+
-DCMAKE_CXX_FLAGS="--diag_suppress=implicit_return_from_non_void_function" \
8686
-DKokkos_ARCH_NATIVE=ON \
8787
-DKokkos_ENABLE_COMPILER_WARNINGS=ON \
8888
-DKokkos_ENABLE_DEPRECATED_CODE_4=OFF \
8989
-DKokkos_ENABLE_TESTS=ON \
9090
-DKokkos_ENABLE_CUDA=ON \
9191
-DKokkos_ENABLE_CUDA_LAMBDA=ON \
9292
-DKokkos_ENABLE_OPENMP=ON \
93-
-DKokkos_ENABLE_IMPL_MDSPAN=ON \
94-
-DKokkos_ENABLE_IMPL_NVHPC_AS_DEVICE_COMPILER=ON \
9593
.. && \
9694
make -j8 && ctest --verbose'''
9795
}
@@ -113,6 +111,7 @@ pipeline {
113111
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
114112
-DCMAKE_CXX_COMPILER=clang++ \
115113
-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" \
114+
-DCMAKE_PREFIX_PATH="$ONE_DPL_DIR" \
116115
-DKOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED=0 \
117116
-DKokkos_ARCH_NATIVE=ON \
118117
-DKokkos_ARCH_AMPERE80=ON \
@@ -166,6 +165,7 @@ pipeline {
166165
-DKokkos_ENABLE_BENCHMARKS=ON \
167166
-DKokkos_ENABLE_HIP=ON \
168167
-DKokkos_ENABLE_OPENMP=ON \
168+
-DKokkos_ENABLE_IMPL_MDSPAN=OFF \
169169
-DKokkos_ENABLE_HIP_MULTIPLE_KERNEL_INSTANTIATIONS=ON \
170170
.. && \
171171
make -j8 && ctest --verbose'''
@@ -181,7 +181,7 @@ pipeline {
181181
dockerfile {
182182
filename 'Dockerfile.hipcc'
183183
dir 'scripts/docker'
184-
additionalBuildArgs '--build-arg BASE=rocm/dev-ubuntu-20.04:5.6-complete'
184+
additionalBuildArgs '--build-arg BASE=rocm/dev-ubuntu-22.04:5.6-complete'
185185
label 'rocm-docker'
186186
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'
187187
}
@@ -190,6 +190,7 @@ pipeline {
190190
sh 'ccache --zero-stats'
191191
sh '''rm -rf build && mkdir -p build && cd build && \
192192
cmake \
193+
-DBUILD_SHARED_LIBS=ON \
193194
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
194195
-DCMAKE_CXX_COMPILER=hipcc \
195196
-DCMAKE_CXX_FLAGS="-Werror -Wno-unused-command-line-argument" \
@@ -345,7 +346,7 @@ pipeline {
345346
sh '''rm -rf build && mkdir -p build && cd build && \
346347
../gnu_generate_makefile.bash \
347348
--with-options=compiler_warnings \
348-
--cxxflags="-Werror" \
349+
--cxxflags="-Werror -Werror all-warnings -Xcudafe --diag_suppress=20208" \
349350
--cxxstandard=c++17 \
350351
--with-cuda \
351352
--with-cuda-options=enable_lambda \
@@ -365,7 +366,7 @@ pipeline {
365366
filename 'Dockerfile.nvcc'
366367
dir 'scripts/docker'
367368
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'
368-
label 'nvidia-docker'
369+
label 'nvidia-docker && (volta || ampere)'
369370
args '-v /tmp/ccache.kokkos:/tmp/ccache --env NVIDIA_VISIBLE_DEVICES=$NVIDIA_VISIBLE_DEVICES'
370371
}
371372
}
@@ -396,7 +397,6 @@ pipeline {
396397
-DKokkos_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE=ON \
397398
-DKokkos_ENABLE_DEPRECATED_CODE_4=ON \
398399
-DKokkos_ENABLE_DEPRECATION_WARNINGS=OFF \
399-
-DKokkos_ENABLE_IMPL_MDSPAN=ON \
400400
-DCMAKE_INSTALL_PREFIX=${PWD}/../install \
401401
.. && \
402402
make -j8 install && \
@@ -437,18 +437,19 @@ pipeline {
437437
filename 'Dockerfile.nvcc'
438438
dir 'scripts/docker'
439439
additionalBuildArgs '--build-arg BASE=nvidia/cuda:11.6.2-devel-ubuntu20.04'
440-
label 'nvidia-docker'
440+
label 'nvidia-docker && (volta || ampere)'
441441
args '-v /tmp/ccache.kokkos:/tmp/ccache --env NVIDIA_VISIBLE_DEVICES=$NVIDIA_VISIBLE_DEVICES'
442442
}
443443
}
444444
steps {
445445
sh 'ccache --zero-stats'
446446
sh '''rm -rf build && mkdir -p build && cd build && \
447447
cmake \
448+
-DBUILD_SHARED_LIBS=ON \
448449
-DCMAKE_BUILD_TYPE=Debug \
449450
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
450451
-DCMAKE_CXX_COMPILER=$WORKSPACE/bin/nvcc_wrapper \
451-
-DCMAKE_CXX_FLAGS=-Werror \
452+
-DCMAKE_CXX_FLAGS="-Werror -Werror all-warnings -Xcudafe --diag_suppress=20208" \
452453
-DCMAKE_CXX_STANDARD=17 \
453454
-DKokkos_ARCH_NATIVE=ON \
454455
-DKokkos_ENABLE_COMPILER_WARNINGS=ON \
@@ -460,7 +461,7 @@ pipeline {
460461
-DKokkos_ENABLE_CUDA=ON \
461462
-DKokkos_ENABLE_CUDA_LAMBDA=ON \
462463
-DKokkos_ENABLE_LIBDL=OFF \
463-
-DKokkos_ENABLE_IMPL_MDSPAN=ON \
464+
-DKokkos_ENABLE_IMPL_MDSPAN=OFF \
464465
-DKokkos_ENABLE_IMPL_CUDA_MALLOC_ASYNC=OFF \
465466
.. && \
466467
make -j8 && ctest --verbose && \
@@ -497,7 +498,7 @@ pipeline {
497498
-DKokkos_ARCH_NATIVE=ON \
498499
-DKokkos_ENABLE_COMPILER_WARNINGS=ON \
499500
-DKokkos_ENABLE_DEPRECATED_CODE_4=ON \
500-
-DKokkos_ENABLE_DEPRECATION_WARNINGS=OFF \
501+
-DKokkos_ENABLE_DEPRECATION_WARNINGS=ON \
501502
-DKokkos_ENABLE_TESTS=ON \
502503
-DKokkos_ENABLE_BENCHMARKS=ON \
503504
-DKokkos_ENABLE_OPENMP=ON \

0 commit comments

Comments
 (0)