Finding PI using MPI collective operations

Finding PI using MPI collective operations

 

 

This exercise presents a simple program to determine the value of pi. The algorithm suggested here is chosen for its simplicity. The method evaluates the integral of 4/(1+x*x) between -1/2 and 1/2. The method is simple: the integral is approximated by a sum of n intervals; the approximation to the integral in each interval is (1/n)*4/(1+x*x). The master process (rank 0) asks the user for the number of intervals; the master should then broadcast this number to all of the other processes. Each process then adds up every n'th interval (x = -1/2+rank/n, -1/2+rank/n+size/n,...). Finally, the sums computed by each process are added together using a reduction.

 

Complete the missing arguments in the following pseudo code. Choose either one of the following Fortran or C example.

MPI routines :