Skip to content

Commit

Permalink
Merge pull request kokkos#6231 from ndellingwood/master
Browse files Browse the repository at this point in the history
Release 4.1.00
  • Loading branch information
crtrott authored Jun 28, 2023
2 parents 62d2b6c + 3e85bd9 commit 1a3ea28
Show file tree
Hide file tree
Showing 491 changed files with 24,280 additions and 23,575 deletions.
37 changes: 37 additions & 0 deletions .github/workflows/continuous-integration-workflow-32bit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: github-Linux-32bit
on: [push, pull_request]

concurrency:
group: ${ {github.event_name }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{github.event_name == 'pull_request'}}

jobs:
CI-32bit:
name: Linux-32bit
runs-on: ubuntu-latest
container:
image: ghcr.io/kokkos/ci-containers/ubuntu:latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: install_multilib
run: sudo apt-get update && sudo apt-get install -y gcc-multilib g++-multilib gfortran-multilib
- name: Configure Kokkos
run: |
cmake -B builddir \
-DKokkos_ENABLE_OPENMP=ON \
-DKokkos_ENABLE_TESTS=ON \
-DKokkos_ENABLE_BENCHMARKS=ON \
-DKokkos_ENABLE_EXAMPLES=ON \
-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_COMPILER=g++ \
-DCMAKE_BUILD_TYPE=RelWithDebInfo
- name: Build
run: |
cmake --build builddir --parallel 2
- name: Tests
working-directory: builddir
run: ctest --output-on-failure
10 changes: 4 additions & 6 deletions .github/workflows/continuous-integration-workflow-hpx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:

