Witam serdecznie, mam problem odnośnie zadania który dostałem.
"Program znajduje najmniejszą składową wektora.
Założyć że liczba składowych wektora jest równa liczbie procesorów.
Procesory są połączone siecią o topologii sieć idealnie przetasowana.
Wynik obliczenia otrzymuje każdy proces."
Stworzyłem już komunikcację MPI.
#include <stdio.h>
#include <mpi.h>
void main(int argc, char *argv[]){
int ID = 0;
int SendData = 0;
int ReceiveData = 0;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &ID);
if (ID == 0)
{
SendData = 100;
MPI_Send(&SendData, 1, MPI_INT, 1, 7, MPI_COMM_WORLD);
}
MPI_Status status;
if (ID == 1)
{
printf("Data before Receive:\t %i\n", ReceiveData);
MPI_Recv(&ReceiveData, 1, MPI_INT, 0, 7, MPI_COMM_WORLD, &status);
printf("Data after Receive:\t %d\n", ReceiveData);
}
MPI_Finalize();
}
Nie mam pojęcia jak stworzyć proces który może mieć wynik z tą siecią topologii..