首页 > 解决方案 > 命令提示符导致致命错误,而 MSVS 2019 成功构建 CUDA 示例

问题描述

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.4\0_Simple\matrixMul我可以在 MSVS 2019 社区中成功构建和运行 CUDA 示例:

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.4\0_Simple\matrixMul> "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\bin\nvcc.exe" -gencode=arch=compute_35,code=\"sm_35,compute_35\" -gencode=arch=compute_37,code=\"sm_37,compute_37\" -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode=arch=compute_52,code=\"sm_52,compute_52\" -gencode=arch=compute_60,code=\"sm_60,compute_60\" -gencode=arch=compute_61,code=\"sm_61,compute_61\" -gencode=arch=compute_70,code=\"sm_70,compute_70\" -gencode=arch=compute_75,code=\"sm_75,compute_75\" -gencode=arch=compute_80,code=\"sm_80,compute_80\" -gencode=arch=compute_86,code=\"sm_86,compute_86\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64" -x cu -I./ -I../../common/inc -I./ -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\/include" -I../../common/inc -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\include" -G --keep-dir x64\Debug -maxrregcount=0 --machine 64 --compile -cudart static --threads 0 -g -DWIN32 -DWIN32 -D_MBCS -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /Fdx64/Debug/vc142.pdb /FS /Zi /RTC1 /MTd " -o x64/Debug/matrixMul.cu.obj "C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.4\0_Simple\matrixMul\matrixMul.cu" ==========全部重建:1成功,0失败,0跳过==========

但是,如果我打开命令提示符,将确切的命令复制并粘贴为灰色,然后运行它,它会导致 在此处输入图像描述

这没有意义:(i)相同的命令在 VS 中成功执行,(ii)路径cl.exe明确提供给编译器。

我总是可以将该路径添加到环境变量并重试它,但在此之前,为什么会发生这种情况?有没有其他人遇到过这个问题?我希望有洞察力,以便在向命令提示符发出编译指令时更加了解。

标签: visual-studiocuda

解决方案


删除--use-local-env. VS 隐藏了一些东西。构建代码的最低限度命令:

nvcc -gencode=arch=compute_35,code=\"sm_35,compute_35\" -gencode=arch=compute_37,code=\"sm_37,compute_37\" -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode=arch=compute_52,code=\"sm_52,compute_52\" -gencode=arch=compute_60,code=\"sm_60,compute_60\" -gencode=arch=compute_61,code=\"sm_61,compute_61\" -gencode=arch=compute_70,code=\"sm_70,compute_70\" -gencode=arch=compute_75,code=\"sm_75,compute_75\" -gencode=arch=compute_80,code=\"sm_80,compute_80\" -gencode=arch=compute_86,code=\"sm_86,compute_86\" -Wno-deprecated-gpu-targets -ccbin "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64" -cudart static --m64 --threads 0 -maxrregcount=0 -o matrixMul -x cu matrixMul.cpp


推荐阅读