你好, 我只是想澄清一下为什么我们不能将 2D 数组指针作为参数传递给内核。 为什么不允许。 如果我使用它作为参数会发生什么(内部??因为我知道代码会给出一些错误)。
请做有需要的。
最佳答案
因为在 OpenCL 1.x 中,设备有一个独立的地址空间。在设备上执行的内核不知道如何处理仅在主机地址空间中有用的指针。
请注意,在 OpenCL 2.0 中,共享虚拟内存 (SVM) 取消了此限制,并允许在主机端和设备端使用包含指针的缓冲区。
关于opencv - OpenCL:为什么不能将指向指针的指针作为参数传递给内核函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26138835/