限制OpenCL使用的计算单元数

LoR*_*StE 1 core opencl

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

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

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

谢谢你的帮助

小智 5

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

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

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

请查看AMD APP SDK中的Device Fission示例.