绝大多数HPC应用程序属于CPU计算密集型,对CPU的资源占用会长期处于100%状态,计算程序的进程或线程在不同核上的调度会导致性能下降。因此建议将线程与核绑定,并且计算线程总数不要超过节点的CPU核总数。
export OMP_PROC_BIND=true
也可以设置环境变量GOMP_CPU_AFFINITY控制线程绑定在哪些核上。具体可以参考GNU编译器手册中对OpenMP环境变量的使用。