From e7cf1f47c93df3ca04026a0ee4e5124beade5d1f Mon Sep 17 00:00:00 2001 From: Neil Gershenfeld <gersh@cba.mit.edu> Date: Wed, 19 Jun 2019 21:17:12 -0400 Subject: [PATCH] wip --- MPI/mpipi.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/MPI/mpipi.c b/MPI/mpipi.c index cf4343d..e1fd6e6 100755 --- a/MPI/mpipi.c +++ b/MPI/mpipi.c @@ -8,11 +8,10 @@ #include <mpi.h> #include <sys/time.h> -#define NPTS 100000000 -#define NLOOP 10 +#define NPTS 1000000000 void main(int argc, char** argv) { - int rank,nproc,i,istart,iend,loop,N; + int rank,nproc,i,istart,iend; unsigned long int start_time,end_time; struct timeval start,end; double sum,pi,mflops; @@ -25,24 +24,22 @@ void main(int argc, char** argv) { istart = 1 + NPTS*((rank+0.0)/nproc); iend = NPTS*((rank+1.0)/nproc); sum = 0.0; - for (loop = 0; loop < NLOOP; ++loop) - for (i = istart; i <= iend; ++i) - sum += 0.5/((i-0.75)*(i-0.25)); + for (i = istart; i <= iend; ++i) + sum += 0.5/((i-0.75)*(i-0.25)); MPI_Reduce(&sum,&pi,1,MPI_DOUBLE,MPI_SUM,0,MPI_COMM_WORLD); gettimeofday(&end, NULL); start_time = start.tv_sec * 1e6 + start.tv_usec; end_time = end.tv_sec * 1e6 + end.tv_usec; - mflops = NLOOP*(NPTS*(5.0/(end_time-start_time))); - printf("processes = %d, NPTS = %d, NLOOP = %d, pi = %f\n",nproc,NPTS,NLOOP,pi/NLOOP); + mflops = NPTS*(5.0/(end_time-start_time)); + printf("processes = %d, NPTS = %d, pi = %f\n",nproc,NPTS,pi); printf("time = %f, estimated MFlops = %f\n",(end_time-start_time)/1.0e6,mflops); } else { istart = 1 + NPTS*((rank+0.0)/nproc); iend = NPTS*((rank+1.0)/nproc); sum = 0.0; - for (loop = 0; loop < NLOOP; ++loop) - for (i = istart; i <= iend; ++i) - sum += 0.5/((i-0.75)*(i-0.25)); + for (i = istart; i <= iend; ++i) + sum += 0.5/((i-0.75)*(i-0.25)); MPI_Reduce(&sum,&pi,1,MPI_DOUBLE,MPI_SUM,0,MPI_COMM_WORLD); } MPI_Finalize(); -- GitLab