Cudafy.NET编译错误:具有不同地址空间的两个指针之间的非法隐式转换

时间:2014-11-10 21:57:18

标签: c# opencl cudafy.net

编译下面的方法时遇到问题。 如果选择CUDA作为目标,则编译正常,但是如果选择OpenCL则会引发错误。

[Cudafy]
unsafe static void MyKernelMethod(
    GThread thread, 
    [CudafyAddressSpace(eCudafyAddressSpace.Constant)] int[] a)
{
    // fix our array to a ptr 
    fixed (int* aPtr = a)
    {
        // get a new array pointing to some offset of the original array
        int* aPtr_Offset = aPtr + thread.blockIdx.x;
        // use it for something
        aPtr_Offset[thread.threadIdx.x] = 2;

        // some more code...
    }
}

错误:

  

错误:具有不同地址空间的两个指针之间的非法隐式转换

我没有足够的知识如何纠正这个问题(我刚刚开始GPGPU编程)。

0 个答案:

没有答案