First page Back Continue Last page Overview Graphics
Example: PI in Fortran - 2
call MPI_BCAST( n, 1, MPI_INTEGER, 0,
+ MPI_COMM_WORLD, ierr)
c check for quit signal
if ( n .le. 0 ) goto 30
c calculate the interval size
h = 1.0d0/n
sum = 0.0d0
do 20 i = myid+1, n, numprocs
x = h * (dble(i) - 0.5d0)
sum = sum + f(x)
20 continue
mypi = h * sum
c collect all the partial sums
call MPI_REDUCE( mypi, pi, 1, MPI_DOUBLE_PRECISION,
+ MPI_SUM, 0, MPI_COMM_WORLD,ierr)
Notes: