Невозможно собрать основной шаблонный проект CUDA 13 в VS2022 [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Невозможно собрать основной шаблонный проект CUDA 13 в VS2022 [закрыто]

Сообщение Anonymous »

Я установил v2022 (версия 17.14.14) вместе с версией Cuda Toolkit 13.0.1 < /p>
У меня есть карта RTX 5090 в моем окне 11, и я просто хотел сделать некоторые базовые программы CUDA, но всякий раз, когда я пытался компилировать базовую программу в VS2022, она вернула бы следующую ошибку - MSB3721. Class = "Lang-None PrettyPrint-Override">1>
1>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\BuildCustomizations\CUDA 13.0.targets(803,9): error MSB3721: The command ““C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\bin\nvcc.exe” -gencode=arch=compute_89,code=“sm_89,compute_89” --use-local-env -ccbin “C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\HostX64\x64” -x cu -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\include” -I"D:\vcpkg\installed\x64-windows\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\include" -G --keep-dir CudaRuntime1\x64\Debug -maxrregcount=0 --machine 64 --compile -cudart static -g -DWIN32 -DWIN64 -D_DEBUG -D_CONSOLE -D_MBCS -Xcompiler “/EHsc /W3 /nologo /Od /FS /Zi /RTC1 /MD " -Xcompiler “/FdCudaRuntime1\x64\Debug\vc143.pdb” -o D:\Projects\CudaRuntime1\CudaRuntime1\x64\Debug\kernel.cu.obj “D:\Projects\CudaRuntime1\kernel.cu”” exited with code 1.
1> 0 Warning(s)
1> 1 Error(s)
1>
< /code>
Поиск в выходе из VS2022 < /p>
1> Task Parameter:GenerateLineInfo=False
1> Task Parameter:CodeGeneration=arch=compute_89,code=\"sm_89,compute_89\"
1> Task Parameter:FastCompile=Off
1> Task Parameter:GenerateRelocatableDeviceCode=False
1> Task Parameter:PtxAsOptionV=False
1> Task Parameter:RequiredIncludes=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\include
1> Task Parameter:GPUDebugInfo=True
1> Task Parameter:Emulation=False
1> Task Parameter:CommandLineTemplate="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\bin\nvcc.exe" [CodeGeneration] --use-local-env -ccbin "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\HostX64\x64" -x cu [GenerateRelocatableDeviceCode] [ExtensibleWholeProgramCompilation] [Include] [RequiredIncludes] [InterleaveSourceInPTX] [GPUDebugInfo] [GenerateLineInfo] [Keep] [KeepDir] [FastMath] [MaxRegCount] [PtxAsOptionV] [SplitCompile] [FastCompile] [TargetMachinePlatform] [NvccCompilation] [CudaRuntime] [AdditionalOptions] [HostDebugInfo] [Emulation] [Defines] -Xcompiler "/EHsc [Warning] /nologo [Optimization] /FS [DebugInformationFormat] [RuntimeChecks] [Runtime] [TypeInfo]" -Xcompiler "/FdCudaRuntime1\x64\Debug\vc143.pdb" [CompileOut] "D:\Projects\CudaRuntime1\kernel.cu"
1> Task Parameter:CompileOut=D:\Projects\CudaRuntime1\CudaRuntime1\x64\Debug\kernel.cu.obj
1> Task Parameter:LogStandardErrorAsError=False
1> Task Parameter:Keep=False
1> cmd.exe /C "C:\Users\PRO X870-P WIFI\AppData\Local\Temp\tmpa8ff64e57d2f4698847e3d5893f96db1.cmd"
1> "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\bin\nvcc.exe" -gencode=arch=compute_89,code=\"sm_89,compute_89\" --use-local-env -ccbin "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\HostX64\x64" -x cu -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\include" -I"D:\vcpkg\installed\x64-windows\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\include" -G --keep-dir CudaRuntime1\x64\Debug -maxrregcount=0 --machine 64 --compile -cudart static -g -DWIN32 -DWIN64 -D_DEBUG -D_CONSOLE -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /FS /Zi /RTC1 /MD " -Xcompiler "/FdCudaRuntime1\x64\Debug\vc143.pdb" -o D:\Projects\CudaRuntime1\CudaRuntime1\x64\Debug\kernel.cu.obj "D:\Projects\CudaRuntime1\kernel.cu"
1>
1> D:\Projects\CudaRuntime1>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\bin\nvcc.exe" -gencode=arch=compute_89,code=\"sm_89,compute_89\" --use-local-env -ccbin "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\HostX64\x64" -x cu -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\include" -I"D:\vcpkg\installed\x64-windows\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\include" -G --keep-dir CudaRuntime1\x64\Debug -maxrregcount=0 --machine 64 --compile -cudart static -g -DWIN32 -DWIN64 -D_DEBUG -D_CONSOLE -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /FS /Zi /RTC1 /MD " -Xcompiler "/FdCudaRuntime1\x64\Debug\vc143.pdb" -o D:\Projects\CudaRuntime1\CudaRuntime1\x64\Debug\kernel.cu.obj "D:\Projects\CudaRuntime1\kernel.cu"
1> C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\BuildCustomizations\CUDA 13.0.targets(803,9): error MSB3721: The command ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\bin\nvcc.exe" -gencode=arch=compute_89,code=\"sm_89,compute_89\" --use-local-env -ccbin "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\HostX64\x64" -x cu -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\include" -I"D:\vcpkg\installed\x64-windows\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\include" -G --keep-dir CudaRuntime1\x64\Debug -maxrregcount=0 --machine 64 --compile -cudart static -g -DWIN32 -DWIN64 -D_DEBUG -D_CONSOLE -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /FS /Zi /RTC1 /MD " -Xcompiler "/FdCudaRuntime1\x64\Debug\vc143.pdb" -o D:\Projects\CudaRuntime1\CudaRuntime1\x64\Debug\kernel.cu.obj "D:\Projects\CudaRuntime1\kernel.cu"" exited with code 1.
1> Done executing task "CudaCompile" -- FAILED.
1> Done building target "CudaBuildCore" in project "CudaRuntime1.vcxproj" -- FAILED.
1>
1> Done building project "CudaRuntime1.vcxproj" -- FAILED.
1> Done executing task "MSBuild" -- FAILED.
1>Done building target "CudaBuild" in project "CudaRuntime1.vcxproj" -- FAILED.
1>
1>Done building project "CudaRuntime1.vcxproj" -- FAILED.
1>
< /code>
Но это мне не очень помогает. < /p>
Я вообще не внес никаких изменений в коды, за исключением генерации кода от Compute_75 до Compute_89. Я не знаю, почему это не работает. Я переустановил VS2022 и удалил все предыдущие экземпляры инструментов CUDA и только переустановил CUDA 13. < /p>
Обновление:
Вот где я пытался запустить команду в командной строке нативного инструмента x64 < /p>
C:\Program Files\Microsoft Visual Studio\2022\Community>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\bin\nvcc.exe" -gencode=arch=compute_120,code=\"sm_120,compute_120\" --use-local-env -ccbin "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\HostX64\x64" -x cu -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\include" -I"D:\vcpkg\installed\x64-windows\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\include" -G --keep-dir CudaRuntime1\x64\Debug -maxrregcount=0 --machine 64 --compile -cudart static --allow-unsupported-compiler -g -DWIN32 -DWIN64 -D_DEBUG -D_CONSOLE -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /FS /Zi /RTC1 /MD " -Xcompiler "/FdCudaRuntime1\x64\Debug\vc143.pdb" -o D:\Projects\CudaRuntime1\CudaRuntime1\x64\Debug\kernel.cu.obj "D:\Projects\CudaRuntime1\kernel.cu"
kernel.cu
tmpxft_00001e88_00000000-7_kernel.cudafe1.cpp
C:\Users\PROX87~1\AppData\Local\Temp\tmpxft_00001e88_00000000-7_kernel.cudafe1.cpp: fatal error C1041: cannot open program database 'C:\Program Files\Microsoft Visual Studio\2022\Community\CudaRuntime1\x64\Debug\vc143.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS

C:\Program Files\Microsoft Visual Studio\2022\Community>

< /code>
Сначала он скомпилирован о пропущенном vc143.pdb, я удалил это, так как не думал, что это необходимо, но это следующая ошибка < /p>

C:\Program Files\Microsoft Visual Studio\2022\Community>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\bin\nvcc.exe" -gencode=arch=compute_120,code=\"sm_120,compute_120\" --use-local-env -ccbin "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\HostX64\x64" -x cu -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\include" -I"D:\vcpkg\installed\x64-windows\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\include" -G --keep-dir CudaRuntime1\x64\Debug -maxrregcount=0 --machine 64 --compile -cudart static --allow-unsupported-compiler -g -DWIN32 -DWIN64 -D_DEBUG -D_CONSOLE -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /FS /Zi /RTC1 /MD " -o D:\Projects\CudaRuntime1\CudaRuntime1\x64\Debug\kernel.cu.obj "D:\Projects\CudaRuntime1\kernel.cu"
kernel.cu
tmpxft_00006060_00000000-7_kernel.cudafe1.cpp
C:\Users\PROX87~1\AppData\Local\Temp\tmpxft_00006060_00000000-7_kernel.cudafe1.cpp: fatal error C1041: cannot open program database 'C:\Program Files\Microsoft Visual Studio\2022\Community\vc140.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS
< /code>
Теперь он спрашивает о vc140.pdb. Это еще дальше."C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\bin\nvcc.exe" -dlink -o CudaRuntime1\x64\Debug\CudaRuntime1.device-link.obj -Xcompiler "/EHsc /nologo /Zi " -Xcompiler "/Fd[ProgramDataBaseFileName]" -L"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\bin\x64/crt" -L"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\lib\x64"
< /code>
Я заметил "[ProgramDataBaseFilename]" Это, вероятно, проблема, но я не знаю, где он устанавливается. У кого -нибудь есть идеи?


Подробнее здесь: https://stackoverflow.com/questions/797 ... -in-vs2022
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»