caffe 调试版本:nvcc 命令中出现杂散的“”字符
caffe Debug build: stray '"' character in nvcc command
我正在尝试在调试模式、VS2013 社区、x64 下构建使用 caffe 的 C++ 应用程序。为了能够将不需要 cuda 的版本构建到 运行,我添加了包装每个 .cu 文件,如下所示:
#ifndef CPU_ONLY
// .cu file contents
#endif
项目已构建,运行 在 CPU_ONLY 模式下运行良好。
取消定义 CPU_ONLY 标志,项目构建并且 运行s 在发布模式下正常,但在调试中,
尝试编译 *.cu 文件时出现以下错误:
Compiling CUDA source file ..\..\src\caffe\layers\base_data_layer.cu...
>
> >COMMAND
> nvcc fatal : Stray '"' character in command line
COMMAND exited with code 1.
其中 COMMAND 是下面的 nvcc 编译器调用命令,换行以提高可读性。
"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\bin\nvcc.exe"
-gencode=arch=compute_30,code=\" sm_30,compute_30\"
--use-local-env
--cl-version 2013 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64"
-I"C:\Users\username\Downloads\liblinear-1.8\liblinear-1.8"
-I"C:\Users\username\Downloads\poco-1.6.0\Foundation\include"
-I"C:\Users\username\Downloads\poco-1.6.0\Net\include"
-IC:\opencv_gpu\include -I"C:\Users\username\Downloads\caffe-master\src"
-I"C:\Users\username\Downloads\caffe-master\include"
-IC:\local\boost_1_56_0 -I"C:\Users\username\Downloads\caffe-masterrdparty\include\openblas"
-I"C:\Users\username\Downloads\caffe-masterrdparty\include\lmdb"
-I"C:\Users\username\Downloads\caffe-masterrdparty\include\leveldb"
-I"C:\Users\username\Downloads\caffe-masterrdparty\include\hdf5"
-I"C:\Users\username\Downloads\caffe-masterrdparty\include\google"
-I"C:\Users\username\Downloads\caffe-masterrdparty\include\glog"
-I"C:\Users\username\Downloads\caffe-masterrdparty\include\gflags"
-I"C:\Users\username\Downloads\caffe-masterrdparty\include"
-I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include"
-I"C:\Users\username\Downloads\cudnn-6.5-win-R1"
-I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include"
-G --keep-dir x64\Debug -maxrregcount=0 --machine 64 --compile
-cudart static -g -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -DWIN32 -D_DEBUG -D_CONSOLE -D_LIB -D_UNICODE -DUNICODE
-Xcompiler "/EHsc /W0 /nologo /Od /Zi /RTC1 /MDd "
-o x64\Debug\base_data_layer.cu.obj "C:\Users\username\Downloads\caffe-master\src\caffe\layers\base_data_layer.cu"
在添加 CPU_ONLY 标志之前,项目能够在调试模式下成功构建。
有什么想法吗?
原来是打错了。
在项目属性->调试->CUDA C/C++->设备中,而不是
compute_30,sm_30
我有
`compute_30, sm_30`
即带有 space 分隔符。
我正在尝试在调试模式、VS2013 社区、x64 下构建使用 caffe 的 C++ 应用程序。为了能够将不需要 cuda 的版本构建到 运行,我添加了包装每个 .cu 文件,如下所示:
#ifndef CPU_ONLY
// .cu file contents
#endif
项目已构建,运行 在 CPU_ONLY 模式下运行良好。 取消定义 CPU_ONLY 标志,项目构建并且 运行s 在发布模式下正常,但在调试中, 尝试编译 *.cu 文件时出现以下错误:
Compiling CUDA source file ..\..\src\caffe\layers\base_data_layer.cu...
>
> >COMMAND
> nvcc fatal : Stray '"' character in command line
COMMAND exited with code 1.
其中 COMMAND 是下面的 nvcc 编译器调用命令,换行以提高可读性。
"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\bin\nvcc.exe"
-gencode=arch=compute_30,code=\" sm_30,compute_30\"
--use-local-env
--cl-version 2013 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64"
-I"C:\Users\username\Downloads\liblinear-1.8\liblinear-1.8"
-I"C:\Users\username\Downloads\poco-1.6.0\Foundation\include"
-I"C:\Users\username\Downloads\poco-1.6.0\Net\include"
-IC:\opencv_gpu\include -I"C:\Users\username\Downloads\caffe-master\src"
-I"C:\Users\username\Downloads\caffe-master\include"
-IC:\local\boost_1_56_0 -I"C:\Users\username\Downloads\caffe-masterrdparty\include\openblas"
-I"C:\Users\username\Downloads\caffe-masterrdparty\include\lmdb"
-I"C:\Users\username\Downloads\caffe-masterrdparty\include\leveldb"
-I"C:\Users\username\Downloads\caffe-masterrdparty\include\hdf5"
-I"C:\Users\username\Downloads\caffe-masterrdparty\include\google"
-I"C:\Users\username\Downloads\caffe-masterrdparty\include\glog"
-I"C:\Users\username\Downloads\caffe-masterrdparty\include\gflags"
-I"C:\Users\username\Downloads\caffe-masterrdparty\include"
-I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include"
-I"C:\Users\username\Downloads\cudnn-6.5-win-R1"
-I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include"
-G --keep-dir x64\Debug -maxrregcount=0 --machine 64 --compile
-cudart static -g -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -DWIN32 -D_DEBUG -D_CONSOLE -D_LIB -D_UNICODE -DUNICODE
-Xcompiler "/EHsc /W0 /nologo /Od /Zi /RTC1 /MDd "
-o x64\Debug\base_data_layer.cu.obj "C:\Users\username\Downloads\caffe-master\src\caffe\layers\base_data_layer.cu"
在添加 CPU_ONLY 标志之前,项目能够在调试模式下成功构建。 有什么想法吗?
原来是打错了。
在项目属性->调试->CUDA C/C++->设备中,而不是
compute_30,sm_30
我有
`compute_30, sm_30`
即带有 space 分隔符。