【发布时间】:2011-10-25 00:33:52
【问题描述】:
我正在研究一种算法,它可以多次执行几乎相同的操作。由于该操作由一些线性代数(BLAS)组成,我想我会尝试使用 GPU 来解决这个问题。
我已经编写了我的内核并开始将内核推送到命令队列中。由于我不想在每次通话后等待,我想我会尝试将通话与事件进行菊花链式连接,然后开始将它们推送到队列中。
call kernel1(return event1)
call kernel2(wait for event 1, return event 2)
...
call kernel1000000(vait for event 999999)
现在我的问题是,所有这些都被推送到驱动程序存储队列的图形芯片吗?我可以使用的事件数量或命令队列的长度是有限制的,我环顾四周但找不到这个。
我正在使用 atMonitor 来检查我的 gpu' 的利用率,并且很难将其推到 20% 以上,这仅仅是因为我无法足够快地将调用推到那里吗?我的数据已经存储在 GPU 上,我传递的只是实际调用。
【问题讨论】: