Построение CUDA в плато-ид-терминале - PullRequest
0 голосов
/ 26 октября 2019

Я бы хотел иметь возможность скомпилировать и собрать исходный код CUDA C, предоставленный здесь , используя Windows 10 Powershell. У меня нет проблем с этим, используя x64 Native Tools Command Prompt для VS 2017 .

Однако я попробовал несколько способов, предложенных онлайн, чтобы заставить Powershell работать, но безуспешно. Причина в том, что я хочу иметь возможность создавать свои коды cuda в редакторе Atom, используя его пакет platformio-ide-terminal, который загружает Powershell внутри Atom. Итак, если я выясню, как настроить сообщество Visual Studio 2017 Community в Powershell, я отредактирую свой код в Atom и с удобством создаю его с помощью интеграции Powershell.

Я пытался настроить среду следующим образом, но все же nvcc не может найти путь к cl.exe.

Может ли кто-нибудь помочь мне?

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Try the new cross-platform PowerShell https://aka.ms/pscore6

PS C:\Users\AFP\Downloads\cuda_by_example> cd "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\"

PS C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build> .\vcvarsall.bat amd64
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.7.3
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

PS C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build> cd C:\Users\AFP\Downloads\cuda_by_example\

PS C:\Users\AFP\Downloads\cuda_by_example> nvcc .\chapter03\hello_world.cu
nvcc fatal   : Cannot find compiler 'cl.exe' in PATH

PS C:\Users\AFP\Downloads\cuda_by_example>

Ответы [ 2 ]

2 голосов
/ 26 октября 2019

Вы можете добавить путь к cl.exe к переменным среды:

control panel > view advanced system settings > Environment variables > Path > New.

Затем добавьте C:\Program Files (x86)\Microsoft Visual Studio\<year >\Community\VC\Tools\MSVC\<toolset>\bin\Hostx64\x64.

Или используйте эту команду длясоставить: nvcc x.cu .\chapter03\hello_world.cu -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\<year >\Community\VC\Tools\MSVC\<toolset>\bin\Hostx64\x64"

0 голосов
/ 26 октября 2019

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

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Try the new cross-platform PowerShell https://aka.ms/pscore6

PS C:\Users\AFP\Downloads\cuda_by_example> & 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat' amd64
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.7.3
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
PS C:\Users\AFP\Downloads\cuda_by_example> $ENV:PATH="$ENV:PATH;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\Hostx64\x64"
PS C:\Users\AFP\Downloads\cuda_by_example> nvcc .\chapter03\hello_world.cu
hello_world.cu
   Creating library a.lib and object a.exp
PS C:\Users\falah\Downloads\cuda_by_example> .\a.exe
Hello, World!
PS C:\Users\falah\Downloads\cuda_by_example>

Автоматизация

Чтобы автоматизировать это, создайтефайл с именем nvcc_setup_for_powershell.ps1 и поместите в него следующие две команды.

& 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat' amd64
$ENV:PATH="$ENV:PATH;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\Hostx64\x64"
Write-Output "Configured PowerShell for NVCC Using Visual Studio 2019 Community x64"
$myshell = New-Object -com "Wscript.Shell"
$myshell.sendkeys("{ENTER}")

последние две команды должны имитировать нажатие кнопки ввода, принятой из здесь .

Открыть настройки для platformio-ide-terminal в Core > Run Command и указать путь к сценарию PowerShell: & "C:\Path\To\Script\nvcc_setup_for_powershell.ps1".

enter image description here Вам может потребоваться открыть PowerShell от имени администратора и выполнить следующую команду

Set-ExecutionPolicy RemoteSigned

, чтобы выполнить nvcc_setup_for_powershell.ps1.

.
...