Compilador C++ do Visual Studio 2017 e CUDA da NVidia?

Compilador C++ do Visual Studio 2017 e CUDA da NVidia?

Estou tentando configurar o PyTorch para funcionar com a GPU GTX 1050 do meu laptop. Depois disso, tentei configurar o CUDA, tenho seguido o guia criado porNvidia aqui. Pelo que posso dizer, não tive nenhum problema com isso. Posso correr nvcc -Ve chegar abaixo como seria de esperar:

insira a descrição da imagem aqui

Quando tento executar as soluções de exemplo fornecidas para garantir que a instalação foi bem-sucedida - nvcc displayQueueou seja nvcc bandwidth, recebi apenas o seguinte erro:

insira a descrição da imagem aqui

Seguindo com isso, tentei baixar a versão comunitária do Visual Studio 2017 para obter um compilador C++ e "cl.exe". Ao fazer isso, parece que a instalação não definiu um caminho para um compilador "cl.exe" nas variáveis ​​de ambiente.

A tentativa de encontrar um "cl.exe" em meus arquivos parece ser outro problema, pois tenho vários "cl.exe" nos seguintes caminhos:

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

Definir qualquer um desses caminhos para PATH em minhas variáveis ​​de ambiente e executar "nvcc displayQueue" ou "largura de banda nvcc" novamente só gera o erro:

insira a descrição da imagem aqui

Algo mudou, mas o sistema parece não funcionar.
Qualquer ajuda é muito apreciada.

Responder1

Definir apenas cl.exeo caminho não terá efeito, pois também precisa de outras ferramentas. A forma oficial é usarprompt de comando do desenvolvedorque vem apenas com o Visual Studio.

De acordo comesse:

Tente pesquisar o nome do arquivo do prompt de comando, como VsDevCmd.bat, ou vá para a pasta Ferramentas, como C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools (o caminho muda de acordo com sua versão, edição e local de instalação do Visual Studio).

Abra uma janela do Prompt de Comando (CMD), execute este comando:

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

Isso definirá todos os caminhos necessários para você. O x64parâmetro é apenas para CPU Intel de 64 bits. Altere esse parâmetro x86para CPU Intel de 32 bits. Ou arme arm64. O caminho pode mudar de acordo com a sua versão do Visual Studio. Não feche a janela do CMD. Você também pode verificar o caminho (se estiver definido corretamente) com where cl.exeo comando. Agora execute os comandos necessários para compilar.

Observação:Se você precisar apenas do compilador C++, tente oFerramentas de construção VSeSDK do Windowsapenas.

Responder2

Primeiro você precisará descobrir os detalhes do seu GPU usando o método na parte da pergunta, que é o deviceQueryaplicativo de acordo comhttps://forums.developer.nvidia.com/t/what-is-the-compute-capability-of-a-geforce-gt-710/146956/4:

deve haver um deviceQuery executableno conjunto de demonstração da sua instalação CUDA. No Windows deve estar em C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y\extras\demo_suite, onde XY especifica sua versão CUDA, por exemplo, 10.2. deviceQuery informará a arquitetura de computação do seu dispositivo:Versão principal/secundária de capacidade CUDA número.

Agora dê uma olhadaComo instalar o pytorch (com o cuda habilitado para um CUDA cc 3.5 obsoleto de um gpu antigo) FROM SOURCE usando o prompt do anaconda no Windows 10?e aí o ponto 3 a 5 da resposta. O núcleo é basicamente o ponto 3, a tabela com as setas verdes. Procure aquela tabela no originalhttps://gist.github.com/ax3l/9489132novamente e tome a decisão da mesma forma que foi feita no ponto 3.

A tabela mostrará como escolher o compilador MSVC correto para o driver do compilador CUDA correto para o seu gpu SM Arch (por exemplo, CUDA cc [= capacidade de computação] 3.5, CUDA cc 8.0 ou o que sua placa fornecer).

Se você precisar instalar o pytorch com cuda da fonte porque sua placa pode não ser mais suportada pelo instalador oficial do pytorch (que li nas entrelinhas da sua pergunta), toda a resposta deve ser relevante para a resposta aqui.

informação relacionada