首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分布式内存代码的OpenMP

分布式内存代码的OpenMP
EN

Stack Overflow用户
提问于 2012-04-05 00:17:32
回答 2查看 309关注 0票数 0

我有一个与并行计算相关的问题。我有一个用C++写的很大的代码,它是使用OpenMP在共享内存的基础上并行化的。我想问一下,有没有可能将这种共享内存代码转换为分布式内存代码?

如果可能,需要执行哪些步骤?谢谢合作。

谢谢,拉胡尔·辛格

EN

回答 2

Stack Overflow用户

发布于 2012-04-05 00:54:03

大多数可以被并行化以在共享存储器计算机上运行的程序也可以被并行化以在分布式存储器计算机上运行。所以,是的,您的OpenMP程序解决的问题可能可以在分布式内存计算机上解决。但是,将OpenMP程序转换为分布式内存程序则是另一回事。您可能更好地建议从串行实现开始,并将其并行化,而不是尝试将一种并行思维模式适应于另一种并行执行模式。

所以,你寻找的第一步可能是不并行化你的程序。但是,正如评论员已经指出的那样,如果不更多地了解您的应用程序,就很难提供比我已经提供的更多有用的建议(而且我根本没有提供任何非常有用的建议)。

票数 0
EN

Stack Overflow用户

发布于 2012-04-05 01:18:27

共享内存和分布式内存是并行计算中两种截然不同的范式,它们往往意味着不同的思维策略。一些并行编程框架,如UPC或MPI,可以模拟在共享或分布式机器上运行,尽管最好不要这样做,因为在这里,UPC是用来在共享内存上使用的,而MPI是用来在分布式内存机器上使用的。我对OpenMP不太确定。

无论哪种情况,我的建议是首先考虑如何在分布式架构上实现代码的并行性,然后再使用MPI。如果您碰巧从事计算科学业务,那么已经有一些编写得非常好的包,例如来自Argonne National Lab的PETSc和来自Sandia National Lab的Trilinos,它们可能会帮助您更快地进行开发。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10015198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档