【发布时间】:2023-03-14 04:08:01
【问题描述】:
我在 CPU 上比较 OpenMP 和 OpenCL 的性能,我的系统有 8 个内核。但我需要分别比较 2、4、6 和 8 核。我可以通过“set_num_threads(n)”函数或环境变量激活 OpenMP 中的内核数;但我不知道如何在 OpenCL 中做同样的事情,OpenCL 中是否有 OpenMP set_num_threads API 的替代方案?
【问题讨论】:
标签: opencl
我在 CPU 上比较 OpenMP 和 OpenCL 的性能,我的系统有 8 个内核。但我需要分别比较 2、4、6 和 8 核。我可以通过“set_num_threads(n)”函数或环境变量激活 OpenMP 中的内核数;但我不知道如何在 OpenCL 中做同样的事情,OpenCL 中是否有 OpenMP set_num_threads API 的替代方案?
【问题讨论】:
标签: opencl
没有标准的方法来做到这一点。 OpenCL 将尝试使用 OpenCL 设备上的所有可用资源。
您可以研究的一种可能性是device fission extension。它允许您将设备(在本例中为 CPU)划分为更小的逻辑设备。目前至少 AMD 的实现在 CPU 上支持它。进行搜索,您还会找到更多来自 AMD 的资源。
【讨论】: