Basic HTML version of Foils prepared 19 September 98

Foil 54 Pi Example continued

From MPI Message Passing Interface Computational Science for Simulations -- Fall Semester 1998. by Geoffrey C. Fox, Nancy McCracken


{ if (myid == 0)
{ printf ("Enter the number of intervals: (0 quits) ");
scanf ("%d", &n);
}
MPI_Bcast (&n, 1, MPI_INT, 0, MPI_COMMWORLD);
if (n == 0) break;
h = 1.0 / (double) n;
sum = 0.0;
for (i = myid+1; i <= n; i += numprocs)
{ x = h * ((double) i - 0.5); sum += 4.0 / 1.0 + x*x): }
mypi = h * sum;
MPI_Reduce (&mypi, &pi,1, MPI_DOUBLE,MPI_SUM, 0,MPI_COMMWORLD);
if (myid == 0)
printf("pi is approximately %.16f, Error is %.16f\n",pi, fabs(pi-PI35DT); }
MPI_Finalize; }



© Northeast Parallel Architectures Center, Syracuse University, npac@npac.syr.edu

If you have any comments about this server, send e-mail to webmaster@npac.syr.edu.

Page produced by wwwfoil on Sun Apr 11 1999