设置计算单元数(CPU)

时间:2018-06-20 09:00:40

标签: parallel-processing opencl

我正在尝试在CPU(Intel i7-7550u)上运行的OpenCL程序中设置计算单元的数量。

我只是问是否有与OpenMP的set_num_threads类似的功能。

2 个答案:

答案 0 :(得分:0)

clCreateSubDevices将创建具有选定数量内核的子设备,但我认为实际上没有很多设备支持创建子设备,如果我错了,请有人纠正我。

但是限制计算单元数量与在OpenMP中设置线程数量并不完全相同。限制全局工作项的数量等于限制线程的数量,而限制计算单元的数量将限制您将要运行的并发线程数。

答案 1 :(得分:0)

在OpenCL中没有直接等效于OpenMP的set numthreads函数。 您可以做的最接近的事情是在内核分派期间配置线程总数,请参阅[1]

执行的并发线程总数是本地工作组大小,而将执行的线程总数是全局工作大小。

[1] https://www.khronos.org/registry/OpenCL/sdk/1.2/docs/man/xhtml/clEnqueueNDRangeKernel.html