CUDA Unknown Error

May 7, 2013 at 4:17 PM
Hi,

Im trying to use managedCUDA but for every reasonable kernel Im getting UnknownError. Kernel are tested with CUDA C and working correctly. But when I call kernel with dereferencing of input parameter I`m getting UnknownError.

global ErrorKernel(int *a)
{
   int b = a[0];
}

causes an error.

Empty kernel or every kernel where parameter is not dereferenced works without error.

Does someone have similar problem ?
CUDA Runtime 5.0
compilation compute capability sm_20, compute_20
Coordinator
May 7, 2013 at 4:31 PM
Hi,

the first thing that came to my mind is: are you calling the Run-method of your kernel properly? I.e something like
CudaDeviceVariable<int> something = new CudaDeviceVariable<int>(128);
kernel.Run(something.DevicePointer);
My guess is that you only pass "something", being at the end a reference (or pointer in C/C++) to host memory.
If this is not the case, can you post a short sample of your host part?

Cheers,
Michael
May 7, 2013 at 9:14 PM
Thanks for answer kunzmi.

I passed good parameters. After many and many hours of investigating I found the problem. I have compiled C# program for x64 architecture and CUDA ptx has been compiled for 32bit platform. This caused incompatibility and UnknownError.

After synchronizing platforms everything works as expected.

Jan