CuSPARSELt не найден CuPy

Мне сложно заставить 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

Похоже, что поддерживаются только определенные версии cusparseLt, и я не уверен, что поддерживаются 0.6.2 или 0.2.0. См. здесь , каковы требования, и здесь для получения дополнительной информации. Кроме того: похоже, у вас также есть несоответствие между установленной версией CUDA и версией CUDA, которая использовалась для сборки cupy, хотя это может не иметь значения, если ваш драйвер графического процессора достаточно новый.

Robert Crovella 22.08.2024 17:35

Могу поклясться, что требуемая версия была 0.2.0 даже час назад... Я посмотрю, исправят ли это новые требования, и спасибо, что указали на несоответствие версий CUDA. Я обновлю, как только смогу.

srcLegend 22.08.2024 18:06

Я только что заметил: рекомендуемая версия cuSPARSELt для последней версии CuPy — 0.6.0/0.6.1, но стабильная версия CuPy по-прежнему рекомендует 0.2.0 для cuSPARSELt. Насколько я могу судить, у меня есть стабильная версия. Я попробую посмотреть, решит ли эту проблему последняя/ночная версия.

srcLegend 22.08.2024 22:52

сравнивая последнюю и стабильную документы, они оба, похоже, относятся к cupy 13.3.0 Так что я не уверен, в чем разница. По крайней мере, на этой веб-странице 13.3.0 имеет «последний» идентификатор.

Robert Crovella 23.08.2024 00:04

Нет, все равно не повезло. Независимо от версии, cuSPARSELt не отображается как загруженный.

srcLegend 23.08.2024 22:36

основываясь на информации install и отметив, что для cusparseLt существует пакет conda-forge, попробуйте установить его одним из двух методов, предложенных для других библиотек cuda, требующих установки вручную: conda install -c conda-forge cupy cusparselt или python -m cupyx.tools.install_library --cuda 12.x --library cusparselt

Robert Crovella 24.08.2024 00:27

В настоящее время (начиная с CuPy v13) бинарные пакеты CuPy не собираются с включенной поддержкой cuSPARSELt. Вам необходимо пересобрать CuPy из исходного кода, чтобы использовать привязки cuSPARSELt в CuPy. Я бы предложил поднять проблему вместе с вашим вариантом использования, если вам нужна поддержка cuSPARSELt в двоичных пакетах.

kmaehashi 24.08.2024 05:30

@kmaehashi: это идеальный ответ, если ты хочешь его добавить

talonmies 24.08.2024 07:33
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
8
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Мне сложно заставить CuPy обнаружить и использовать, где это возможно, библиотеку cuSPARSELt.

Разработчик Cupy отметил, что в настоящее время в релизных сборках Cupy не включена поддержка cuSPARSELt. Для этого вам потребуется собрать собственную версию пакета из исходного кода с включенной поддержкой.

Другие вопросы по теме