@@ -24,17 +24,21 @@ strategy for locating NVIDIA shared libraries:
24
24
The absolute path of the already loaded library will be returned, along
25
25
with the handle to the library.
26
26
27
- 1 . ** Python Package Ecosystem **
28
- - Scans ` sys.path ` to find libraries installed via NVIDIA Python wheels .
27
+ 1 . ** Environment variables **
28
+ - Relies on ` CUDA_HOME ` / ` CUDA_PATH ` environment variables if set .
29
29
30
- 2 . ** Conda Environments**
31
- - Leverages Conda-specific paths through our fork of ` get_cuda_paths() `
32
- from numba-cuda.
30
+ 2 . ** NVIDIA Python wheels**
31
+ - Scans all site-packages to find libraries installed via NVIDIA Python wheels.
33
32
34
- 3 . ** Environment variables**
35
- - Relies on ` CUDA_HOME ` /` CUDA_PATH ` environment variables if set.
33
+ 3 . ** OS default mechanisms / Conda environments**
34
+ - Falls back to native loader:
35
+ - ` dlopen() ` on Linux
36
+ - ` LoadLibraryW() ` on Windows
37
+ - Conda environments are expected to be covered by OS default mechanisms:
38
+ - Based on ` $ORIGIN/../lib ` ` RPATH ` on Linux
39
+ - Based on ` %CONDA_PREFIX%\Library\bin ` on the system ` PATH ` on Windows
36
40
37
- 4 . ** System Installations**
41
+ 5 . ** System Installations**
38
42
- Checks traditional system locations through these paths:
39
43
- Linux: ` /usr/local/cuda/lib64 `
40
44
- Windows: ` C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y\bin `
@@ -44,11 +48,6 @@ strategy for locating NVIDIA shared libraries:
44
48
- Distribution-specific packages (RPM/DEB)
45
49
EXCEPT Debian's ` nvidia-cuda-toolkit `
46
50
47
- 5 . ** OS Default Mechanisms**
48
- - Falls back to native loader:
49
- - ` dlopen() ` on Linux
50
- - ` LoadLibraryW() ` on Windows
51
-
52
51
Note that the search is done on a per-library basis. There is no centralized
53
52
mechanism that ensures all libraries are found in the same way.
54
53
0 commit comments