pborawski

mpi barriery

Dec 17th, 2012
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.78 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <mpi.h>
  3. // TODO
  4. // numproc i obliczanie dla kazdego procesu
  5.  
  6. void drukuj(int id, int *array, int size)
  7. {
  8.         int i;
  9.         printf("%d : ",id);
  10.        
  11.         for(i = 0; i < size; i++)
  12.         {
  13.             printf(" %d ", array[i]);
  14.         }
  15.        
  16.         printf("\n");
  17.         MPI_Barrier(MPI_COMM_WORLD);
  18. }
  19.  
  20. int main(int argc, char *argv[])
  21. {
  22.         int id, numproc;
  23.         int i, dane1[10], dane2[10];
  24.        
  25.         MPI_Init(&argc, &argv);
  26.         MPI_Comm_rank(MPI_COMM_WORLD, &id);
  27.         MPI_Comm_size(MPI_COMM_WORLD, &numproc);
  28.        
  29.         for( i = 0; i < sizeof(dane1); i++ )
  30.             dane1[i] = id;
  31.            
  32.         for( i = 0; i < sizeof(dane2); i++ )
  33.             dane2[i] = 10 + id;
  34.            
  35.         drukuj(id, dane1, 10);
  36.         MPI_Barrier(MPI_COMM_WORLD);
  37.         drukuj(id, dane2, 10);
  38.         MPI_Barrier(MPI_COMM_WORLD);
  39.        
  40.         MPI_Finalize();
  41.         return 0;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment