Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <time.h>
- #include <math.h>
- #include <mpi.h>
- #include <malloc.h>
- void Wydruk(int id, int p, int *dane, int rozmiar){
- int i,n;
- for (n=0; n<p; n++){
- if (n==id){
- printf(" %d : ", id);
- for (i=0; i<rozmiar; i++)
- printf(" %d",dane[i]);
- printf("\n");
- if (id==p-1) printf("\n");
- }
- MPI_Barrier(MPI_COMM_WORLD);
- }
- }
- int main(int argc, char *argv[])
- {
- int id, p, i;
- int senddane[5];
- int *recvdane;
- int korzen=0;
- MPI_Init(&argc, &argv);
- MPI_Comm_rank(MPI_COMM_WORLD, &id);
- MPI_Comm_size(MPI_COMM_WORLD, &p);
- for (i=0; i<5; i++)
- senddane[i]=id+1;
- recvdane=malloc(p*5*sizeof(int));
- for (i=0; i<p*5; i++)
- recvdane[i]=0;
- Wydruk(id,p,senddane,5);
- MPI_Gather(senddane,5,MPI_INT,recvdane,5,MPI_INT,korzen,MPI_COMM_WORLD);
- //Wydruk(id,p,recvdane,p*5);
- free(recvdane);
- MPI_Finalize();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement