Skip to content

Commit 029e74e

Browse files
committed
add a new exouser runner
1 parent ed04f7f commit 029e74e

1 file changed

Lines changed: 77 additions & 0 deletions

File tree

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: PyLops Testing (CuPy Exouser)
2+
3+
on:
4+
pull_request:
5+
types: [opened, synchronize, reopened]
6+
push:
7+
branches:
8+
- main
9+
- dev
10+
11+
jobs:
12+
build:
13+
runs-on:
14+
- self-hosted
15+
- exouser
16+
steps:
17+
- name: Check out source repository
18+
uses: actions/checkout@v6
19+
with:
20+
fetch-depth: 0
21+
- name: Install uv with Python 3.11
22+
uses: astral-sh/setup-uv@v6
23+
with:
24+
python-version: 3.11
25+
- name: Install dependencies and pylops
26+
run: |
27+
uv sync --extra advanced \
28+
--extra stat --extra gpu-cu12 \
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
37+
echo "done!"
38+
39+
- name: Configure CUDA NVVM from uv wheels
40+
run: |
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"
51+
exit 1
52+
fi
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"
68+
echo "done!"
69+
- name: Test with pytest
70+
run: |
71+
export CUDA_HOME="${CUDA_HOME:-$PWD/.venv/lib/python3.11/site-packages/nvidia/cuda_nvcc}"
72+
export CUPY_PYLOPS=1
73+
export TEST_CUPY_PYLOPS=1
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/
77+
echo "done!"

0 commit comments

Comments
 (0)