Мне сложно заставить CuPy обнаружить и использовать, где это возможно, библиотеку cuSPARSELt в Windows. Я пробовал установить версии 0.2.0
(как указано в руководстве по установке CuPy) и 0.6.2
(последняя версия на момент публикации), и в обеих попытках cusparseLt.dll
был успешно найден с помощью where cusparseLt.dll
.
Я что-то упускаю? Вот результат cupy.show_config()
OS : Windows-10-10.0.19045-SP0
Python Version : 3.12.5
CuPy Version : 13.3.0
CuPy Platform : NVIDIA CUDA
NumPy Version : 2.1.0
SciPy Version : 1.14.1
Cython Build Version : 0.29.36
Cython Runtime Version : None
CUDA Root : C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4
nvcc PATH : C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\bin\nvcc.EXE
CUDA Build Version : 12060
CUDA Driver Version : 12030
CUDA Runtime Version : 12060 (linked to CuPy) / 12040 (locally installed)
CUDA Extra Include Dirs : []
cuBLAS Version : 120405
cuFFT Version : 11201
cuRAND Version : 10305
cuSOLVER Version : (11, 6, 1)
cuSPARSE Version : 12301
NVRTC Version : (12, 4)
Thrust Version : 200600
CUB Build Version : 200600
Jitify Build Version : 1a0ca0e
cuDNN Build Version : 8801
cuDNN Version : 8801
NCCL Build Version : None
NCCL Runtime Version : None
cuTENSOR Version : 20001
cuSPARSELt Build Version : None
Device 0 Name : NVIDIA GeForce RTX 4090
Device 0 Compute Capability : 89
Device 0 PCI Bus ID : 0000:01:00.0
Вот мой текущий вывод os.environ["PATH"]
с некоторым форматированием:
C:\Windows
C:\Windows\system32
C:\Windows\System32\Wbem
C:\Windows\System32\WindowsPowerShell\v1.0
C:\Program Files (x86)\dotnet-core-uninstall
C:\Program Files (x86)\Intel\oneAPI\compiler\latest\bin
C:\Program Files (x86)\Intel\oneAPI\compiler\latest\lib
C:\Program Files (x86)\Intel\oneAPI\mkl\latest\bin
C:\Program Files (x86)\Intel\oneAPI\mkl\latest\include
C:\Program Files (x86)\Intel\oneAPI\mkl\latest\lib
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common
C:\Program Files\Docker\Docker\resources\bin
C:\Program Files\dotnet
C:\Program Files\Git\cmd
C:\Program Files\MATLAB\MATLAB Runtime\v98\runtime\win64
C:\Program Files\Matrox Imaging\Mil\DLL
C:\Program Files\Matrox Imaging\Tools
C:\Program Files\Microsoft SQL Server\130\Tools\Binn
C:\Program Files\Microsoft SQL Server\150\Tools\Binn
C:\Program Files\Microsoft VS Code\bin
C:\Program Files\OpenSSH
C:\Users\LILBRO\AppData\Local\Programs\Python\Python312
C:\Users\LILBRO\AppData\Local\Programs\Python\Python312\Scripts
C:\Users\LILBRO\Documents\Tools\CUDA\cuSPARSELt\current
C:\Users\LILBRO\Documents\Tools\CUDA\cuSPARSELt\current\include
C:\Users\LILBRO\Documents\Tools\CUDA\cuSPARSELt\current\lib
Могу поклясться, что требуемая версия была 0.2.0
даже час назад... Я посмотрю, исправят ли это новые требования, и спасибо, что указали на несоответствие версий CUDA. Я обновлю, как только смогу.
Я только что заметил: рекомендуемая версия cuSPARSELt для последней версии CuPy — 0.6.0/0.6.1
, но стабильная версия CuPy по-прежнему рекомендует 0.2.0
для cuSPARSELt. Насколько я могу судить, у меня есть стабильная версия. Я попробую посмотреть, решит ли эту проблему последняя/ночная версия.
сравнивая последнюю и стабильную документы, они оба, похоже, относятся к cupy 13.3.0 Так что я не уверен, в чем разница. По крайней мере, на этой веб-странице 13.3.0 имеет «последний» идентификатор.
Нет, все равно не повезло. Независимо от версии, cuSPARSELt не отображается как загруженный.
основываясь на информации install и отметив, что для cusparseLt существует пакет conda-forge, попробуйте установить его одним из двух методов, предложенных для других библиотек cuda, требующих установки вручную: conda install -c conda-forge cupy cusparselt
или python -m cupyx.tools.install_library --cuda 12.x --library cusparselt
В настоящее время (начиная с CuPy v13) бинарные пакеты CuPy не собираются с включенной поддержкой cuSPARSELt. Вам необходимо пересобрать CuPy из исходного кода, чтобы использовать привязки cuSPARSELt в CuPy. Я бы предложил поднять проблему вместе с вашим вариантом использования, если вам нужна поддержка cuSPARSELt в двоичных пакетах.
@kmaehashi: это идеальный ответ, если ты хочешь его добавить
Мне сложно заставить CuPy обнаружить и использовать, где это возможно, библиотеку cuSPARSELt.
Разработчик Cupy отметил, что в настоящее время в релизных сборках Cupy не включена поддержка cuSPARSELt. Для этого вам потребуется собрать собственную версию пакета из исходного кода с включенной поддержкой.
Похоже, что поддерживаются только определенные версии cusparseLt, и я не уверен, что поддерживаются 0.6.2 или 0.2.0. См. здесь , каковы требования, и здесь для получения дополнительной информации. Кроме того: похоже, у вас также есть несоответствие между установленной версией CUDA и версией CUDA, которая использовалась для сборки cupy, хотя это может не иметь значения, если ваш драйвер графического процессора достаточно новый.