timing a parallel program.

Hello All,

I am consistingly finding that the binary write operations are quite faster than
HDF5. So I am actually doubting the way I measure the performance.

I am new to parallel programming so kindly excuse if this sounds lame. This is
how measure the PHDF5 write time in my code:

     do k1 = 1, 15
         if(iproc.lt.nend) then
            start = MPI_WTIME()

            CALL phdfwrite(pdsetname,pdset_id,pdataspace,
     & vampnew,i1reach,parallelOffset,1,0)

            end = mpi_wtime()
            CALL MPI_Barrier(new_comm,error)
            CALL MPI_allreduce(end,endall,1,MPI_REAL8,MPI_MAX,new_comm,
     & error)
            call MPI_Allreduce(start,startall,1,MPI_REAL8,MPI_MIN,
     & new_comm,error)


writetime = endall - startall

And I measure the binary write as follows:
      do k1 = 1, 15
         if (iproc.eq.0) then
            start0 = MPI_WTIME()
            write(17) vampnew(1:i1reach)
            end0 = MPI_WTIME()

         if (nproc.gt.1) then
            do kk = 2, 15
               if (iproc.eq.kk-1) call MPI_SEND(samp)

               if (iproc.eq.0) then
                  call MPI_RECV(samp)
                  if(kk.eq.2) start1 = MPI_WTIME()
                  write(17) samp(1:ileng)
                  if(kk.eq.15) end1 = MPI_WTIME()

writetime = (end0-start0)+(end1-start1)

Is there something wrong I am doing that someone can point out please ?

Thanks a lot.



This mailing list is for HDF software users discussion.
To subscribe to this list, send a message to hdf-forum-subscribe@hdfgroup.org.
To unsubscribe, send a message to hdf-forum-unsubscribe@hdfgroup.org.