回答

2

如果你想学习MPI,你绝对可以在一台PC上做到这一点(大多数现代MPI具有共享内存本地通讯通讯,所以你不需要额外的配置)。因此,在Linux机器上安装流行的MPI(MPICH/OpenMPI)并开始行动!如果您的程序将受CPU限制,我建议只运行与您的计算机上的处理器内核数量相等的作业大小。

编辑:由于您将其标记为虚拟化问题,因此我想补充说您也可以在多个VM(例如VMPlayer或VirtualBox上)上运行MPI并运行测试。这需要配置虚拟机间网络(根据您的虚拟化软件而不同)。不管你选择什么(单个PC与虚拟机),它都不会改变你编写MPI程序的方式。既然这是为了学习MPI,我会建议采用第一种方法(在一台PC上运行多个MPI程序)。

+0

我想学习更多的方法来处理连接的多个处理器,就像在一个真正的集群上,你说这可以用VM来完成?我的大学我们有一个256个处理器集群,并且使用了linux中的一些命令,我​​想创建可以说4个计算机集群来学习如何在linux上配置它,如他们所说的那些坚果和螺栓,你是否也可以涉及到这一点您的答案请 –

+0

您所谈论的内容似乎与MPI不同。 MPI是一个编程库,可帮助您编写并行代码。 MPI有很多不同的实现,它们在设置方面有很大的不同。如果您对编程一般都不熟悉,请考虑尝试一种比C更简单的语言(这是MPI程序最常用的语言)。这里有一个Python版本https://bitbucket.org/bromer/pupympi/wiki/Home。 – Jan

1

您不需要让VM运行来启动使用MPI进行通信的应用程序的多个副本。

MPI可以通过启动应用程序的多个副本来帮助您在给定单个节点上的虚拟群集。

尽管它运行在虚拟机中的一个好处是(正如你已经提到的那样)它提供了沙箱装置。因此,如果你的应用程序创建的任何问题仍然限于运行应用程序副本的虚拟机。