OpenMP 如何进行线程分配



我想研究一下OpenMP API将线程分配给内核的基础。这样做时会考虑哪些因素?可以根据程序员的需要修改此分配吗?

我相信

您正在寻找开口线程和硬件线程/内核之间的亲和力。答案是肯定的,顺便说一句。

如果您使用英特尔编译器,则可以查看此站点KMP_AAFFINITY环境变量。https://software.intel.com/en-us/node/522691

如果您使用 GNU 编译器,您可能会对这些官方的 OpenMP 环境变量感兴趣。https://gcc.gnu.org/onlinedocs/libgomp/OMP_005fPLACES.htmlhttps://gcc.gnu.org/onlinedocs/libgomp/OMP_005fPROC_005fBIND.html

是的,线程数绝对可以根据程序员的判断进行修改。

请参阅:OpenMp 根据变量设置并行循环的线程数

默认情况下,OpenMP 分配的线程数与运行它的计算机/节点(如果是分布式系统)上的内核数一样多。

相关内容

  • 没有找到相关文章

最新更新