2015-11-21 11 views
2

У меня есть рабочий стол без GPU, на котором я хотел бы разработать код; и машину на каком-то кластере с графическим процессором и CUDA, но там, где я действительно не могу «коснуться» чего-либо и на котором я не буду запускать среду IDE и т. д. У меня нет корня ни на одной из машин, Горе мне.Установка CUDA как пользователя без полномочий root без GPU

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

Можно ли это сделать, несмотря на два препятствующих фактора: я, кажется, помню установщик CUDA, требующий наличия графического процессора; игра с ядром; и делать другие корневые вещи.

Примечания:

  • Я буду использовать программу установки автономного, а не пакет.
  • Я нахожусь на Fedora 22 с процессором x86_64.
+2

Вам не нужно устанавливать драйвер для установки инструментария Linux. Поддерживается ли поддержка Fedora 22, я не знаю. – talonmies

+0

Fedora 22 или 23 официально не поддерживаются, а также GCC 5, который является компилятором по умолчанию. Существует [обходной путь] (https://www.pugetsystems.com/labs/articles/Install-NVIDIA-CUDA-on-Fedora-22-with-gcc-5-1-654/), но он все еще не работает смешанный код CUDA/C++ из-за стандартной библиотеки C++. – Drop

ответ

3
  1. Предполагая, что вы хотите, чтобы разработать коды, которые используют CUDA API выполнения, вы можете установить инструментарий Cuda на системе, которая не имеет GPU. Используя runfile installer method, просто ответьте «нет» при появлении запроса на установку драйвера.

  2. Если вы хотите скомпилировать коды (успешно), которые используют API-интерфейс драйвера CUDA , для этого процесса вам потребуется libcuda.so на вашем компьютере. Этот файл устанавливается установщиком драйверов. Существуют различные способы «заставить» установщика драйверов работать на машине без использования графического процессора. Вы можете приступить к работе, извлекая программу установки профайлера (или загружая ее отдельно) и передавая ключ командной строки --help в программу установки, чтобы узнать о некоторых параметрах.

  3. Эти методы не позволят вам запускать эти коды на машине без использования графического процессора. Более того, процесс перемещения скомпилированного двоичного файла с одной машины на другую и ожидая, что он будет работать правильно, на мой взгляд хлопотно. Поэтому мое предложение было бы перекомпилировать код на целевой машине. В противном случае получение скомпилированного двоичного файла для запуска с одного компьютера на другое является вопросом, который не является уникальным для CUDA, и выходит за рамки моего ответа.

  4. Если у вас нет намерения запускать коды на машине, отличной от GPU, и вы захотите перекомпилировать на целевой машине, то вы, вероятно, можете разработать коды API-драйверов даже без libcuda.so (или есть libcuda .so stub, который вы можете попытаться связать только для целей тестирования, которые устанавливаются установщиком CUDA, если вы его ищете:/usr/local/cuda/lib64/stubs). Если вы не связываете код API вашего водителя с -lcuda, то вы получите сообщение об ошибке, конечно, но это не имеет значения, учитывая ранее сформулированные оговорки.

  5. Fedora 22 - not officially supported от CUDA 7.5 или ранее. YMMV.

  6. Если вы не запустите установщик драйверов, вам не обязательно быть пользователем root для любого из этого. Конечно, места установки, которые вы передаете установщику, должны быть теми, с которыми разрешена ваша привилегия пользователя.

+0

На самом деле я не против того, чтобы строить на другой машине - но тогда я буду строить только один раз, а не ударять ошибки компиляции, когда пишу что-то новое. – einpoklum

Смежные вопросы