我正在使用 ARM Mali T604 GPU。我使用 ALLOC_HOST_PTR 创建了一个内存对象。我想知道以下程序是否有效?我可以同时访问(只读)GPU 中的内存对象并映射(只读)CPU 中的相同内存对象吗?
第 1 步:取消映射内存对象(之前映射为 CL_MAP_READ_WRITE)
第 2 步:使用 CL_MAP_READ 将内存对象映射回(clEnqueueMapBuffer() 的参数)
第三步:CPU和GPU同时读取和处理数据(但我不会对这个内存对象做任何写操作)
第 4 步:取消映射内存对象
第 5 步:使用 CL_MAP_READ_WRITE 将内存对象映射到主机。
换句话说,我最终的目标是拥有一个 CPU 和 GPU 可以同时读取的内存对象。这在 Mali OpenCL 平台上可行吗?