steps:
- name: checkout code
uses: actions/checkout@v2.2.0
uses: actions/checkout@v3
with:
path: kokkos
- name: setup hpx dependencies
Expand All @@ -26,12 +26,12 @@ jobs:
libboost-all-dev \
ninja-build
- name: checkout hpx
uses: actions/checkout@v2.2.0
uses: actions/checkout@v3
with:
repository: STELLAR-GROUP/hpx
ref: 1.7.1
ref: 1.8.0
path: hpx
- uses: actions/cache@v2
- uses: actions/cache@v3
id: cache-hpx
with:
path: ./hpx/install
Expand Down Expand Up @@ -69,12 +69,10 @@ jobs:
-DCMAKE_CXX_COMPILER=clang++ \
-DCMAKE_CXX_FLAGS="-Werror" \
-DHPX_ROOT=$PWD/../../hpx/install \
-DKokkos_ARCH_NATIVE=ON \
-DKokkos_ENABLE_COMPILER_WARNINGS=ON \
-DKokkos_ENABLE_DEPRECATED_CODE_4=OFF \
-DKokkos_ENABLE_EXAMPLES=ON \
-DKokkos_ENABLE_HPX=ON \
-DKokkos_ENABLE_HPX_ASYNC_DISPATCH=ON \
-DKokkos_ENABLE_SERIAL=OFF \
-DKokkos_ENABLE_TESTS=ON \
..
Expand Down
39 changes: 21 additions & 18 deletions .github/workflows/continuous-integration-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,30 +12,31 @@ jobs:
matrix:
distro: ['fedora:latest', 'fedora:rawhide', 'ubuntu:latest']
cxx: ['g++', 'clang++']
cxx_extra_flags: ['']
cmake_build_type: ['Release', 'Debug']
backend: ['OPENMP']
clang-tidy: ['']
include:
- distro: 'fedora:intel'
cxx: 'icpc'
cxx_extra_flags: '-diag-disable=177,10441'
cmake_build_type: 'Release'
backend: 'OPENMP'
clang-tidy: ''
- distro: 'fedora:intel'
cxx: 'icpc'
cxx_extra_flags: '-diag-disable=177,10441'
cmake_build_type: 'Debug'
backend: 'OPENMP'
clang-tidy: ''
- distro: 'fedora:intel'
cxx: 'icpx'
cxx_extra_flags: '-fp-model=precise -Wno-pass-failed'
cmake_build_type: 'Release'
backend: 'OPENMP'
clang-tidy: ''
- distro: 'fedora:intel'
cxx: 'icpx'
cxx_extra_flags: '-fp-model=precise -Wno-pass-failed'
cmake_build_type: 'Debug'
backend: 'OPENMP'
clang-tidy: ''
- distro: 'ubuntu:latest'
cxx: 'clang++'
cmake_build_type: 'RelWithDebInfo'
Expand All @@ -48,11 +49,9 @@ jobs:
runs-on: ubuntu-latest
container:
image: ghcr.io/kokkos/ci-containers/${{ matrix.distro }}
# see https://github.com/actions/virtual-environments/issues/3812
options: --security-opt seccomp=unconfined
steps:
- name: Checkout desul
uses: actions/checkout@v2.2.0
uses: actions/checkout@v3
with:
repository: desul/desul
ref: 477da9c8f40f8db369c28dd3f93a67e376d8511b
Expand All @@ -67,21 +66,17 @@ jobs:
cmake -DDESUL_ENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr/desul-install ..
sudo cmake --build . --target install --parallel 2
- name: Checkout code
uses: actions/checkout@v2.2.0
- uses: actions/cache@v2
uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: ~/.ccache
key: kokkos-${{ matrix.distro }}-${{ matrix.cxx }}-${{ matrix.cmake_build_type }}-${{ matrix.openmp }}-${github.ref}-${{ github.sha }}
restore-keys: kokkos-${{ matrix.distro }}-${{ matrix.cxx }}-${{ matrix.cmake_build_type }}-${{ matrix.openmp }}-${{github.ref}}
path: ~/.cache/ccache
key: kokkos-${{ matrix.distro }}-${{ matrix.cxx }}-${{ matrix.cmake_build_type }}-${{ matrix.openmp }}-${{ github.ref }}-${{ github.sha }}
restore-keys: kokkos-${{ matrix.distro }}-${{ matrix.cxx }}-${{ matrix.cmake_build_type }}-${{ matrix.openmp }}-${{ github.ref }}
- name: maybe_disable_death_tests
if: ${{ matrix.distro == 'fedora:rawhide' }}
run: echo "GTEST_FILTER=-*DeathTest*" >> $GITHUB_ENV
# Re-enable when latest is F37+
# - name: maybe_use_flang
# if: ${{ matrix.cxx == 'clang++' && startsWith(matrix.distro,'fedora:') }}
# run: echo "FC=flang" >> $GITHUB_ENV
- name: maybe_use_flang_new
if: ${{ matrix.cxx == 'clang++' && startsWith(matrix.distro,'fedora:rawhide') }}
if: ${{ matrix.cxx == 'clang++' && startsWith(matrix.distro,'fedora:') }}
run: echo "FC=flang-new" >> $GITHUB_ENV
- name: maybe_use_external_gtest
if: ${{ matrix.distro == 'ubuntu:latest' }}
Expand All @@ -95,7 +90,6 @@ jobs:
-DCMAKE_INSTALL_PREFIX=/usr \
${{ matrix.clang-tidy }} \
-Ddesul_ROOT=/usr/desul-install/ \
-DKokkos_ARCH_NATIVE=ON \
-DKokkos_ENABLE_DESUL_ATOMICS_EXTERNAL=ON \
-DKokkos_ENABLE_HWLOC=ON \
-DKokkos_ENABLE_${{ matrix.backend }}=ON \
Expand All @@ -104,7 +98,10 @@ jobs:
-DKokkos_ENABLE_EXAMPLES=ON \
-DKokkos_ENABLE_DEPRECATED_CODE_4=ON \
-DKokkos_ENABLE_DEPRECATION_WARNINGS=OFF \
-DKokkos_ENABLE_COMPILER_WARNINGS=ON \
-DCMAKE_CXX_FLAGS="-Werror ${{ matrix.cxx_extra_flags }}" \
-DCMAKE_CXX_COMPILER=${{ matrix.cxx }} \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_BUILD_TYPE=${{ matrix.cmake_build_type }}
- name: Build
run: |
Expand All @@ -114,6 +111,12 @@ jobs:
- name: Tests
working-directory: builddir
run: ctest --output-on-failure
- name: Test linking against build dir
working-directory: example/build_cmake_installed
run: |
cmake -B builddir_buildtree -DCMAKE_CXX_COMPILER=${{ matrix.cxx }} -DKokkos_ROOT=../../builddir
cmake --build builddir_buildtree
cmake --build builddir_buildtree --target test
- name: Test DESTDIR Install
run: DESTDIR=${PWD}/install cmake --build builddir --target install && rm -rf ${PWD}/install/usr && rmdir ${PWD}/install
- name: Install
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/osx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,13 @@ jobs:
cmake_build_type: "Release"

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: configure
run:
cmake -B build .
-DKokkos_ENABLE_${{ matrix.backend }}=On
-DCMAKE_CXX_FLAGS="-Werror"
-DCMAKE_CXX_STANDARD=17
-DKokkos_ARCH_NATIVE=ON
-DKokkos_ENABLE_COMPILER_WARNINGS=ON
-DKokkos_ENABLE_DEPRECATED_CODE_4=OFF
-DKokkos_ENABLE_TESTS=On
Expand Down
61 changes: 61 additions & 0 deletions .github/workflows/performance-benchmark.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: github-benchmarks
on:
push:
branches:
- develop
pull_request:

