- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
OpenCL 1.1标准说(5.2.3):
If blocking_map is CL_FALSE i.e. map operation is non-blocking, the pointer to the mapped region returned by clEnqueueMapBuffer cannot be used until the map command has completed. The event argument returns an event object which can be used to query the execution status of the map command. When the map command is completed, the application can access the contents of the mapped region using the pointer returned by clEnqueueMapBuffer.
Using clGetEventInfo to determine if a command identified by event has finished execution (i.e. CL_EVENT_COMMAND_EXECUTION_STATUS returns CL_COMPLETE) is not a synchronization point. There are no guarantees that the memory objects being modified by command associated with event will be visible to other enqueued commands.
最佳答案
1-使用入队障碍并从该命令获取事件以具有可见性并与主机进行细粒度的同步
等待它在while循环中查询会使用更多的cpu,但至少具有良好的粒度
2个事件,用于细粒度控制。等待和可见性的障碍
例如,clwaitforevents既提供了查询结果,又使用了更少的cpu,但比查询的粒度更大
设备端仅使用事件网络在队列之间具有图形
3-没有任何典型的。选择哪个最适合您的问题
关于multithreading - 使用clEnqueueMapBuffer和 'querying whether the command has finished'的OpenCL主机的内存可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42760740/
谁能说说功能clEnqueueMapBuffer工作机制。其实我主要关心的是我可以从这个函数中获得什么速度上的好处,而不是clEnqueueRead/WriteBuffer . PS : 是否clEn
我在为 OpenCL 代码采用 YOLO 时遇到性能问题。 该方法仅从设备中提取数据,第一次运行速度较慢,但接下来的几次调用速度很快。有调用日志,时间以微秒为单位: clEnqueueMapBuf
我试图通过编写一个内核来了解 OpenCL 中的 clEnqueueMapBuffer,该内核在输入缓冲区中找到值的平方,但使用 clEnqueueMapBuffer 在输出缓冲区中一次只返回两个项目
它们都可以将数据从主机传输到设备,对吧?那么,有什么区别呢?需要创建一个缓冲区而不需要吗?谢谢! khronos网站上的解释: clEnqueueMapBuffer: 将命令加入队列,将 buffer
我的理解是,如果我使用 clCreateBuffer 使用标志 CL_MEM_USE_HOST_PTR 设置一个 cl_mem 对象,那 block 内存现在位于控制设备。 如果我想以某种方式改变主机
我是一名优秀的程序员,十分优秀!