OpenCL 中的处理器关联



我们可以在OpenCl中强加procssor亲和力吗?例如,线程 # 1 在进程 # 5 上执行,
thread# 2 在 procesor# 6 上执行,thread# 3 在 procesor# 7 上执行,依此类推 ?

谢谢

据我所知,您无法在如此低的级别上指定与 OpenCL 的亲和力。 但是,从 OpenCL 1.2 开始,通过使用 clCreateSubDevices 划分为子设备(可能通过使用 CL_DEVICE_PARTITION_BY_COUNTS, 1 在每个子设备中都有一个处理器)并在每个子设备上运行单独的内核执行,可以对亲和力进行一些控制。

这很可能在基于 CPU 的 OpenCL 实现以外的任何东西上运行不佳,我不得不质疑你为什么要做这样的事情。 如果要限制 OpenCL-CPU 实现的 CPU 使用率,可以使用clCreateSubDevices来分配一些计算资源。

这里描述了英特尔的"设备裂变",其中包含许多有关如何有效使用设备分区和clCreateSubDevices的信息。

最新更新