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[]) {
- int mojrang,velicina,i,j;
- MPI::Status status;
- int a[100],b[100],c[100];
- MPI::Init(argc, argv);
- mojrang = MPI::COMM_WORLD.Get_rank();
- velicina = MPI::COMM_WORLD.Get_size();
- if( mojrang == 0 ) {
- for (i=0; i<100 ;++i) {
- a[i]=i;
- }
- for (i=1; i < velicina; i++) {
- MPI::COMM_WORLD.Send(a, 100, MPI::INT, i, 100);
- }
- for (i=1; i < velicina; i++) {
- MPI::COMM_WORLD.Recv(c, 100, MPI::INT, i, 200, status);
- printf("Izvor: %d\n", status.Get_source());
- for(j=0; j<100; j++) {
- printf("%d\n", c[j]);
- }
- }
- } else {
- MPI::COMM_WORLD.Recv(b, 100, MPI::INT, 0, 100, status);
- for (i=0; i < 100; i++) {
- b[i] = b[i] + mojrang;
- }
- MPI::COMM_WORLD.Send(b, 100, MPI::INT, 0, 200);
- }
- MPI::Finalize(); /* Završi MPI */
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement