CUDA 10.2 - разные пути установки

У меня проблема с установкой CUDA 10.2 и библиотек cublas.

Файлы Cuda находятся в / usr / local, а файлы cublas - в файле / usr / include.

Теперь у меня есть программа, в которой я должен ввести HOME_PATH для установок Cuda, где их найти.

Я попытался создать символическую ссылку на файлы cublas в / usr / local, но программа не может найти нужные файлы.

Есть ли способ скопировать (он защищен) файлы cublas в / usr / local? Или каким-либо образом изменить путь установки файлов cublas?

Заранее большое спасибо

Крис

0
задан 24 March 2020 в 14:51

1 ответ

В приведенном ниже примере предполагается, что вы начинаете с системы Ubuntu с текущими драйверами Nvidia.

CUDA — это просто приложение, но для него нужен специальный (часто старый) компилятор. версия, и поставляя свои собственные (несколько версий устаревшие) видеодрайверы.
Релиз CUDA будет иметь собственные каталоги для:

  • bin -- для исполняемых файлов
  • lib64 -- для библиотек ссылок
  • include -- файлов компилятора

Добавление каталога CUDA bin в начало среды PATH Переменная позволяет получить доступ к этим программам и переопределить системные программы по умолчанию (как и в случае со старыми версиями для g++, gcc, ar, nm и ranlib).

Добавление каталога CUDA lib64 в начало LD_LIBRARY_PATH приведет к разрешить использование этих (общих) библиотек при стандартной загрузке программы.

Каталог включения CUDA обычно добавляется как переменная в make-файл. флаги компилятора, чтобы компилятор мог подобрать эти файлы. Нет необходимости раскидывать эти файлы CUDA в системный bin, lib и включить каталоги. Приложения обычно этого не делают. Сохранение CUDA bin, lib64 и include файлы в каталоге выпуска CUDA позволяют использовать несколько Выпуски CUDA должны поддерживаться одновременно. Просто добавьте модификации PATH и LD_LIBRARY_PATH в сценарий, связанный с каждым выпуском.

Единственным исключением из разделения программ может быть установка более старого компилятора, поставляемого системой — gcc-8 и инструменты (ar-8, nm-8, ranlib-) требуются для CUDA 10.2. Получите доступ к старому компилятору по ссылкам (gcc, ar, nm, ranlib), добавленным в каталог CUDA bin. Избегайте изменения системы по умолчанию на старый компилятор (например, с помощью ссылок или альтернативных обновлений).

Другие части системы могут выйти из строя, если придется использовать более старый компилятор. (подумайте о видеодрайверах). Для достаточно старой версии CUDA может потребоваться старая компилятор не входит в стандартные репозитории (например, gcc-5 для CUDA 8.0). Вам нужно будет предоставить свои собственные копии такого компилятора, и любой общие библиотеки, которые ему нужны, -- помещаются в каталоги bin релиза CUDA и lib64.

Настроить выпуск CUDA таким образом легко, просто распакуйте поставляемый файл deb в выбранное вами место:

dpkg-deb --extract CUDAarchive YourDirectory

Раньше этого было достаточно, но CUDA выпускает около 10.2 только что сделали содержимое прилагаемого файла deb для выпуска дополнительных файлов deb. Обратите внимание на ненужные deb-файлы Nvidia для более старых выпусков, проигнорируйте или удалите их и распакуйте все отдельные deb-файлы. Теперь у вас есть каталог выпуска CUDA, поэтому настройте скрипт для изменения вашего PATH и LD_LIBRARY_PATH (или, если вам не нужны несколько выпусков CUDA, просто поместите эти изменения в свой .profile (при условии, что вы используете оболочку типа bash).

При таком подходе все файлы CUDA хранятся вне диспетчера пакетов, поэтому обновления будет сделано - что может быть хорошо или плохо в зависимости от вашей точки зрения.

К сожалению, могут возникнуть проблемы, если вы просто запустите скрипт "run file" или установите прилагаемый deb-релиз CUDA.

  1. Старые драйверы Nvidia заменят ваши текущие видеодрайверы. Надеюсь, вы все еще сможете войти в систему.
  2. Переустановка текущих драйверов Nvidia может привести к тому, что старые драйверы И ВСЕ ИХ ЗАВИСИМОСТИ (это все файлы CUDA) должны быть удалены. Ну, никогда не запрещайте менеджеру пакетов делать свое дело, но вы можете сделать копию всей версии CUDA, пусть пакет менеджер удалить его, и восстановить его.

Все эти обходные пути с менеджером пакетов в конечном итоге приведут к выпуску CUDA без менеджера пакетов, как описано выше.

2
ответ дан 26 May 2020 в 21:55

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

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