Ошибка 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) - намного лучшие образцы и документацию.

Другие вопросы по тегам