Возможно ли скомпилировать программу CUDA без устройства с поддержкой CUDA на том же узле, используя только NVIDIA CUDA Toolkit ...?Могу ли я скомпилировать программу cuda без устройства cuda
ответ
Ответ на ваш вопрос: ДА.
Драйвер компилятора nvcc
не связан с физическим присутствием устройства, поэтому вы можете скомпилировать коды CUDA даже без GPU с поддержкой CUDA. Однако следует предупредить, что, как заметил Роберт Кровелла, библиотека драйверов CUDA libcuda.so
(cuda.lib
для Windows) поставляется с драйвером NVIDIA, а не с установщиком инструментария CUDA. Это означает, что для кодов, требующих API-интерфейсов драйвера (чьи точки ввода имеют префикс cu
, см. Приложение H руководства по программированию CUDA C), потребуется принудительная установка «недавнего» драйвера без наличия графического процессора NVIDIA, запуск установщика драйверов отдельно с переключателем командной строки --help
.
Следуя тому же обоснованию, вы можете скомпилировать коды CUDA для архитектуры, когда ваш узел содержит графический процессор другой архитектуры. Например, вы можете скомпилировать код для GeForce GT 540M (вычислительная способность 2.1) на машине, на которой размещен GT 210 (вычислительная способность 1.2).
Конечно, в обоих случаях (без GPU или GPU с разной архитектурой) вы не сможете успешно запустить код.
Для ранних версий CUDA было возможно скомпилировать код под модулем эмуляции и запустить скомпилированный код на CPU, но эмуляция устройства с тех пор устарела. Если у вас нет устройства с поддержкой CUDA, но вы хотите запускать коды CUDA, вы можете попробовать использовать gpuocelot (но у меня нет опыта с этим).
- 1. Могу ли я скомпилировать и запустить программу cuda в Windows 7 без визуальной студии?
- 2. Как я могу ускорить эту программу cuda?
- 3. CUDA: nvcc без инструмента CUDA
- 4. Могу ли я установить CUDA без драйверов в Linux CentOS 6 (только cuda toolkit)
- 5. CUDA JIT компилируется с устройства
- 6. Возможно ли запустить программу CUDA или библиотеку без установленного драйвера CUDA?
- 7. Невозможно сделать программу Cuda
- 8. CUDA указатели устройства
- 9. CUDA "недопустимый символ устройства"
- 10. Как экспортировать программу CUDA (jcuda)
- 11. Деление устройства с помощью CUDA
- 12. Запуск программ CUDA на машинах без CUDA
- 13. Как я могу скомпилировать программу CUDA для sm_1X И sm_2X, когда у меня есть поверхностное заявление
- 14. Может ли python distutils скомпилировать код CUDA?
- 15. OpenCV с поддержкой CUDA без использования CUDA?
- 16. Могу ли я сократить выделенный буфер CUDA?
- 17. Прямая доступная память устройства CUDA
- 18. Неверный символ устройства cudaMemcpyFromSymbol CUDA
- 19. Невозможно скомпилировать Cuda 7.0 sample
- 20. Как скомпилировать образец CUDA SDK?
- 21. Скомпилировать код cuda для CPU
- 22. Как скомпилировать программу CUDA со специальной версией инструментария?
- 23. не удалось скомпилировать код cuda
- 24. Вызов функции устройства CUDA CUDA из ядра Python
- 25. Как работает функция устройства CUDA?
- 26. CUDA - реализация хэш-карты устройства?
- 27. Доступ к памяти устройства cuda при запуске ядра cuda
- 28. Cuda - скомпилировать локальный и запустить удаленный
- 29. Удерживать OpenMP без CUDA?
- 30. Могу ли я скомпилировать программу CIL?
Да. Драйвер компилятора 'nvcc' не связан с физическим присутствием устройства, поэтому вы можете скомпилировать даже без GPU с поддержкой CUDA. Следуя тому же обоснованию, вы можете скомпилировать коды CUDA для архитектуры, когда ваш узел размещает графический процессор различной архитектуры. Конечно, в обоих случаях вы не сможете успешно запустить код. Помните, что эмуляция устройства с тех пор устарела, поэтому, если у вас нет устройства с поддержкой CUDA, вы можете попробовать gpuocelot (но у меня нет опыта с этим). – JackOLantern
@RobertCrovella Спасибо за разъяснение. Я перевел комментарий на полный ответ. Пожалуйста, не стесняйтесь редактировать его или добавлять комментарии, если я что-то пропущу. – JackOLantern