alltoall.c

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

C
28
字号
#include "mpi.h"

int main( int argc, char* argv[] ){
    int i;
    int rank, nproc;
    int isend[32], irecv[32];
 
    MPI_Init( &argc, &argv );
    MPI_Comm_size( MPI_COMM_WORLD, &nproc );
    MPI_Comm_rank( MPI_COMM_WORLD, &rank );

   printf("Before : My rank = %d  <",rank );
    for(i=0; i<nproc; i++)
        printf(" %d ", isend[i] = i + nproc * rank);
        
    printf( " >\n");
    
    MPI_Alltoall(isend, 1, MPI_INT, irecv, 1, MPI_INT, 
                       MPI_COMM_WORLD);
    printf("After  : My rank = %d  <", rank);                        
    for(i=0; i<nproc; i++)
        printf(" %d ", irecv[i]);
    printf(" >\n");

    MPI_Finalize();
    
}

⌨️ 快捷键说明

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