Add first nvcc github action. (#407)

* Add first nvcc github action.

* More CUDA checks.

* Try adding nvcc+clang options.

* Add -latomic to clang command line.

* Correct previous command line change.

* Add clang-direct-to-cuda compile test.

* Correct CUDA arch.
This commit is contained in:
jzmaddock
2021-09-29 18:06:11 +01:00
committed by GitHub
parent 2fdfd43e20
commit 1e5f50939c

View File

@ -356,3 +356,61 @@ jobs:
source ../emsdk/emsdk_env.sh
emcc -pthread -s EXIT_RUNTIME=1 -s PTHREAD_POOL_SIZE=32 -s DISABLE_EXCEPTION_CATCHING=0 -I. -O3 -o config_test_pthread libs/config/test/config_test.cpp
node --experimental-wasm-threads --experimental-wasm-bulk-memory config_test_pthread
ubuntu-cuda:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
std: [ 11, 14, 17 ]
steps:
- uses: actions/checkout@v2
with:
fetch-depth: '0'
- uses: mstachniuk/ci-skip@v1
with:
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[windows];[Windows];[WINDOWS];[apple];[Apple];[APPLE]'
commit-filter-separator: ';'
fail-fast: true
- uses: Jimver/cuda-toolkit@v0.2.4
- name: Add repository
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
- name: Install packages
run: sudo apt install g++-11 clang-11
- name: Checkout main boost
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
- name: Update Dependencies
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits
working-directory: ../boost-root
- name: Copy files
run: cp -r $GITHUB_WORKSPACE/* libs/config
working-directory: ../boost-root
- name: Bootstrap
run: ./bootstrap.sh
working-directory: ../boost-root
- name: Generate headers
run: ./b2 headers
working-directory: ../boost-root
- name: nvcc version
run: nvcc --version
working-directory: ../boost-root/libs/config/test
- name: Config info nvcc
run: nvcc -std=c++${{ matrix.std }} -o config_info -I../../.. config_info.cpp && ./config_info
working-directory: ../boost-root/libs/config/test
- name: Config_test nvcc
run: nvcc -std=c++${{ matrix.std }} -o config_test -I../../.. config_test.cpp && ./config_test
working-directory: ../boost-root/libs/config/test
- name: Config_test nvcc-cuda
run: nvcc -c -std=c++${{ matrix.std }} -I../../.. config_test.cu
working-directory: ../boost-root/libs/config/test
- name: Config info nvcc+clang
run: nvcc -std=c++${{ matrix.std }} --compiler-bindir=clang++ -o config_info -I../../.. config_info.cpp && ./config_info
working-directory: ../boost-root/libs/config/test
- name: Config_test nvcc+clang
run: nvcc -std=c++${{ matrix.std }} --compiler-bindir=clang++ -o config_test -I../../.. config_test.cpp -latomic && ./config_test
working-directory: ../boost-root/libs/config/test
- name: Config_test nvcc-cuda+clang
run: nvcc -c -std=c++${{ matrix.std }} --compiler-bindir=clang++ -I../../.. config_test.cu
working-directory: ../boost-root/libs/config/test
- name: Config_test clang-cuda
run: clang++ -nocudalib --no-cuda-version-check -c --cuda-gpu-arch=sm_75 -std=c++${{ matrix.std }} -I../../.. config_test.cu
working-directory: ../boost-root/libs/config/test