我正在比较 OpenMP 和 OpenCL 在 CPU 上的性能,我的系统有 8 个内核。但我需要分别比较 2、4、6 和 8 核。我可以通过“set_num_threads(n)”函数或环境变量激活 OpenMP 中的内核数;但我不知道如何在 OpenCL 中做同样的事情,OpenCL 中是否有 OpenMP set_num_threads API 的替代方案?
最佳答案
没有标准的方法可以做到这一点。 OpenCL 将尝试使用 OpenCL 设备上的所有可用资源。
您可以研究的一种可能性是 device fission extension .它允许您将设备(在本例中为 CPU)划分为更小的逻辑设备。目前至少 AMD 的实现在 CPU 上支持它。进行搜索,您还会发现更多来自 AMD 的资源。
关于opencl - 在 OpenCL 中选择 CPU 核心数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7163962/