Компилятор C++ из Visual Studio 2017 и CUDA от NVidia?

Компилятор C++ из Visual Studio 2017 и CUDA от NVidia?

Я пытаюсь настроить PyTorch для работы с графическим процессором GTX 1050 моего ноутбука. После этого я попытался настроить CUDA, я следовал руководству, созданномуНвидиа здесь. Насколько я могу судить, у меня не было никаких проблем с этим. Я могу бежать nvcc -Vи оказаться ниже, как и ожидалось:

введите описание изображения здесь

Когда я пытаюсь запустить предоставленные ими примеры решений, чтобы убедиться, что установка прошла успешно, т. е. nvcc displayQueueили нет, nvcc bandwidthя получаю только следующую ошибку:

введите описание изображения здесь

Вслед за этим я попытался загрузить версию сообщества Visual Studio 2017, чтобы получить компилятор C++ и "cl.exe". Однако после этого оказалось, что установка не установила путь к компилятору "cl.exe" в переменных среды.

Попытка найти «cl.exe» в моих файлах, по-видимому, является еще одной проблемой, поскольку у меня есть несколько «cl.exe» по следующим путям:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x86
\...\bin\Hostx86\x64
\...\bin\Hostx64\x64
\...\bin\Hostx64\x86

Установка любого из этих путей в PATH в моих переменных среды, а затем повторный запуск «nvcc displayQueue» или «nvcc bandwidth» приводит только к ошибке:

введите описание изображения здесь

Что-то изменилось, но система, похоже, не работает.
Любая помощь будет высоко оценена.

решение1

Установка только cl.exeпути не даст эффекта, так как нужны и другие инструменты. Официальный способ — использоватькомандная строка разработчикакоторый поставляется только с Visual Studio.

В соответствии сэтот:

Попробуйте выполнить поиск по имени файла командной строки, например VsDevCmd.bat, или перейдите в папку Tools, например C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools (путь меняется в зависимости от версии Visual Studio, редакции и места установки).

Откройте окно командной строки (CMD) и выполните следующую команду:

call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64 

Это установит все необходимые пути для вас. x64Параметр предназначен только для 64-разрядного процессора Intel. Измените этот параметр на x86для 32-разрядного процессора Intel. Или armи arm64. Путь может меняться в зависимости от вашей версии Visual Studio. Не закрывайте это окно CMD. Вы также можете проверить путь (если он установлен правильно) с помощью where cl.exeкоманды. Теперь выполните необходимые команды для компиляции.

Примечание:Если вам нужен только компилятор C++, попробуйтеИнструменты сборки VSиWindows SDKтолько.

решение2

Сначала вам нужно будет узнать данные вашего графического процессора, используя метод, описанный в части вопроса, то есть приложение deviceQueryсогласноhttps://forums.developer.nvidia.com/t/какие-вычислительные-возможности-geforce-gt-710/146956/4:

deviceQuery executableв демонстрационном наборе вашей установки CUDA должен быть . В Windows он должен быть в C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y\extras\demo_suite, где XY указывает вашу версию CUDA, например 10.2. deviceQuery сообщит вам вычислительную архитектуру вашего устройства:Возможности CUDA Основная/дополнительная версия число.

Теперь взгляните наКак установить pytorch (с включенной cuda для устаревшей CUDA cc 3.5 старого графического процессора) ИЗ ИСХОДНОГО ИСТОЧНИКА с помощью командной строки Anaconda в Windows 10?и там пункты 3-5 ответа. Ядро в основном пункт 3, таблица с зелеными стрелками в ней. Посмотрите эту таблицу в оригиналеhttps://gist.github.com/ax3l/9489132еще раз и примите решение так же, как это было сделано в пункте 3.

Таблица покажет вам, как выбрать правильный компилятор MSVC для нужного драйвера компилятора CUDA для вашего графического процессора SM Arch (например, CUDA cc [= compute capacity] 3.5, CUDA cc 8.0 или любой другой, предоставляемый вашей картой).

Если вам нужно установить pytorch с cuda из исходного кода, поскольку ваша карта может больше не поддерживаться официальным установщиком pytorch (что я прочитал между строк в вашем вопросе), весь ответ там должен быть актуален для ответа здесь.

Связанный контент