乱序命令队列与阻塞和非阻塞OpenCL写之间的关系

时间:2013-12-30 10:58:35

标签: opencl gpu nvidia amd-processor

我正在尝试找出clcreatecommandqueueclenqueuewritebuffer API之间的关系。

我正在使用一个非常简单的例子,即Vector addition和AMD CodeCL来衡量性能。

以下是clcreatecommandqueue和clenqueuewritebuffer API的不同配置的一些数字:

Scenario      Command-Queue Properties      blocking_write       time taken

1             in-order                      non-blocking         46.83ms

2             in-order                      blocking             4.711ms

3             out-of-order                  non-blocking         46.55ms

4             out-of-order                  blocking             4.358ms

所记录的时间是从cpu-to-gpu传输4MB数据(我得到了40MB数据传输的类似结果)。

根据我的理解,所花费的时间最少应该是无序和非阻塞,并且所花费的时间最多应该是有序和阻塞写入。

但是上面的数据表明,无论什么类型的命令队列,阻塞写入都优于其他所有。

有人可以帮我理解这些统计数据吗?

0 个答案:

没有答案