gatherv.c

来自「并行计算的一些演示程序」· C语言 代码 · 共 25 行

C
25
字号
#include "mpi.h"

int main( int argc, char* argv[] ){
    int i;
    int rank, nproc;
    int isend[3],iscnt,irecv[6];
    int ircnt[3] = {1,2,3}, idisp[3] = {0,1,3};
 
    MPI_Init( &argc, &argv );
    MPI_Comm_size( MPI_COMM_WORLD, &nproc );
    MPI_Comm_rank( MPI_COMM_WORLD, &rank );

   if ( rank == 0 ) printf("This program must run with 3 processes: np = 3 \n");
   
    for(i=0; i<3; i++)
        isend[i] = rank + 1;
        iscnt = rank + 1;
       MPI_Gatherv( isend, iscnt, MPI_INT, irecv, ircnt, idisp, 
                               MPI_INT, 0, MPI_COMM_WORLD);
       if(rank == 0) {
             for(i=0; i<6; i++)  printf("irecv = %d\n", irecv[i]);
       }
    MPI_Finalize();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?