我试图在GPU上看到Opencl编程模型的性能,现在在测试编程模型时,我必须使用clEnqueueNDkernel()
启动内核,我试图调用这个函数多次,这样我就可以看到它在启动两个或四个并发内核时的表现。
我发现该程序花费了与启动一个内核相同的时间,现在我假设它只运行一次内核,因为没有必要花费相同的时间来运行两个或四个并发内核。
现在我想知道如何在一个GPU上启动多个内核。
例如:我想推出类似的东西:
clEnqueueNDkernel()
clEnqueueNDkernel()
我该怎么做?
答案 0 :(得分:0)
首先,检查您的设备是否支持并发内核执行。最新的AMD& Nvidia卡。
然后,创建多个命令队列。如果将内核排入同一队列,它们将一个接一个地执行。
最后,检查内核是否确实并行执行。使用SDK或OpenCL事件中的分析器来收集分析信息。