我有来自MPI电话的C源。
我想知道我可以通过链接一些MPI存根库从源代码获得顺序程序吗?我在哪里可以获得这个lib?
答案 0 :(得分:5)
大多数正确编写的MPI程序不应该依赖于他们用来获得正确答案的进程数量 - 例如,如果你在一个进程上运行它们(mpirun -np 1 ./a.out)它们仍应该工作。所以你不需要存根库 - 只需使用MPI。 (如果由于某种原因你只是不想要无关的库,那肯定是可能来编写存根并链接它们 - 我在我的笔记本电脑上设置MPI的那天回复了一个巨大的PITA,您可以使用this作为起点并添加您需要的任何功能。但是现在,摆弄存根库可能比仅仅使用现有的MPI实现更多的工作。)
如果您的MPI程序不当前在一个处理器上正常工作,则存根库可能无济于事;你需要找到它没有处理和修复它们的特殊情况。
答案 1 :(得分:3)
我不认为这是可能的。与OpenMP相反,当您简单地删除MPI部分时,使用MPI的程序不一定运行或产生相同的结果。
答案 2 :(得分:0)
PETSc包含一个存根MPI库,适用于一个进程(即串行)执行。我没有方便的链接,但如果谷歌没有为您找到它,将会在以后查找。