1- name : PyLops Testing ( CuPy)
1+ name : PyLops Testing with CuPy
22
33on :
44 pull_request :
@@ -24,25 +24,54 @@ jobs:
2424 python-version : 3.11
2525 - name : Install dependencies and pylops
2626 run : |
27- uv sync --locked -- extra advanced \
27+ uv sync --extra advanced \
2828 --extra stat --extra gpu-cu12 \
29- --extra deep-cu128 --all-groups
29+ --group dev
30+ uv pip install \
31+ --default-index https://download.pytorch.org/whl/cu128 \
32+ torch==2.11.0+cu128
33+ uv pip install \
34+ nvidia-cuda-nvcc-cu12==12.2.128 \
35+ nvidia-cuda-nvrtc-cu12==12.8.93 \
36+ nvidia-cuda-runtime-cu12==12.8.90
3037 echo "done!"
31- - name : Use local CUDA 12.8 toolkit
38+
39+ - name : Configure CUDA NVVM from uv wheels
3240 run : |
33- if [ ! -d "$HOME/local/cuda" ]; then
34- echo "CUDA 12.8 toolkit not found at $HOME/local/cuda"
41+ CUDA_HOME="$PWD/.venv/lib/python3.11/site-packages/nvidia/cuda_nvcc"
42+ CUDA_RUNTIME_ROOT="$PWD/.venv/lib/python3.11/site-packages/nvidia/cuda_runtime"
43+ CUDA_NVRTC_ROOT="$PWD/.venv/lib/python3.11/site-packages/nvidia/cuda_nvrtc"
44+
45+ if [ ! -f "$CUDA_HOME/nvvm/lib64/libnvvm.so" ]; then
46+ echo "libnvvm.so not found in $CUDA_HOME/nvvm/lib64"
47+ exit 1
48+ fi
49+ if [ ! -f "$CUDA_RUNTIME_ROOT/lib/libcudart.so.12" ]; then
50+ echo "libcudart.so.12 not found in $CUDA_RUNTIME_ROOT/lib"
3551 exit 1
3652 fi
37- echo "CUDA_HOME=$HOME/local/cuda" >> "$GITHUB_ENV"
53+ if [ ! -f "$CUDA_NVRTC_ROOT/lib/libnvrtc.so.12" ]; then
54+ echo "libnvrtc.so.12 not found in $CUDA_NVRTC_ROOT/lib"
55+ exit 1
56+ fi
57+
58+ mkdir -p "$CUDA_HOME/lib64"
59+ ln -sf "$CUDA_HOME/nvvm/lib64/libnvvm.so" "$CUDA_HOME/nvvm/lib64/libnvvm.so.4"
60+ ln -sf "$CUDA_HOME/nvvm/lib64/libnvvm.so" "$CUDA_HOME/lib64/libnvvm.so"
61+ ln -sf "$CUDA_RUNTIME_ROOT/lib/libcudart.so.12" "$CUDA_HOME/lib64/libcudart.so.12"
62+ ln -sf "$CUDA_RUNTIME_ROOT/lib/libcudart.so.12" "$CUDA_HOME/lib64/libcudart.so"
63+ ln -sf "$CUDA_NVRTC_ROOT/lib/libnvrtc.so.12" "$CUDA_HOME/lib64/libnvrtc.so.12"
64+ ln -sf "$CUDA_HOME/lib64/libnvrtc.so.12" "$CUDA_HOME/lib64/libnvrtc.so"
65+
66+ echo "CUDA_HOME=$CUDA_HOME" >> "$GITHUB_ENV"
67+ echo "CUDA_NVVM_LIB=$CUDA_HOME/nvvm/lib64" >> "$GITHUB_ENV"
3868 echo "done!"
3969 - name : Test with pytest
4070 run : |
41- # Use the local CUDA 12.8 toolchain from $HOME/local/cuda.
42- export CUDA_HOME="${CUDA_HOME:-$HOME/local/cuda}"
71+ export CUDA_HOME="${CUDA_HOME:-$PWD/.venv/lib/python3.11/site-packages/nvidia/cuda_nvcc}"
4372 export CUPY_PYLOPS=1
4473 export TEST_CUPY_PYLOPS=1
45- export PATH ="$CUDA_HOME/bin:$PATH "
46- export LD_LIBRARY_PATH ="$CUDA_HOME/lib64:$LD_LIBRARY_PATH "
47- uv run pytest --color=yes pytests/
74+ export LD_LIBRARY_PATH ="$CUDA_HOME/lib64:$CUDA_NVVM_LIB:$LD_LIBRARY_PATH "
75+ export NUMBA_CUDA_NVVM ="$CUDA_NVVM_LIB/libnvvm.so "
76+ uv run --no-sync pytest --color=yes pytests/
4877 echo "done!"
0 commit comments