Ошибка GASS.CUDA.CUResult.ErrorInvalidImage в CUDA.NET
Я пытаюсь разработать приложение формы с использованием CUDA.NET в Visual Stuio C#. Однако мне нужно создать файл кубин, вот моя проблема:
Я пытался создать файл кубин с помощью Visual Studio. Я изменил настройки в Project 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."
У вас есть какие-нибудь предложения?
1 ответ
1: убедитесь, что ваша видеокарта поддерживает gencode-arch и указанный вами код.
2: Вы компилируете для 32-битной, убедитесь, что вы компилируете и ссылаетесь на cuda.net для 32-битной также для.net.
3: Используйте managedcuda (codeplex) - намного лучшие образцы и документацию.