在OCL 1.2中没有任何同步的情况下,在2个内核之间共享相同的内存对象是否有效? 即我想创建一个内存对象,执行copy_host_ptr并将其作为指针同时访问传递给2个内核,主要是读取。
我对两个内核使用相同的设备/上下文/程序等,我只关心内存中的偏移。即我不在乎2内核中mem-obj的基地址是否相同。
谢谢!
答案 0 :(得分:0)
如果您使用单个命令队列,是的,因为那时您的内核会一个接一个地运行,并且永远不会同时访问内存。
如果您使用多个命令队列,在正确的条件下可以在某些硬件上同时执行内核,那么您应该只为只读缓冲区执行此操作。如果缓冲区由任一内核写入,那么我认为读取结果是未定义的,如果两个内核都写入更多,那么。