Advertisement
Guest User

Untitled

a guest
Nov 26th, 2015
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. #include <iostream>
  2. #include <mpi.h>
  3.  
  4. using namespace std;
  5. int main(int argc, char* argv[])
  6. {
  7. float rang;
  8. float procesRedukcije;
  9. float izvorisniPodatak;
  10. float rezultatRedukcije;
  11. float srednjaVrijednost;
  12. float brojProcesa;
  13.  
  14.  
  15. MPI::Init(argc,argv);
  16. brojProcesa = MPI::COMM_WORLD.Get_size();
  17. rang = MPI::COMM_WORLD.Get_rank();
  18. procesRedukcije = 0;
  19. izvorisniPodatak = (rang * rang) + rang;
  20. cout << "Proces: " << rang << " -----" << "Izvorisni podatak: " << izvorisniPodatak << endl;
  21.  
  22. MPI::COMM_WORLD.Reduce(&izvorisniPodatak, &rezultatRedukcije, 1, MPI::FLOAT,MPI::SUM, procesRedukcije);
  23. MPI::COMM_WORLD.Barrier();
  24.  
  25. if(rang == procesRedukcije)
  26. {
  27. srednjaVrijednost = rezultatRedukcije / brojProcesa;
  28. }
  29. MPI::COMM_WORLD.Bcast(&srednjaVrijednost, 1, MPI::FLOAT, procesRedukcije);
  30. MPI::COMM_WORLD.Barrier();
  31. cout << "Rang: " << rang << " ----- " <<"Razlika između " << izvorisniPodatak << " i " << srednjaVrijednost << " je: " << izvorisniPodatak - srednjaVrijednost << endl;
  32. MPI::Finalize();
  33. return 0;
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement