test: isolate library wheel smoke test - #5608
Conversation
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
|
/ok to test 5825636 |
|
/ok to test 5d4d61d |
|
/ok to test 21150af |
|
CI got stuck here in the latest GitHub outage, just merged in latest |
| --prefer-binary \ | ||
| --constraint "${PIP_CONSTRAINT}" \ | ||
| "${LIBCUGRAPH_WHEELHOUSE}"/libcugraph*.whl | ||
| python -c "import libcugraph; assert (libraries := libcugraph.load_library()) and all(libraries)" |
There was a problem hiding this comment.
This is failing only for CUDA 12 right now.
+ python -c 'import libcugraph; assert (libraries := libcugraph.load_library()) and all(libraries)'
Traceback (most recent call last):
File "<string>", line 1, in <module>
import libcugraph; assert (libraries := libcugraph.load_library()) and all(libraries)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError
I could reproduce that locally.
docker run \
--rm \
--gpus all \
-it rapidsai/citestwheel:26.10-cuda12.9.2-rockylinux8-py3.13 \
bash
pip install \
--extra-index-url https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/ \
'libcugraph-cu12>=26.10.0a0'
python -c "import libcugraph; assert (libraries := libcugraph.load_library()) and all(libraries)"Picking through the internals of libcugraph.load_library(), the root error is from loading libcuvs.so.
>>> lib = "/pyenv/versions/3.13.15/lib/python3.13/site-packages/libcuvs/lib64/libcuvs.so"
... ctypes.CDLL(lib, ctypes.RTLD_LOCAL)
...
Traceback (most recent call last):
File "<python-input-2>", line 2, in <module>
ctypes.CDLL(lib, ctypes.RTLD_LOCAL)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/pyenv/versions/3.13.15/lib/python3.13/ctypes/__init__.py", line 361, in __init__
self._handle = self._load_library(name, mode, handle, winmode)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/pyenv/versions/3.13.15/lib/python3.13/ctypes/__init__.py", line 403, in _load_library
return _dlopen(name, mode)
OSError: libnvrtc.so.12: cannot open shared object file: No such file or directory
libcuvs is missing cuda-pathfinder, which it needs to load nvRTC. I put up a fix here: NVIDIA/cuvs#2524
Once that's merged, we should see CI pass on a re-run here... in my local environment, just running pip install cuda-pathfinder was sufficient for libcugraph.load_library() to succeed.
There was a problem hiding this comment.
Seeing jobs pass now that that cuVS fix was merged. I'll queue this to merge.
|
/merge |
Description
Install the library wheel in a clean virtual environment and call its
load_library()entry point before installing the high-level wheel or test extras. This exposes missing library-wheel runtime dependencies that the full test environment can otherwise mask.xref: rapidsai/build-planning#307