| | |
| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| |
|
| | from cuda.pathfinder._utils.platform_aware import IS_WINDOWS |
| |
|
| | SUPPORTED_LIBNAMES_COMMON = ( |
| | |
| | "cudart", |
| | "nvfatbin", |
| | "nvJitLink", |
| | "nvrtc", |
| | "nvvm", |
| | |
| | "cublas", |
| | "cublasLt", |
| | "cufft", |
| | "cufftw", |
| | "curand", |
| | "cusolver", |
| | "cusolverMg", |
| | "cusparse", |
| | "nppc", |
| | "nppial", |
| | "nppicc", |
| | "nppidei", |
| | "nppif", |
| | "nppig", |
| | "nppim", |
| | "nppist", |
| | "nppisu", |
| | "nppitc", |
| | "npps", |
| | "nvblas", |
| | |
| | "nvjpeg", |
| | ) |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | SUPPORTED_LIBNAMES_LINUX_ONLY = ( |
| | "cufile", |
| | |
| | ) |
| | SUPPORTED_LIBNAMES_LINUX = SUPPORTED_LIBNAMES_COMMON + SUPPORTED_LIBNAMES_LINUX_ONLY |
| |
|
| | SUPPORTED_LIBNAMES_WINDOWS_ONLY = () |
| | SUPPORTED_LIBNAMES_WINDOWS = SUPPORTED_LIBNAMES_COMMON + SUPPORTED_LIBNAMES_WINDOWS_ONLY |
| |
|
| | SUPPORTED_LIBNAMES_ALL = SUPPORTED_LIBNAMES_COMMON + SUPPORTED_LIBNAMES_LINUX_ONLY + SUPPORTED_LIBNAMES_WINDOWS_ONLY |
| | SUPPORTED_LIBNAMES = SUPPORTED_LIBNAMES_WINDOWS if IS_WINDOWS else SUPPORTED_LIBNAMES_LINUX |
| |
|
| | |
| | DIRECT_DEPENDENCIES_CTK = { |
| | "cublas": ("cublasLt",), |
| | "cufftw": ("cufft",), |
| | |
| | "cusolver": ("nvJitLink", "cusparse", "cublasLt", "cublas"), |
| | "cusolverMg": ("nvJitLink", "cublasLt", "cublas"), |
| | "cusparse": ("nvJitLink",), |
| | "nppial": ("nppc",), |
| | "nppicc": ("nppc",), |
| | "nppidei": ("nppc",), |
| | "nppif": ("nppc",), |
| | "nppig": ("nppc",), |
| | "nppim": ("nppc",), |
| | "nppist": ("nppc",), |
| | "nppisu": ("nppc",), |
| | "nppitc": ("nppc",), |
| | "npps": ("nppc",), |
| | "nvblas": ("cublas", "cublasLt"), |
| | } |
| | DIRECT_DEPENDENCIES = DIRECT_DEPENDENCIES_CTK | { |
| | "mathdx": ("nvrtc",), |
| | "cublasmp": ("cublas", "cublasLt", "nvshmem_host"), |
| | "cufftMp": ("nvshmem_host",), |
| | "cudss": ("cublas", "cublasLt"), |
| | "cutensor": ("cublasLt",), |
| | "cutensorMg": ("cutensor", "cublasLt"), |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | SUPPORTED_LINUX_SONAMES_CTK = { |
| | "cublas": ( |
| | "libcublas.so.12", |
| | "libcublas.so.13", |
| | ), |
| | "cublasLt": ( |
| | "libcublasLt.so.12", |
| | "libcublasLt.so.13", |
| | ), |
| | "cudart": ( |
| | "libcudart.so.12", |
| | "libcudart.so.13", |
| | ), |
| | "cufft": ( |
| | "libcufft.so.11", |
| | "libcufft.so.12", |
| | ), |
| | "cufftw": ( |
| | "libcufftw.so.11", |
| | "libcufftw.so.12", |
| | ), |
| | "cufile": ("libcufile.so.0",), |
| | |
| | "curand": ("libcurand.so.10",), |
| | "cusolver": ( |
| | "libcusolver.so.11", |
| | "libcusolver.so.12", |
| | ), |
| | "cusolverMg": ( |
| | "libcusolverMg.so.11", |
| | "libcusolverMg.so.12", |
| | ), |
| | "cusparse": ("libcusparse.so.12",), |
| | "nppc": ( |
| | "libnppc.so.12", |
| | "libnppc.so.13", |
| | ), |
| | "nppial": ( |
| | "libnppial.so.12", |
| | "libnppial.so.13", |
| | ), |
| | "nppicc": ( |
| | "libnppicc.so.12", |
| | "libnppicc.so.13", |
| | ), |
| | "nppidei": ( |
| | "libnppidei.so.12", |
| | "libnppidei.so.13", |
| | ), |
| | "nppif": ( |
| | "libnppif.so.12", |
| | "libnppif.so.13", |
| | ), |
| | "nppig": ( |
| | "libnppig.so.12", |
| | "libnppig.so.13", |
| | ), |
| | "nppim": ( |
| | "libnppim.so.12", |
| | "libnppim.so.13", |
| | ), |
| | "nppist": ( |
| | "libnppist.so.12", |
| | "libnppist.so.13", |
| | ), |
| | "nppisu": ( |
| | "libnppisu.so.12", |
| | "libnppisu.so.13", |
| | ), |
| | "nppitc": ( |
| | "libnppitc.so.12", |
| | "libnppitc.so.13", |
| | ), |
| | "npps": ( |
| | "libnpps.so.12", |
| | "libnpps.so.13", |
| | ), |
| | "nvJitLink": ( |
| | "libnvJitLink.so.12", |
| | "libnvJitLink.so.13", |
| | ), |
| | "nvblas": ( |
| | "libnvblas.so.12", |
| | "libnvblas.so.13", |
| | ), |
| | "nvfatbin": ( |
| | "libnvfatbin.so.12", |
| | "libnvfatbin.so.13", |
| | ), |
| | "nvjpeg": ( |
| | "libnvjpeg.so.12", |
| | "libnvjpeg.so.13", |
| | ), |
| | "nvrtc": ( |
| | "libnvrtc.so.12", |
| | "libnvrtc.so.13", |
| | ), |
| | "nvvm": ("libnvvm.so.4",), |
| | } |
| | SUPPORTED_LINUX_SONAMES_OTHER = { |
| | "cublasmp": ("libcublasmp.so.0",), |
| | "cufftMp": ("libcufftMp.so.12", "libcufftMp.so.11"), |
| | "mathdx": ("libmathdx.so.0",), |
| | "cudss": ("libcudss.so.0",), |
| | "cusparseLt": ("libcusparseLt.so.0",), |
| | "cutensor": ("libcutensor.so.2",), |
| | "cutensorMg": ("libcutensorMg.so.2",), |
| | "nccl": ("libnccl.so.2",), |
| | "nvpl_fftw": ("libnvpl_fftw.so.0",), |
| | "nvshmem_host": ("libnvshmem_host.so.3",), |
| | } |
| | |
| | |
| | |
| | SUPPORTED_LINUX_SONAMES_DRIVER = { |
| | "cuda": ("libcuda.so.1",), |
| | "nvml": ("libnvidia-ml.so.1",), |
| | } |
| | SUPPORTED_LINUX_SONAMES = SUPPORTED_LINUX_SONAMES_CTK | SUPPORTED_LINUX_SONAMES_OTHER | SUPPORTED_LINUX_SONAMES_DRIVER |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | SUPPORTED_WINDOWS_DLLS_CTK = { |
| | "cublas": ( |
| | "cublas64_12.dll", |
| | "cublas64_13.dll", |
| | ), |
| | "cublasLt": ( |
| | "cublasLt64_12.dll", |
| | "cublasLt64_13.dll", |
| | ), |
| | "cudart": ( |
| | "cudart64_12.dll", |
| | "cudart64_13.dll", |
| | ), |
| | "cufft": ( |
| | "cufft64_11.dll", |
| | "cufft64_12.dll", |
| | ), |
| | "cufftw": ( |
| | "cufftw64_11.dll", |
| | "cufftw64_12.dll", |
| | ), |
| | "curand": ("curand64_10.dll",), |
| | "cusolver": ( |
| | "cusolver64_11.dll", |
| | "cusolver64_12.dll", |
| | ), |
| | "cusolverMg": ( |
| | "cusolverMg64_11.dll", |
| | "cusolverMg64_12.dll", |
| | ), |
| | "cusparse": ("cusparse64_12.dll",), |
| | "nppc": ( |
| | "nppc64_12.dll", |
| | "nppc64_13.dll", |
| | ), |
| | "nppial": ( |
| | "nppial64_12.dll", |
| | "nppial64_13.dll", |
| | ), |
| | "nppicc": ( |
| | "nppicc64_12.dll", |
| | "nppicc64_13.dll", |
| | ), |
| | "nppidei": ( |
| | "nppidei64_12.dll", |
| | "nppidei64_13.dll", |
| | ), |
| | "nppif": ( |
| | "nppif64_12.dll", |
| | "nppif64_13.dll", |
| | ), |
| | "nppig": ( |
| | "nppig64_12.dll", |
| | "nppig64_13.dll", |
| | ), |
| | "nppim": ( |
| | "nppim64_12.dll", |
| | "nppim64_13.dll", |
| | ), |
| | "nppist": ( |
| | "nppist64_12.dll", |
| | "nppist64_13.dll", |
| | ), |
| | "nppisu": ( |
| | "nppisu64_12.dll", |
| | "nppisu64_13.dll", |
| | ), |
| | "nppitc": ( |
| | "nppitc64_12.dll", |
| | "nppitc64_13.dll", |
| | ), |
| | "npps": ( |
| | "npps64_12.dll", |
| | "npps64_13.dll", |
| | ), |
| | "nvJitLink": ( |
| | "nvJitLink_120_0.dll", |
| | "nvJitLink_130_0.dll", |
| | ), |
| | "nvblas": ( |
| | "nvblas64_12.dll", |
| | "nvblas64_13.dll", |
| | ), |
| | "nvfatbin": ( |
| | "nvfatbin_120_0.dll", |
| | "nvfatbin_130_0.dll", |
| | ), |
| | "nvjpeg": ( |
| | "nvjpeg64_12.dll", |
| | "nvjpeg64_13.dll", |
| | ), |
| | "nvrtc": ( |
| | "nvrtc64_120_0.dll", |
| | "nvrtc64_130_0.dll", |
| | ), |
| | "nvvm": ( |
| | "nvvm64.dll", |
| | "nvvm64_40_0.dll", |
| | "nvvm70.dll", |
| | ), |
| | } |
| | SUPPORTED_WINDOWS_DLLS_OTHER = { |
| | "mathdx": ("mathdx64_0.dll",), |
| | "cudss": ("cudss64_0.dll",), |
| | "cusparseLt": ("cusparseLt.dll",), |
| | "cutensor": ("cutensor.dll",), |
| | "cutensorMg": ("cutensorMg.dll",), |
| | } |
| | SUPPORTED_WINDOWS_DLLS_DRIVER = { |
| | "cuda": ("nvcuda.dll",), |
| | "nvml": ("nvml.dll",), |
| | } |
| | SUPPORTED_WINDOWS_DLLS = SUPPORTED_WINDOWS_DLLS_CTK | SUPPORTED_WINDOWS_DLLS_OTHER | SUPPORTED_WINDOWS_DLLS_DRIVER |
| |
|
| | LIBNAMES_REQUIRING_OS_ADD_DLL_DIRECTORY = ( |
| | "cufft", |
| | "nvrtc", |
| | ) |
| |
|
| | LIBNAMES_REQUIRING_RTLD_DEEPBIND = ("cufftMp",) |
| |
|
| | |
| | SITE_PACKAGES_LIBDIRS_LINUX_CTK = { |
| | "cublas": ("nvidia/cu13/lib", "nvidia/cublas/lib"), |
| | "cublasLt": ("nvidia/cu13/lib", "nvidia/cublas/lib"), |
| | "cudart": ("nvidia/cu13/lib", "nvidia/cuda_runtime/lib"), |
| | "cufft": ("nvidia/cu13/lib", "nvidia/cufft/lib"), |
| | "cufftw": ("nvidia/cu13/lib", "nvidia/cufft/lib"), |
| | "cufile": ("nvidia/cu13/lib", "nvidia/cufile/lib"), |
| | |
| | "curand": ("nvidia/cu13/lib", "nvidia/curand/lib"), |
| | "cusolver": ("nvidia/cu13/lib", "nvidia/cusolver/lib"), |
| | "cusolverMg": ("nvidia/cu13/lib", "nvidia/cusolver/lib"), |
| | "cusparse": ("nvidia/cu13/lib", "nvidia/cusparse/lib"), |
| | "nppc": ("nvidia/cu13/lib", "nvidia/npp/lib"), |
| | "nppial": ("nvidia/cu13/lib", "nvidia/npp/lib"), |
| | "nppicc": ("nvidia/cu13/lib", "nvidia/npp/lib"), |
| | "nppidei": ("nvidia/cu13/lib", "nvidia/npp/lib"), |
| | "nppif": ("nvidia/cu13/lib", "nvidia/npp/lib"), |
| | "nppig": ("nvidia/cu13/lib", "nvidia/npp/lib"), |
| | "nppim": ("nvidia/cu13/lib", "nvidia/npp/lib"), |
| | "nppist": ("nvidia/cu13/lib", "nvidia/npp/lib"), |
| | "nppisu": ("nvidia/cu13/lib", "nvidia/npp/lib"), |
| | "nppitc": ("nvidia/cu13/lib", "nvidia/npp/lib"), |
| | "npps": ("nvidia/cu13/lib", "nvidia/npp/lib"), |
| | "nvJitLink": ("nvidia/cu13/lib", "nvidia/nvjitlink/lib"), |
| | "nvblas": ("nvidia/cu13/lib", "nvidia/cublas/lib"), |
| | "nvfatbin": ("nvidia/cu13/lib", "nvidia/nvfatbin/lib"), |
| | "nvjpeg": ("nvidia/cu13/lib", "nvidia/nvjpeg/lib"), |
| | "nvrtc": ("nvidia/cu13/lib", "nvidia/cuda_nvrtc/lib"), |
| | "nvvm": ("nvidia/cu13/lib", "nvidia/cuda_nvcc/nvvm/lib64"), |
| | } |
| | SITE_PACKAGES_LIBDIRS_LINUX_OTHER = { |
| | "cublasmp": ("nvidia/cublasmp/cu13/lib", "nvidia/cublasmp/cu12/lib"), |
| | "cudss": ("nvidia/cu13/lib", "nvidia/cu12/lib"), |
| | "cufftMp": ("nvidia/cufftmp/cu13/lib", "nvidia/cufftmp/cu12/lib"), |
| | "cusparseLt": ("nvidia/cusparselt/lib",), |
| | "cutensor": ("cutensor/lib",), |
| | "cutensorMg": ("cutensor/lib",), |
| | "mathdx": ("nvidia/cu13/lib", "nvidia/cu12/lib"), |
| | "nccl": ("nvidia/nccl/lib",), |
| | "nvpl_fftw": ("nvpl/lib",), |
| | "nvshmem_host": ("nvidia/nvshmem/lib",), |
| | } |
| | SITE_PACKAGES_LIBDIRS_LINUX = SITE_PACKAGES_LIBDIRS_LINUX_CTK | SITE_PACKAGES_LIBDIRS_LINUX_OTHER |
| |
|
| | |
| | SITE_PACKAGES_LIBDIRS_WINDOWS_CTK = { |
| | "cublas": ("nvidia/cu13/bin/x86_64", "nvidia/cublas/bin"), |
| | "cublasLt": ("nvidia/cu13/bin/x86_64", "nvidia/cublas/bin"), |
| | "cudart": ("nvidia/cu13/bin/x86_64", "nvidia/cuda_runtime/bin"), |
| | "cufft": ("nvidia/cu13/bin/x86_64", "nvidia/cufft/bin"), |
| | "cufftw": ("nvidia/cu13/bin/x86_64", "nvidia/cufft/bin"), |
| | "curand": ("nvidia/cu13/bin/x86_64", "nvidia/curand/bin"), |
| | "cusolver": ("nvidia/cu13/bin/x86_64", "nvidia/cusolver/bin"), |
| | "cusolverMg": ("nvidia/cu13/bin/x86_64", "nvidia/cusolver/bin"), |
| | "cusparse": ("nvidia/cu13/bin/x86_64", "nvidia/cusparse/bin"), |
| | "nppc": ("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), |
| | "nppial": ("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), |
| | "nppicc": ("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), |
| | "nppidei": ("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), |
| | "nppif": ("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), |
| | "nppig": ("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), |
| | "nppim": ("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), |
| | "nppist": ("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), |
| | "nppisu": ("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), |
| | "nppitc": ("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), |
| | "npps": ("nvidia/cu13/bin/x86_64", "nvidia/npp/bin"), |
| | "nvJitLink": ("nvidia/cu13/bin/x86_64", "nvidia/nvjitlink/bin"), |
| | "nvblas": ("nvidia/cu13/bin/x86_64", "nvidia/cublas/bin"), |
| | "nvfatbin": ("nvidia/cu13/bin/x86_64", "nvidia/nvfatbin/bin"), |
| | "nvjpeg": ("nvidia/cu13/bin/x86_64", "nvidia/nvjpeg/bin"), |
| | "nvrtc": ("nvidia/cu13/bin/x86_64", "nvidia/cuda_nvrtc/bin"), |
| | "nvvm": ("nvidia/cu13/bin/x86_64", "nvidia/cuda_nvcc/nvvm/bin"), |
| | } |
| | SITE_PACKAGES_LIBDIRS_WINDOWS_OTHER = { |
| | "cudss": ("nvidia/cu13/bin", "nvidia/cu12/bin"), |
| | "mathdx": ("nvidia/cu13/bin/x86_64", "nvidia/cu12/bin"), |
| | "cusparseLt": ("nvidia/cusparselt/bin",), |
| | "cutensor": ("cutensor/bin",), |
| | "cutensorMg": ("cutensor/bin",), |
| | } |
| | SITE_PACKAGES_LIBDIRS_WINDOWS = SITE_PACKAGES_LIBDIRS_WINDOWS_CTK | SITE_PACKAGES_LIBDIRS_WINDOWS_OTHER |
| |
|
| |
|
| | def is_suppressed_dll_file(path_basename: str) -> bool: |
| | if path_basename.startswith("nvrtc"): |
| | |
| | |
| | |
| | |
| | |
| | return path_basename.endswith(".alt.dll") or "-builtins" in path_basename |
| | return path_basename.startswith(("cudart32_", "nvvm32")) |
| |
|