Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <mpi.h>
- using namespace std;
- int main(int argc, char* argv[])
- {
- float rang;
- float procesRedukcije;
- float izvorisniPodatak;
- float rezultatRedukcije;
- float srednjaVrijednost;
- float brojProcesa;
- MPI::Init(argc,argv);
- brojProcesa = MPI::COMM_WORLD.Get_size();
- rang = MPI::COMM_WORLD.Get_rank();
- procesRedukcije = 0;
- izvorisniPodatak = (rang * rang) + rang;
- cout << "Proces: " << rang << " -----" << "Izvorisni podatak: " << izvorisniPodatak << endl;
- MPI::COMM_WORLD.Reduce(&izvorisniPodatak, &rezultatRedukcije, 1, MPI::FLOAT,MPI::SUM, procesRedukcije);
- MPI::COMM_WORLD.Barrier();
- if(rang == procesRedukcije)
- {
- srednjaVrijednost = rezultatRedukcije / brojProcesa;
- }
- MPI::COMM_WORLD.Bcast(&srednjaVrijednost, 1, MPI::FLOAT, procesRedukcije);
- MPI::COMM_WORLD.Barrier();
- cout << "Rang: " << rang << " ----- " <<"Razlika između " << izvorisniPodatak << " i " << srednjaVrijednost << " je: " << izvorisniPodatak - srednjaVrijednost << endl;
- MPI::Finalize();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement