MPI 和 OpenMP 有什么区别?

MPI 和 OpenMP 有什么区别?

我只是想知道 MPI 和 OpenMP 在我学校的一个项目中有什么区别。
我是 Ubuntu 新手,找不到可靠的网站。我试了很多次。请帮帮我!

答案1

这是一个stackoverflow.com问题类型。由于您不知道,而且这是针对学校项目的,我可以肯定地说您会想要 OpenMP(假设您想知道区别以知道使用哪一个)。话虽如此,想到的最大区别是 MPI 是为分布式内存系统(如集群)设计的,而 OpenMP 是为共享内存系统(如您的 PC)设计的。

答案2

即使不是专门针对 OpenMP 与 MPI,我认为此主题回答了您问题的大部分内容。简而言之,MPI 不是共享内存模型,并且针对高度并行化的系统。OpenMP 是一种共享内存模型(作为简单的 pthreads),其优点之一是并行化过程相对于 MPI 更容易。因此,将串行程序转换为 MPI 并行化版本更难,但如果您计划在数千个节点上运行该程序,使用 MPI 可能会获得更好的性能。

顺便说一句,我认为您在错误的网站上发布了帖子。堆栈溢出最适合这类问题。

相关内容