jobs:
CI:
continue-on-error: true
strategy:
matrix:
distro: ['ubuntu:latest']
cxx: ['g++', 'clang++']
backend: ['OPENMP']
runs-on: ubuntu-latest
container:
image: ghcr.io/kokkos/ci-containers/${{ matrix.distro }}
env:
BUILD_ID: ${{ matrix.distro }}-${{ matrix.cxx }}-${{ matrix.backend }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: ~/.cache/ccache
key: kokkos-${{ matrix.distro }}-${{ matrix.cxx }}-${{ matrix.backend }}-${{ github.ref }}-${{ github.sha }}
restore-keys: kokkos-${{ matrix.distro }}-${{ matrix.cxx }}-${{ matrix.backend }}-${{ github.ref }}
- name: Configure Kokkos
run: |
cmake -B builddir \
-DKokkos_ENABLE_HWLOC=ON \
-DKokkos_ENABLE_${{ matrix.backend }}=ON \
-DKokkos_ENABLE_BENCHMARKS=ON \
-DCMAKE_CXX_COMPILER=${{ matrix.cxx }} \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_BUILD_TYPE=Release
- name: Build
run: |
ccache -z
NUM_CPU=$(grep -c processor /proc/cpuinfo)
cmake --build builddir --parallel ${NUM_CPU}
ccache -s
- name: Tests
working-directory: builddir
run: ctest --output-on-failure
- name: Gather benchmark results
run: |
mkdir ${{ env.BUILD_ID }}
find builddir/core/perf_test/ -name "*.json" -exec mv {} ${{ env.BUILD_ID }}/ \;
- name: Push benchmark results
if: ${{ github.ref == 'refs/heads/develop' }}
uses: dmnemec/copy_file_to_another_repo_action@main
env:
API_TOKEN_GITHUB: ${{ secrets.DALG24_PUSH_BENCHMARK_RESULTS }}
with:
source_file: ${{ env.BUILD_ID }}
destination_repo: 'kokkos/kokkos-benchmark-results'
destination_branch: 'main'
user_email: 'kokkos@users.noreply.github.com'
user_name: 'Kokkos Developers'
13 changes: 8 additions & 5 deletions .jenkins
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ pipeline {
dockerfile {
filename 'Dockerfile.clang'
dir 'scripts/docker'
label 'nvidia-docker || docker'
label 'nvidia-docker || rocm-docker || docker'
args '-v /tmp/ccache.kokkos:/tmp/ccache'
}
}
Expand Down Expand Up @@ -101,12 +101,14 @@ pipeline {
}
steps {
sh 'ccache --zero-stats'
sh '''rm -rf build && mkdir -p build && cd build && \
sh '''. /opt/intel/oneapi/setvars.sh --include-intel-llvm && \
rm -rf build && mkdir -p build && cd build && \
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER=clang++ \
-DCMAKE_CXX_FLAGS="-fsycl-device-code-split=per_kernel -Werror -Wno-gnu-zero-variadic-macro-arguments -Wno-linker-warnings" \
-DCMAKE_CXX_COMPILER=/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/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" \
-DKOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED=0 \
-DKokkos_ARCH_NATIVE=ON \
-DKokkos_ARCH_VOLTA70=ON \
-DKokkos_ENABLE_COMPILER_WARNINGS=ON \
Expand Down Expand Up @@ -343,7 +345,7 @@ pipeline {
--with-cuda \
--with-cuda-options=enable_lambda \
--arch=Volta70 \
.. && \
&& \
make test -j8'''
}
post {
Expand Down Expand Up @@ -487,6 +489,7 @@ pipeline {
-DCMAKE_CXX_FLAGS=-Werror \
-DKokkos_ARCH_NATIVE=ON \
-DKokkos_ENABLE_COMPILER_WARNINGS=ON \
-DKokkos_ENABLE_DEPRECATED_CODE_3=ON \
-DKokkos_ENABLE_DEPRECATED_CODE_4=ON \
-DKokkos_ENABLE_DEPRECATION_WARNINGS=OFF \
-DKokkos_ENABLE_TESTS=ON \
Expand Down
76 changes: 76 additions & 0 deletions .jenkins_nightly
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
pipeline {
agent none

options {
timeout(time: 6, unit: 'HOURS')
}

stages {
stage('Build') {
parallel {
stage('spack-serial') {
agent {
docker {
image 'ubuntu:22.04'
label 'docker'
}
}
steps {
sh '''
DEBIAN_FRONTEND=noninteractive && \
apt-get update && apt-get upgrade -y && apt-get install -y \
build-essential \
wget \
git \
bc \
python3-dev \
&& \
apt-get clean && rm -rf /var/lib/apt/lists/*

rm -rf spack && \
git clone https://github.com/spack/spack.git && \
. ./spack/share/spack/setup-env.sh && \
spack install kokkos@develop+tests && \
spack load cmake && \
spack test run kokkos && \
spack test results -l
'''
}
}
stage('spack-cuda') {
agent {
docker {
image 'nvidia/cuda:12.1.0-devel-ubuntu22.04'
label 'nvidia-docker && ampere'
}
}
steps {
sh '''
DEBIAN_FRONTEND=noninteractive && \
apt-get update && apt-get upgrade -y && apt-get install -y \
build-essential \
wget \
git \
bc \
python3-dev \
gfortran \
&& \
apt-get clean && rm -rf /var/lib/apt/lists/*

rm -rf spack && \
git clone https://github.com/spack/spack.git && \
. ./spack/share/spack/setup-env.sh && \
spack install kokkos@develop+cuda+wrapper+tests cuda_arch=80 ^cuda@12.1.0 && \
spack load cmake && \
spack load kokkos-nvcc-wrapper && \
spack load cuda && \
spack load kokkos && \
spack test run kokkos && \
spack test results -l
'''
}
}
}
}
}
}
Loading

0 comments on commit 1a3ea28

Please sign in to comment.