Advertisement
Guest User

Untitled

a guest
Sep 25th, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1. #include <windows.h>
  2. #pragma hdrstop
  3. #include "mpi.h"
  4. #include "pt4.h"
  5. void Solve()
  6. {
  7. Task("MPIBegin27");
  8. int flag;
  9. MPI_Initialized(&flag);
  10. if (flag == 0)
  11. return;
  12. int rank, size;
  13. MPI_Comm_size(MPI_COMM_WORLD, &size);
  14. MPI_Comm_rank(MPI_COMM_WORLD, &rank);
  15.  
  16. int n;
  17.  
  18. if (rank != 0){
  19. pt >> n;
  20. for (int i = 0; i < n; i++) {
  21. double x;
  22. int t;
  23. pt >> x >> t;
  24. MPI_Send(&x, 1, MPI_DOUBLE, 0, t, MPI_COMM_WORLD);
  25. }
  26. }
  27. if (rank == 0) {
  28. for (int i = 1; i <= size * 2; i++) {
  29. double x;
  30. MPI_Status status;
  31. MPI_Recv(&x, 1, MPI_DOUBLE, MPI_ANY_SOURCE, i, MPI_COMM_WORLD, &status);
  32. pt << x;
  33. }
  34. }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement