小编Tom*_*mas的帖子

如何使用2个OpenCL运行时

我想在一个系统中一起使用2个OpenCL运行时(在我的例子中是AMD和Nvidia,但这个问题非常通用).

我知道我可以用任何SDK编译我的程序.但是在运行程序时,我需要提供libOpenCL.so.我如何提供两个运行时的库,以便在我的OpenCL程序中看到3个设备(AMD CPU,AMD GPU,Nvidia GPU)?

我知道它一定是可能的,但是我没有找到关于如何为linux做这个的描述.

非常感谢Tomas

opencl

7
推荐指数
3
解决办法
3029
查看次数

在调用clFinish或clWaitForEvents之前,OpenCL内核执行不会启动

我试图在GPU上运行内核并在主机(CPU)上进行额外的计算.我看到这个效果:

只有内核需要大约2000毫秒:

clEnqueueNDRangeKernel ...

clFinish(或clWaitForEvents,我试过两个)

我在睡眠模拟CPU上模拟了额外的计算(10):

clEnqueueNDRangeKernel ...

睡眠(10);

clFinish(或clWaitForEvents)

从理论上讲,内核应该在GPU上运行,在10秒休眠后内核应该完成.但是时间测量说这一切都需要12000ms而不是10000.

clFinish或clWaitForEvents是否会调用内核启动或者我错过了什么?

我正在使用AMD Fusion CPU/GPU和Linux.

非常感谢.

c++ opencl

6
推荐指数
1
解决办法
2037
查看次数

标签 统计

opencl ×2

c++ ×1