-
Notifications
You must be signed in to change notification settings - Fork 1
89 lines (78 loc) · 2.67 KB
/
cuda.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# Copyright 2024 Matt Borland
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
name: cuda
on:
push:
branches:
- master
- develop
- feature/**
pull_request:
release:
types: [published, created, edited]
concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
cuda-cmake-test:
strategy:
fail-fast: false
runs-on: gpu-runner-1
container:
image: nvidia/cuda:12.6.3-devel-ubuntu24.04
options: --gpus all
steps:
- uses: actions/checkout@v4
- name: Install Packages
run: |
apt-get update
apt-get install -y wget cmake git python3 build-essential
- name: Setup Boost
run: |
echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
LIBRARY=${GITHUB_REPOSITORY#*/}
echo LIBRARY: $LIBRARY
echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
echo GITHUB_BASE_REF: $GITHUB_BASE_REF
echo GITHUB_REF: $GITHUB_REF
REF=${GITHUB_BASE_REF:-$GITHUB_REF}
REF=${REF#refs/heads/}
echo REF: $REF
BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
echo BOOST_BRANCH: $BOOST_BRANCH
cd ..
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
mkdir -p libs/$LIBRARY
cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
git submodule update --init tools/boostdep
python3 tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY
- name: Check CUDA Installation
run: |
nvidia-smi
nvcc --version
ls -l /usr/local/cuda-12.6/bin/nvcc
- name: Configure
run: |
cd ../boost-root
mkdir __build__ && cd __build__
cmake -DBOOST_INCLUDE_LIBRARIES=$LIBRARY \
-DBUILD_TESTING=ON \
-DCMAKE_CUDA_COMPILER=/usr/local/cuda-12.6/bin/nvcc \
-DBOOST_CRYPT_ENABLE_CUDA=1 \
-DCMAKE_CUDA_ARCHITECTURES=70 \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.6 \
-DCUDA_PATH=/usr/local/cuda-12.6 \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
.. \
--debug-output
- name: Build tests
run: |
cd ../boost-root/__build__
cmake --build . --target tests -j $(nproc) --verbose
- name: Run tests
run: |
cd ../boost-root/__build__
ctest --output-on-failure --no-tests=error