【发布时间】:2018-09-29 09:38:35
【问题描述】:
您好,目前我正在开发一个使用 MPI 并行工作的程序。我想知道是否可以使用 OpenMP 在 for 循环中获得额外的速度,以便我可以从每个处理器中获得更多。我这样做会有所收获吗?还有我该怎么办?
【问题讨论】:
-
MPI+OpenMP的组合应用广泛。您最喜欢的搜索引擎是比 SO 更好的起点,尽管您会在这里找到很多关于该主题的问题。
-
这个问题没有通用答案;有些 MPI 应用程序受益于线程,有些则没有。例如,对于我们的 HPC 应用程序 (lsu3shell.sourceforge.net),线程带来了显着的改进,但没有降低运行时间。我们只是通过在线程之间共享数据结构(在同一节点上运行的不同 MPI 进程的不同地址空间中冗余)节省了大量内存,这使我们能够解决更大的计算问题。
标签: parallel-processing mpi openmp