使用OpenMPI进行数据分发

时间:2012-03-25 09:31:48

标签: openmpi

我想使用OpenMPI在TCP / IP网络连接的多台机器上分发数据..任何人都可以指出我正确的资源和方向。我是OpenMPI的新手。

由于

2 个答案:

答案 0 :(得分:5)

这取决于您要编写软件的语言。但基本上,openMPI应用程序看起来像这样:

  1. 为MPI调用MPI_INIT以在节点之间为您初始化必要的通信。
  2. 使用MPI_Send,MPI_RECV函数发送或接收数据。这些函数有阻塞和非阻塞调用,还有其他几个函数 - 广播(发送给所有人),分散(将数据从数组中分配给每个主机)等。
  3. 使用MPI_FINALIZE完成通信过程。
  4. 在MPI中,几乎总是包含以下工作流程:

    1. 分配主主机 - 通常是processId = 0的主机。它的功能是协调从主机的工作。基本上,如果你必须并行获取数组中的最大值,那么他的工作就是获取数组,将它们分配给从属服务器,从服务器中收集结果并从列表中选择最大数量。
    2. Slave host - 等待接收数据,执行处理,将结果发送回master。
    3. 我建议使用this用于C ++开发的MPI教程,并查看有关该主题的书籍so post

答案 1 :(得分:1)

这只是网上众多MPI tutorials中的一个;我很惊讶你自己没找到。