конфликт между хранилищем ubuntu 18.04, python, numba и nvidia-cuda-toolkit?

Когда я установил Ubuntu (вариант Mate, но я не думаю, что это имеет значение) 18.04, я был очень рад видеть, что теперь была полная поддержка хранилища для nvidia cuda и python numba, которые раньше были болью для установить в прежних версиях.

У меня есть nividia-driver-390 (проприетарный), у меня есть установка cuda в репозитории, установка numba в репозитории python-3 и установка nvidia-cuda-toolkit для репозитория.

Cuda работает в том смысле, что nvcc может компилировать и выполнять примеры в C-коде. Numba работает в том смысле, что я могу использовать @jit и иметь ускорение процессора. Пикуда работает. Я могу использовать pycuda в python3 и заставить его использовать cuda. ​​

Тем не менее, предполагается, что numba допускает ускорение GPU через cuda, и это не удается. Когда я выполняю простой пример, в конце длинного следа ошибок у меня появляется:

RuntimeError: Missing libdevice file for compute_35.
Please ensure you have package cudatoolkit 7.5.   
Install package by:

conda install cudatoolkit=7.5

Однако я не использовал conda для установки numba, я использовал репозиторий. И похоже, что cudatoolkit из репозитория имеет версию 9.1, а не 7.5.

Некоторые пользователи узнали, что виновником является то, что исполняемый код, установленный с помощью numba, был скомпилирован с библиотеками cudatoolkit 7.5, а не с установленными в репозитории 9.1.

Какой самый чистый способ решить эту проблему? Я предпочитаю держать как можно ближе к официальным репозиториям.

1
задан 31 May 2019 в 09:18

1 ответ

У меня была та же самая проблема. Я решил это путем установки miniconda, и conda устанавливают эти два пакета:

conda install cudatoolkit
conda install numba

Затем это работает, но не действительно красивое.

1
ответ дан 7 December 2019 в 15:02

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

Похожие вопросы: