Skip to content

Commit d1162a6

Browse files
[GHA] fix/improve CUDA and NiftyPET
- use CUDA version - let CMake find NiftyPET
1 parent 1c3cba5 commit d1162a6

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

.github/workflows/build-test.yml

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
- os: ubuntu-latest
3838
compiler: gcc
3939
compiler_version: 9
40-
CUDA: "OFF"
40+
cuda_version: "0"
4141
BUILD_FLAGS: "-DSTIR_OPENMP=ON"
4242
BUILD_TYPE: "Release"
4343
parallelproj: "ON"
@@ -46,7 +46,7 @@ jobs:
4646
- os: ubuntu-latest
4747
compiler: clang
4848
#compiler_version:
49-
CUDA: "OFF"
49+
cuda_version: "0"
5050
BUILD_FLAGS: "-DSTIR_OPENMP=ON"
5151
BUILD_TYPE: "Release"
5252
parallelproj: "ON"
@@ -56,7 +56,7 @@ jobs:
5656
- os: ubuntu-latest
5757
compiler: gcc
5858
compiler_version: 10
59-
CUDA: "OFF"
59+
cuda_version: "0"
6060
BUILD_FLAGS: "-DSTIR_OPENMP=ON -DCMAKE_CXX_STANDARD=17"
6161
BUILD_TYPE: "Debug"
6262
parallelproj: "OFF"
@@ -65,7 +65,7 @@ jobs:
6565
- os: ubuntu-latest
6666
compiler: gcc
6767
compiler_version: 12
68-
CUDA: "OFF"
68+
cuda_version: "0"
6969
BUILD_FLAGS: "-DSTIR_OPENMP=ON -DCMAKE_CXX_STANDARD=14"
7070
BUILD_TYPE: "RelWithDebInfo"
7171
parallelproj: "ON"
@@ -74,7 +74,7 @@ jobs:
7474
- os: ubuntu-latest
7575
compiler: gcc
7676
compiler_version: 12
77-
CUDA: "ON"
77+
cuda_version: "12.1.0"
7878
BUILD_FLAGS: "-DSTIR_OPENMP=ON -DCMAKE_CXX_STANDARD=14"
7979
BUILD_TYPE: "Release"
8080
parallelproj: "ON"
@@ -83,7 +83,7 @@ jobs:
8383
- os: macOS-latest
8484
compiler: gcc
8585
compiler_version: 11
86-
CUDA: "OFF"
86+
cuda_version: "0"
8787
BUILD_FLAGS: "-DSTIR_OPENMP=OFF"
8888
parallelproj: "OFF"
8989
BUILD_TYPE: "Debug"
@@ -102,7 +102,7 @@ jobs:
102102
# let's run all of them, as opposed to aborting when one fails
103103
fail-fast: false
104104

105-
name: ${{ matrix.os }}-${{ matrix.compiler }}${{ matrix.compiler_version }}-${{ matrix.BUILD_TYPE }}-pp=${{ matrix.parallelproj }}-ROOT=${{ matrix.ROOT }}
105+
name: ${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.compiler_version }}-cuda${{ matrix.cuda_version }}-${{ matrix.BUILD_TYPE }}-pp=${{ matrix.parallelproj }}-ROOT=${{ matrix.ROOT }}
106106

107107
steps:
108108
- name: disk space
@@ -166,11 +166,12 @@ jobs:
166166
echo CC="$CC" >> $GITHUB_ENV
167167
echo CXX="$CXX" >> $GITHUB_ENV
168168
169-
- if: ${{ matrix.CUDA }} == "ON"
169+
- if: ${{ ! matrix.cuda_version == '0' }}
170170
uses: Jimver/cuda-toolkit@v0.2.11
171171
id: cuda-toolkit
172172
with:
173-
cuda: '12.1.0'
173+
cuda: ${{ matrix.cuda_version }}
174+
linux-local-args: '["--toolkit"]'
174175

175176
- name: install_dependencies
176177
shell: bash
@@ -232,15 +233,20 @@ jobs:
232233
git clone --depth 1 --branch v1.3.7 https://github.com/gschramm/parallelproj
233234
mkdir parallelproj/build
234235
cd parallelproj/build
235-
cmake .. -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DSKIP_CUDA_LIB:BOOL=ON
236+
if test ! "${{matrix.cuda_version}}" == "0"; then
237+
extra_args="-DSKIP_CUDA_LIB:BOOL=ON"
238+
fi
239+
cmake .. -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} "${extra_args}"
236240
cmake --build . --target install --config Release
237241
cd ../..
238242
fi
239243
# Install NiftyPET
240-
if test "${{matrix.CUDA}}XX" == "ONXX"; then
244+
if test ! "${{matrix.cuda_version}}" == "0"; then
241245
export PATHTOOLS=${GITHUB_WORKSPACE}/NiftyPET_tools
242246
export HMUDIR=${GITHUB_WORKSPACE}/mmr_hardwareumaps
243247
python -m pip install "nipet>=2"
248+
niftypet_cmake_prefix=${{python -c "from niftypet.nipet import cmake_prefix; print(cmake_prefix)"}}
249+
echo NiftyPET_PREFIX="$niftypet_cmake_prefix" >> $GITHUB_ENV
244250
fi
245251
246252
# Install ROOT (warning: currently only valid on Ubuntu)
@@ -269,7 +275,7 @@ jobs:
269275
- name: ccache
270276
uses: hendrikmuhs/ccache-action@v1
271277
with:
272-
key: ${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.compiler_version }}-${{ matrix.BUILD_TYPE }}
278+
key: ${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.compiler_version }}-cuda${{ matrix.cuda_version }}-${{ matrix.BUILD_TYPE }}
273279
max-size: "2G"
274280

275281
- name: configure
@@ -291,6 +297,7 @@ jobs:
291297
echo CMAKE_INSTALL_PREFIX="$CMAKE_INSTALL_PREFIX" >> $GITHUB_ENV
292298
EXTRA_BUILD_FLAGS="-DBUILD_SWIG_PYTHON=ON -DPYTHON_EXECUTABLE=`which python`"
293299
EXTRA_BUILD_FLAGS="${EXTRA_BUILD_FLAGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_BUILD_TYPE=${BUILD_TYPE}"
300+
EXTRA_BUILD_FLAGS="${EXTRA_BUILD_FLAGS} -DCMAKE_PREFIX_DIR=${NiftyPET_PREFIX}"
294301
EXTRA_BUILD_FLAGS="${EXTRA_BUILD_FLAGS} -DDOWNLOAD_ZENODO_TEST_DATA=ON"
295302
EXTRA_BUILD_FLAGS="${EXTRA_BUILD_FLAGS} -DDISABLE_STIR_LOCAL=OFF -DSTIR_LOCAL=${GITHUB_WORKSPACE}/examples/C++/src"
296303
echo "cmake flags $BUILD_FLAGS $EXTRA_BUILD_FLAGS"

0 commit comments

Comments
 (0)