Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
b8238f9
initial
brandon-b-miller Mar 10, 2025
9c56e55
slightly refactor cuda_paths
brandon-b-miller Mar 11, 2025
886b9b0
refactor libdevice search mechanism
brandon-b-miller Mar 11, 2025
7ffef77
debug get_cuda_paths
brandon-b-miller Mar 11, 2025
fcedb13
can launch kernel
brandon-b-miller Mar 11, 2025
151e565
cleanup
brandon-b-miller Mar 11, 2025
b4ededf
style
brandon-b-miller Mar 11, 2025
4f2bc2b
reset files
brandon-b-miller Mar 11, 2025
5f4ed8f
initial ci scripts
brandon-b-miller Mar 18, 2025
d4bf113
add pynvjitlink to tests and enable
brandon-b-miller Mar 18, 2025
443e998
locate nvrtc
brandon-b-miller Mar 22, 2025
1b436c6
working inside container
brandon-b-miller Mar 22, 2025
532d864
somewhat roundabout logic works for system/wheel
brandon-b-miller Mar 23, 2025
59bb493
skip tests with no set bin dir
brandon-b-miller Mar 24, 2025
f5dbee6
ensure builtins on windows
brandon-b-miller Mar 24, 2025
43c3ec2
merge/resolve
brandon-b-miller Mar 31, 2025
6a68eb8
remove system nvrtc from wheel test job
brandon-b-miller Mar 31, 2025
3dbd42d
refactor _get_nvvm_wheel
brandon-b-miller Mar 31, 2025
3f4ca51
actually install nvrtc from wheel
brandon-b-miller Apr 1, 2025
3e8651c
merge/resolve
brandon-b-miller Apr 2, 2025
2364278
merge/resolve
brandon-b-miller Apr 8, 2025
42af9ad
ruff
brandon-b-miller Apr 8, 2025
8cf66d0
prioritize wheels over system installs
brandon-b-miller Apr 10, 2025
4f686e9
global search priority
brandon-b-miller Apr 11, 2025
1e3f9a6
Merge branch 'main' into locate-nvvm-nvrtc-wheels
brandon-b-miller Apr 14, 2025
3d65c3d
local import of driver to determine cuda version
brandon-b-miller Apr 14, 2025
78cebea
short circuit
brandon-b-miller Apr 14, 2025
4e8f73f
bugfix
brandon-b-miller Apr 14, 2025
00bb4da
address reviews
brandon-b-miller Apr 15, 2025
5cebb44
Update numba_cuda/numba/cuda/cuda_paths.py
brandon-b-miller Apr 17, 2025
c14644a
get runtime lib from wheel as well
brandon-b-miller Apr 17, 2025
9b3bad9
remove system packages from conda test jobs
brandon-b-miller Apr 17, 2025
51f7694
only remove system packages in cuda 12 ci test jobs
brandon-b-miller Apr 17, 2025
8cc37d7
address reviews in cuda_paths.py
brandon-b-miller Apr 17, 2025
d5b68a9
add Graham's patch
brandon-b-miller Apr 17, 2025
dfe25c8
source cudart from wheel
brandon-b-miller Apr 17, 2025
9fc2531
simplify logic
brandon-b-miller Apr 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ jobs:
- build-wheels
- test-wheels
- test-wheels-pynvjitlink
- test-wheels-deps-wheels
- build-docs
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@branch-25.04
Expand Down Expand Up @@ -94,6 +95,14 @@ jobs:
script: "ci/test_wheel_pynvjitlink.sh"
# This selects "ARCH=amd64 and CUDA >=12, with the latest supported Python for each CUDA major version".
matrix_filter: map(select(.ARCH == "amd64" and (.CUDA_VER | split(".") | .[0] | tonumber >= 12))) | group_by(.CUDA_VER|split(".")|map(tonumber)|.[0]) | map(max_by([(.PY_VER|split(".")|map(tonumber)), (.CUDA_VER|split(".")|map(tonumber))]))
test-wheels-deps-wheels:
needs:
- build-wheels
uses: ./.github/workflows/wheels-test.yaml
with:
build_type: pull-request
script: "ci/test_wheel_deps_wheels.sh"
matrix_filter: map(select(.ARCH == "amd64" and (.CUDA_VER | split(".") | .[0] | tonumber >= 12))) | group_by(.CUDA_VER|split(".")|map(tonumber)|.[0]) | map(max_by([(.PY_VER|split(".")|map(tonumber)), (.CUDA_VER|split(".")|map(tonumber))]))
build-docs:
needs:
- build-conda
Expand Down
5 changes: 5 additions & 0 deletions ci/test_conda.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,13 @@ if [ "${CUDA_VER%.*.*}" = "11" ]; then
CTK_PACKAGES="cudatoolkit"
else
CTK_PACKAGES="cuda-cccl cuda-nvcc-impl cuda-nvrtc libcurand-dev"
apt-get update
apt remove --purge `dpkg --get-selections | grep cuda-nvvm | awk '{print $1}'` -y
apt remove --purge `dpkg --get-selections | grep cuda-nvrtc | awk '{print $1}'` -y
fi



rapids-logger "Install testing dependencies"
# TODO: Replace with rapids-dependency-file-generator
rapids-mamba-retry create -n test \
Expand Down
56 changes: 56 additions & 0 deletions ci/test_wheel_deps_wheels.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#!/bin/bash
# Copyright (c) 2023-2024, NVIDIA CORPORATION

set -euo pipefail

rapids-logger "Install testing dependencies"
# TODO: Replace with rapids-dependency-file-generator
python -m pip install \
psutil \
cffi \
cuda-python \
nvidia-cuda-runtime-cu12 \
nvidia-curand-cu12 \
nvidia-cuda-nvcc-cu12 \
nvidia-cuda-nvrtc-cu12 \
pynvjitlink-cu12 \
pytest


rapids-logger "Build tests"
PY_SCRIPT="
import numba_cuda
root = numba_cuda.__file__.rstrip('__init__.py')
test_dir = root + \"numba/cuda/tests/test_binary_generation/\"
print(test_dir)
"

NUMBA_CUDA_TEST_BIN_DIR=$(python -c "$PY_SCRIPT")
pushd $NUMBA_CUDA_TEST_BIN_DIR
make
popd

rapids-logger "Install wheel"
package=$(realpath wheel/numba_cuda*.whl)
echo "Package path: $package"
python -m pip install $package

rapids-logger "Check GPU usage"
nvidia-smi

RAPIDS_TESTS_DIR=${RAPIDS_TESTS_DIR:-"${PWD}/test-results"}/
mkdir -p "${RAPIDS_TESTS_DIR}"
pushd "${RAPIDS_TESTS_DIR}"

rapids-logger "Show Numba system info"
python -m numba --sysinfo

# remove cuda-nvvm-12-5 leaving libnvvm.so from nvidia-cuda-nvcc-cu12 only
apt-get update
apt remove --purge `dpkg --get-selections | grep cuda-nvvm | awk '{print $1}'` -y
apt remove --purge `dpkg --get-selections | grep cuda-nvrtc | awk '{print $1}'` -y

rapids-logger "Run Tests"
NUMBA_CUDA_ENABLE_PYNVJITLINK=1 NUMBA_CUDA_TEST_BIN_DIR=$NUMBA_CUDA_TEST_BIN_DIR python -m numba.runtests numba.cuda.tests -v

popd
Loading