我正在尝试使用混合 MPI-OpenMP 并行化运行代码。据我所知,只要 OpenMP 线程的数量小于物理处理器的数量,每个处理器就运行一个线程。假设这是真的,假设我有一个由两张计算卡组成的假设计算节点。每张计算卡都有4个处理器+内存的芯片。我的问题是:MPI 和 OpenMP 参数的最佳选择是什么。我会说 2 个 MPI 作业和每个 4 个线程,这是正确的吗?
OMP_NUM_THREADS = 4
mpirun -np 2 code
我从一些同事那里听说,应该仔细选择这些参数,以获得最佳性能(取决于硬件布局)。我将不胜感激有关运行混合作业的一些建议。
谢谢