gpt4 book ai didi

mpi - 运行混合 MPI 的最佳方式 - OpenMP 作业

转载 作者:行者123 更新时间:2023-12-02 00:05:52 25 4
gpt4 key购买 nike

我正在尝试使用混合 MPI-OpenMP 并行化运行代码。据我所知,只要 OpenMP 线程数小于物理处理器数,每个处理器都运行一个线程。假设这是真的,假设我有一个假想的计算节点,由两张计算卡组成。每张计算卡都有带 4 个处理器 + 内存的芯片。我的问题是:MPI 和 OpenMP 参数的最佳选择是什么。我会说 2 个 MPI 作业和 4 个线程,这是正确的吗?

OMP_NUM_THREADS = 4
mpirun -np 2 代码

我从一些同事那里听说,应该仔细选择这些参数,以获得最佳性能(取决于硬件布局)。如果能提供有关运行混合作业的建议,我将不胜感激。

谢谢

最佳答案

为实际应用程序代码选择正确的并行化配置绝非易事。 MPI 进程和 OpenMP 线程到多处理器节点的最佳映射取决于算法的具体实现、OpenMP 运行时、高速缓存存储器层次结构的内部组织以及与处理器架构相关的其他因素。

因此建议用户在其特定硬件上运行不同的配置以找到最佳分配。您可以在研究计算设施和 HPC 咨询公司的技术报告中找到大量关于此类研究的报告。

m x n 节点上,其中 m 是处理器插槽的数量,n 是 CPU 内核的数量,这样的实验将涉及运行MPI 进程 p 和 OpenMP 线程 q 数量的所有可能整数值的代码,使得每个可用编译器的 p x q = m x n

这是针对 4 x 12 AMD Opteron 节点的 pq 的不同组合获得的并行加速图。数据取自 HiPERiSM Consulting LLC technical report HCTR-2011-2乔治·德里克 (George Delic),2010 年。 Parallel speedup for different numbers of MPI processes and OpenMP threads. Data taken from HiPERiSM Consulting LLC technical report HCTR-2011-2 by George Delic, 2010您可以看到,对于这个特定代码的处理器架构,每个 MPI 进程的最佳 OpenMP 线程数是 1。但是,4 个线程和 12 个 MPI 进程的情况紧随其后。

关于mpi - 运行混合 MPI 的最佳方式 - OpenMP 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18420927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com