gather.c
gather.c
—
C source code,
683 bytes
Contenido del Archivo
#include <stdlib.h>
#include <stdio.h>
#include "mpi.h"
#define LENGTH 24
int main(int argc, char* argv[]) {
int i, np, myRank;
int root = 0;
int x[LENGTH];
int y[LENGTH];
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &np);
MPI_Comm_rank(MPI_COMM_WORLD, &myRank);
for (i=0; i<LENGTH/np; i++) {
x[i] = myRank;
}
if (myRank == 0) {
MPI_Gather(x, LENGTH/np, MPI_INT, y, LENGTH/np, MPI_INT, root, MPI_COMM_WORLD);
for (i=0; i<LENGTH; i++) {
printf(" %d", y[i]);
}
printf("\n\n");
} else {
MPI_Gather(x, LENGTH/np, MPI_INT, y, LENGTH/np, MPI_INT, root, MPI_COMM_WORLD);
}
MPI_Finalize();
}





