如何创建分布式阵列MPI

时间:2014-11-26 20:24:24

标签: c mpi

我想问一下如何在C中创建MPI分布式整数数组,并通过全局索引进行访问。我的意思是,我想创建MPI数组,例如5个处理器,例如3个块大小的第一个进程,4个块大小的第二个进程等,我想通过全局索引访问元素值。

1 个答案:

答案 0 :(得分:2)

所以有两种方法可以做到这一点:

  • 首先,您可以使用MPI RMA在一组进程上分配内存,并使用MPI_PUTMPI_GET来适当地访问内存。当您说“全局索引”时,这不会为您提供您似乎想要的直接可访问内存,但这是直接使用MPI执行此操作的最佳方式。

  • 另一个也许更好的选择是使用为此用途构建的编程模型,如Global Arrays,UPC或Co-array FORTRAN。所有这些都可以为你提供你似乎正在寻找的全局索引的分布式内存,其中一些甚至可以在MPI下构建(或者可以构建)。