从命令行编译cuda - win32

问题描述:

我不希望整个VS安装,特别是因为它会占用我大部分的C空间,所以我抓住了SDK。我也安装了cuda SDK。我遇到一个相当荒谬的问题,但:从命令行编译cuda - win32

d:\cuda\class>nvcc --cubin unit1-1.cu 
unit1-1.cu 
unit1-1.cu 
tmpxft_00001224_00000000-5_unit1-1.cudafe1.gpu 
tmpxft_00001224_00000000-11_unit1-1.cudafe2.gpu 
'nvopencc' is not recognized as an internal or external command, 
operable program or batch file. 

d:\cuda\class>nvopencc 
nvopencc: no input files 
For general help: nvopencc --help 
To search help: nvopencc -help:<string> 

它说nvopencc是不是一个有效的命令,但我可以运行它!任何人都有任何想法如何解决这个问题?我在某处发现了一个命令--cubin,并希望它能起作用......我不知道它是否应该在那里。无论如何,无论有没有我得到相同的错误。

+0

不是那么荒谬......它只是表示nvcc.e xe在搜索编译器二进制文件时未使用该路径。 – 2013-02-11 01:37:36

下面是对Visual Studio 2010生成的nvcc.exe的典型调用。看起来您需要指定编译器二进制文件的位置。

nvcc.exe -gencode = ARCH = compute_30,代码= \ “sm_30,compute_30 \” --use-局部ENV 2010 --cl版本-ccbin“C:\ Program Files文件(86) \ Microsoft Visual Studio 10.0 \ VC \ bin“ -I”\ C \ common \ inc“-I”C:\ Program Files \ NVIDIA GPU计算工具包\ CUDA \ v5.0 \ include“-I”C:\ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v5.0 \ include“--keep --keep-dir”Release“-maxrregcount = 0 --machine 32 --compile -D_MBCS -Xcompiler”/ EHsc/W3/nologo/O2/Zi/MD“-o”Release \ kernel.cu.obj“”c:\ test_cuda \ test_cuda \ kernel.cu“

+0

--use-local-env是必需的组件。它需要--cl版本。其余的似乎没有必要。尽管我会接受这个答案。 – 2013-02-11 01:46:34

+1

对我来说它有效:'nvcc hello_world.cu --use-local-env --cl-version 2010' – 2014-07-15 08:14:41