事情的起因:在论坛内一篇OpenCL内存创建时flags设置相关的博客中,留言区有朋友反映:
你好,我在Linux+arm64的架构下内存映射输入数据时,发现存在内存一致性问题,memcpy的数据无法全部正确映射给kernel函数,请问博主这种情况有什么处理办法吗?
解决方案:
在OpenCL中,映射和解映射的过程意味着内存所有权在主机端和设备端之间的交换,如果在映射完成,操作完一方的数据后,没有解映射就继续后续操作的话,由于所有权的并未完全移交,后续操作获取的内存便很容易残缺。因此,在映射、完成内存移动操作后,应记得及时解映射。
OpenCL零拷贝在ARM架构下出现内存映射不全问题
最新推荐文章于 2024-08-08 16:49:31 发布