限制OpenCL使用的计算单元数

时间:2011-09-19 15:15:54

标签: opencl core

我需要限制opencl应用程序使用的计算单元数。 我在具有8个计算单元的CPU上运行它,我已经看到了CL_DEVICE_MAX_COMPUTE_UNITS。

我使用OpenCL获得的执行时间远远少于没有OpenCL的正常算法的8倍(比600倍快)。我想只使用1个计算单元,因为我需要看到使用OpenCL优化的相同代码的真正改进。

仅用于测试,真正的应用程序将继续使用所有计算单元。

感谢您的帮助

1 个答案:

答案 0 :(得分:5)

如果您使用的是CPU,为什么不尝试使用OpenCL设备裂变扩展?

Device Fission允许您将计算机单元拆分为子设备。然后,您可以创建一个命令队列到子设备,并将内核仅排入CPU核心的子集,

例如,您可以将8核设备划分为8个1核的子设备。

查看AMD APP SDK中的Device Fission示例。