我尝试在Visual Stuio C#中使用CUDA.NET开发一个表单应用程序。然而,我需要创建cubin文件,这是我的问题:
我尝试使用Visual Studio创建cubin文件。我将项目Properties->Configuration Properties->Cuda Runtime API->GPU->NVCC Compilation Type中的设置更改为"Generate 64 bit .cubin file (-m64 -cubin)" from "Generate hybrid object file (--compile / -c)".
但是我得到了这个错误,"fatal error LNK1181: cannot open input file '.\Debug\histogram256.cu.obj'"。它找不到我的一些.cu文件的对象。
因此,我只将这些.cu文件的"NVCC Compilation Type"设置更改为(-m64 -cubin),并通过右键单击这些文件来单独编译它们。但是,它没有创建任何.obj或.cubin文件。
然后我尝试从命令行编译它。我复制了.cu文件的Property Page->Cuda Runtime API->Command Line中的行,它是
" "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\bin\nvcc.exe" -gencode=arch=compute_20,code=\"sm_20,compute_20\" -gencode=arch=compute_20,code=\"sm_20,compute_20\" --machine 32 -ccbin "c:\Program Files\Microsoft Visual Studio 9.0\VC\bin" -Xcompiler "/EHsc /W3 /nologo /O2 /Zi /MT " -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include" -maxrregcount=0 --compile -o "Debug/device.cubin" "device.cu""
device.cu是我的cuda文件。
它创建了.cubin file,但我从CUDA.NET得到了这个错误:"GASS.CUDA.CUResult.ErrorInvalidImage."
你有什么意见建议?
发布于 2012-11-09 21:05:19
1:确保您的显卡支持gencode-arch和您指定的代码。
2:你编译32位,确保你正在编译和引用32位.net的cuda.net。
3:使用managedcuda (codeplex)要好得多,并提供了示例和文档。
https://stackoverflow.com/questions/11902926
复制相似问题