Skip to content

Move kernel_configuration to rt, and add static object for kernel con… #1327

Move kernel_configuration to rt, and add static object for kernel con…

Move kernel_configuration to rt, and add static object for kernel con… #1327

name: Self-hosted CI
on: [push, pull_request]
jobs:
test-gpu-nvidia:
if: github.repository_id == '140986400'
name: NVIDIA with clang ${{ matrix.clang_version }}, CUDA ${{matrix.cuda}}
runs-on: [self-hosted, gpu-nvidia]
strategy:
matrix:
clang_version: ['15']
cuda: ['11.0']
nvhpc_version: ['22.11']
steps:
- uses: actions/checkout@v4
- name: build
run : |
mkdir build && cd build
cmake -DCMAKE_CXX_COMPILER=/usr/bin/clang++-${{matrix.clang_version}} -DCLANG_EXECUTABLE_PATH=/usr/bin/clang++-${{matrix.clang_version}} -DLLVM_DIR=/usr/lib/llvm-${{matrix.clang_version}}/cmake -DWITH_CUDA_BACKEND=ON -DWITH_ROCM_BACKEND=ON -DCMAKE_INSTALL_PREFIX=`pwd`/install -DCUDA_TOOLKIT_ROOT_DIR=/opt/cuda-${{matrix.cuda}} -DROCM_PATH=/opt/rocm ..
make -j16 install
cp /.singularity.d/libs/libcuda.* `pwd`/install/lib/
- name: build generic SSCP tests
if: matrix.clang_version >= 14
run: |
mkdir ${GITHUB_WORKSPACE}/build/tests-sscp
cd ${GITHUB_WORKSPACE}/build/tests-sscp
cmake -DACPP_TARGETS="generic" -DAdaptiveCpp_DIR=${GITHUB_WORKSPACE}/build/install/lib/cmake/AdaptiveCpp -DWITH_PSTL_TESTS=ON ${GITHUB_WORKSPACE}/tests
make -j16
- name: build CUDA tests (integrated multipass)
run: |
mkdir ${GITHUB_WORKSPACE}/build/tests-cuda
cd ${GITHUB_WORKSPACE}/build/tests-cuda
cmake -DACPP_TARGETS="omp;cuda:sm_61" -DAdaptiveCpp_DIR=${GITHUB_WORKSPACE}/build/install/lib/cmake/AdaptiveCpp -DWITH_PSTL_TESTS=ON ${GITHUB_WORKSPACE}/tests
make -j16
- name: build CUDA tests (explicit multipass)
run: |
mkdir ${GITHUB_WORKSPACE}/build/tests-cuda-emp
cd ${GITHUB_WORKSPACE}/build/tests-cuda-emp
cmake -DACPP_TARGETS="omp;cuda.explicit-multipass:sm_61;hip:gfx906" -DAdaptiveCpp_DIR=${GITHUB_WORKSPACE}/build/install/lib/cmake/AdaptiveCpp ${GITHUB_WORKSPACE}/tests
make -j16
# NVC++ is commented out for now, because the build takes ages
# and it seems that nvc++ currently miscompiles some tests
# (e.g. group algorithms) that would need fixing first.
#
#- name: build CUDA tests (nvc++)
# run: |
# mkdir ${GITHUB_WORKSPACE}/build/tests-cuda-nvcxx
# cd ${GITHUB_WORKSPACE}/build/tests-cuda-nvcxx
# export NV_HPC_SDK_ROOT=/opt/nvidia/hpc_sdk/Linux_x86_64/${{matrix.nvhpc_version}}
# export ACPP_NVCXX=${NV_HPC_SDK_ROOT}/compilers/bin/nvc++
# cmake -DACPP_TARGETS="cuda-nvcxx" -DAdaptiveCpp_DIR=${GITHUB_WORKSPACE}/build/install/lib/cmake/AdaptiveCpp ${GITHUB_WORKSPACE}/tests
# make -j16
- name: run CUDA tests (integrated multipass)
run: |
echo "Running tests on CUDA..."
cd ${GITHUB_WORKSPACE}/build/tests-cuda
ACPP_VISIBILITY_MASK="omp;cuda" ./sycl_tests
- name: run CUDA tests (explicit multipass)
run: |
echo "Running tests on CUDA..."
cd ${GITHUB_WORKSPACE}/build/tests-cuda-emp
ACPP_VISIBILITY_MASK="omp;cuda" ./sycl_tests
- name: run PSTL CUDA tests (integrated multipass)
run: |
cd ${GITHUB_WORKSPACE}/build/tests-cuda
ACPP_VISIBILITY_MASK="omp;cuda" ./pstl_tests
- name: run PSTL CUDA tests (SSCP)
run: |
cd ${GITHUB_WORKSPACE}/build/tests-sscp
ACPP_VISIBILITY_MASK="omp;cuda" ./pstl_tests
#- name: run CUDA tests (nvc++)
# run: |
# echo "Running tests on CUDA..."
# cd ${GITHUB_WORKSPACE}/build/tests-cuda-nvcxx
# ./sycl_tests
- name: run CPU tests
run: |
cd ${GITHUB_WORKSPACE}/build/tests-cuda
ACPP_VISIBILITY_MASK=omp LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/build/install/lib ./sycl_tests
- name: run CPU tests (SSCP)
run: |
cd ${GITHUB_WORKSPACE}/build/tests-sscp
ACPP_VISIBILITY_MASK=omp LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/build/install/lib ./sycl_tests -t '!group_functions_tests/*' -t '!extension_tests/*' -t '!kernel_invocation_tests/hierarchical*'
- name: run PSTL CPU tests (SSCP)
run: |
cd ${GITHUB_WORKSPACE}/build/tests-sscp
ACPP_VISIBILITY_MASK=omp LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/build/install/lib ./pstl_tests
test-gpu-amd:
if: github.repository_id == '140986400'
name: AMD with clang ${{ matrix.clang_version }}
runs-on: [self-hosted, gpu-amd]
strategy:
matrix:
clang_version: ['15']
cuda: ['11.0'] # Just to be able to build the backend for explicit multipass
steps:
- uses: actions/checkout@v4
- name: build
run : |
mkdir build && cd build
cmake -DCMAKE_CXX_COMPILER=/usr/bin/clang++-${{matrix.clang_version}} -DCLANG_EXECUTABLE_PATH=/usr/bin/clang++-${{matrix.clang_version}} -DLLVM_DIR=/usr/lib/llvm-${{matrix.clang_version}}/cmake -DWITH_CUDA_BACKEND=ON -DWITH_ROCM_BACKEND=ON -DCMAKE_INSTALL_PREFIX=`pwd`/install -DCUDA_TOOLKIT_ROOT_DIR=/opt/cuda-${{matrix.cuda}} -DROCM_PATH=/opt/rocm ..
make -j3 install
- name: build generic SSCP tests
if: matrix.clang_version >= 14
run: |
mkdir ${GITHUB_WORKSPACE}/build/tests-sscp
cd ${GITHUB_WORKSPACE}/build/tests-sscp
cmake -DACPP_TARGETS="generic" -DAdaptiveCpp_DIR=${GITHUB_WORKSPACE}/build/install/lib/cmake/AdaptiveCpp -DWITH_PSTL_TESTS=ON ${GITHUB_WORKSPACE}/tests
make -j3
- name: build ROCm tests (integrated multipass)
run: |
mkdir ${GITHUB_WORKSPACE}/build/tests-rocm
cd ${GITHUB_WORKSPACE}/build/tests-rocm
cmake -DACPP_TARGETS="omp;hip:gfx906" -DAdaptiveCpp_DIR=${GITHUB_WORKSPACE}/build/install/lib/cmake/AdaptiveCpp ${GITHUB_WORKSPACE}/tests
make -j3
- name: build ROCm tests (explicit multipass)
run: |
mkdir ${GITHUB_WORKSPACE}/build/tests-rocm-emp
cd ${GITHUB_WORKSPACE}/build/tests-rocm-emp
cmake -DACPP_TARGETS="omp;hip.explicit-multipass:gfx906;cuda:sm_61" -DAdaptiveCpp_DIR=${GITHUB_WORKSPACE}/build/install/lib/cmake/AdaptiveCpp ${GITHUB_WORKSPACE}/tests
make -j3
- name: run ROCm tests (integrated multipass)
run: |
echo "Running tests on AMD..."
cd ${GITHUB_WORKSPACE}/build/tests-rocm
ACPP_VISIBILITY_MASK="omp;hip" ./sycl_tests
- name: run ROCm tests (explicit multipass)
run: |
echo "Running tests on AMD..."
cd ${GITHUB_WORKSPACE}/build/tests-rocm-emp
ACPP_VISIBILITY_MASK="omp;hip" ./sycl_tests
- name: run PSTL ROCm tests (SSCP)
run: |
cd ${GITHUB_WORKSPACE}/build/tests-sscp
ACPP_VISIBILITY_MASK="omp;hip" ./pstl_tests
test-gpu-intel:
if: github.repository_id == '140986400'
name: Intel with clang ${{ matrix.clang_version }}
runs-on: [self-hosted, gpu-intel]
strategy:
matrix:
clang_version: ['15']
steps:
- uses: actions/checkout@v4
- name: build
run : |
mkdir build && cd build
cmake -DCMAKE_CXX_COMPILER=/usr/bin/clang++-${{matrix.clang_version}} -DCLANG_EXECUTABLE_PATH=/usr/bin/clang++-${{matrix.clang_version}} -DLLVM_DIR=/usr/lib/llvm-${{matrix.clang_version}}/cmake -DWITH_LEVEL_ZERO_BACKEND=ON -DWITH_OPENCL_BACKEND=ON -DCMAKE_INSTALL_PREFIX=`pwd`/install ..
make -j3 install
- name: build generic SSCP tests
if: matrix.clang_version >= 14
run: |
mkdir ${GITHUB_WORKSPACE}/build/tests-sscp
cd ${GITHUB_WORKSPACE}/build/tests-sscp
cmake -DACPP_TARGETS="generic" -DAdaptiveCpp_DIR=${GITHUB_WORKSPACE}/build/install/lib/cmake/AdaptiveCpp -DWITH_PSTL_TESTS=ON ${GITHUB_WORKSPACE}/tests
make pstl_tests -j3
- name: run PSTL Intel tests (L0)
if: matrix.clang_version >= 14
run: |
cd ${GITHUB_WORKSPACE}/build/tests-sscp
ACPP_VISIBILITY_MASK="omp;ze" ./pstl_tests
- name: run PSTL Intel tests (OpenCL)
if: matrix.clang_version >= 14
run: |
cd ${GITHUB_WORKSPACE}/build/tests-sscp
ACPP_VISIBILITY_MASK="omp;ocl:Graphics.*" ./pstl_tests