You are on page 1of 1

// ConsoleApplication3.cpp : This file contains the 'main' function.

Program
execution begins and ends there.
//

#include <iostream>
#include <stdlib.h>
#include "mpi.h"
int main(int argc, char* argv[])
{
int rank, size, len;
FILE* fid;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &size);

float* arr;
int arrsize;

if (rank = 0)
{
fopen_s(fid, argv[1], "r");
fscanf_s(fid, "%d", &arrsize);
arr = (float*)malloc(arrsize * sizeof(float));
for (int i = 0; i < arrsize; i++)
{
fscanf_s(fid, "%d", &arr[i]);
}

}
float* rec = (float*)malloc(arrsize / 4 * sizeof(float));
MPI_Scatter(arr, arrsize / 4, MPI_FLOAT, rec, arrsize / 4, MPI_FLOAT, 0,
MPI_COMM_WORLD);

float sum=0, average;


for (int j = 0; j < arrsize / 4; j++)
{
sum = sum + rec[j];
}
average = sum / (arrsize / 4);
printf("Local Average : %f", average);
return 0;
}

You might also like