【发布时间】:2015-07-14 18:46:14
【问题描述】:
我在骁龙 800 平台上使用OpenCL。由于GPU 内存是共享的,我可以将内存缓冲区映射到主内存中,并可以直接在其上写入。这避免了GPU 和 RAM 之间的内存复制。
我想知道,我是否可以用我的 CPU 写入映射内存并同时执行其他命令队列中的其他 OpenCL 程序。
如果你想要一点背景,继续阅读:
我正在使用网络摄像头来捕获图像,并且网络摄像头库具有 getImage() 之类的功能。只要有新帧,此功能就会阻止执行。对于 30 fps,最坏情况下为 33 毫秒。在此期间,我的缓冲区被映射,因为 OpenCL 给了我一个指针,我必须将此指针转发给网络摄像头库。调用完成后,我可以取消映射OpenCL 缓冲区。
我在GPU 上实现了高级图像处理算法,但并非所有算法都使用映射缓冲区。
【问题讨论】:
标签: c image-processing opencl gpu gpgpu