ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/mpiSimulation_module.F90
(Generate patch)

Comparing trunk/OOPSE/libmdtools/mpiSimulation_module.F90 (file contents):
Revision 882 by chuckv, Wed Dec 17 20:13:33 2003 UTC vs.
Revision 883 by chuckv, Thu Dec 18 20:46:45 2003 UTC

# Line 7 | Line 7
7   !!
8   !! @author Charles F. Vardeman II
9   !! @author Matthew Meineke
10 < !! @version $Id: mpiSimulation_module.F90,v 1.10 2003-12-17 20:13:33 chuckv Exp $, $Date: 2003-12-17 20:13:33 $, $Name: not supported by cvs2svn $, $Revision: 1.10 $
10 > !! @version $Id: mpiSimulation_module.F90,v 1.11 2003-12-18 20:46:45 chuckv Exp $, $Date: 2003-12-18 20:46:45 $, $Name: not supported by cvs2svn $, $Revision: 1.11 $
11  
12   module mpiSimulation  
13    use definitions
# Line 60 | Line 60 | module mpiSimulation  
60  
61   #ifdef PROFILE
62    public :: printCommTime
63 <
64 <  real(kind = dp ), save :: commTime = 0.0_dp
65 <  real(kind = dp ) :: commTimeInitial,commTimeFinal
63 >  public :: getCommTime
64 >  real,save   :: commTime = 0.0
65 >  real   :: commTimeInitial,commTimeFinal
66   #endif
67  
68   !! Include mpiComponentPlan type. mpiComponentPlan is a
# Line 512 | Line 512 | contains
512      if (present(status)) status = 0
513      noffset = this_plan%displs(this_plan%myPlanRank)
514   #ifdef PROFILE
515 <    commTimeInitial = mpi_wtime()
515 >    call cpu_time(commTimeInitial)
516   #endif
517      call mpi_allgatherv(sbuffer,this_plan%gsPlanSize, mpi_double_precision, &
518           rbuffer,this_plan%counts,this_plan%displs,mpi_double_precision, &
519           this_plan%myPlanComm, mpi_err)
520   #ifdef PROFILE
521 <    commTimeFinal = mpi_wtime()
521 >    call cpu_time(commTimeFinal)
522      commTime = commTime + commTimeFinal - commTimeInitial
523   #endif
524  
# Line 542 | Line 542 | contains
542  
543   !    noffset = this_plan%displs(this_plan%me)
544   #ifdef PROFILE
545 <   commTimeInitial = mpi_wtime()
545 >   call cpu_time(commTimeInitial)
546   #endif
547  
548      call mpi_allgatherv(sbuffer,this_plan%gsPlanSize, mpi_double_precision, &
# Line 550 | Line 550 | contains
550          this_plan%myPlanComm, mpi_err)
551  
552   #ifdef PROFILE
553 <    commTimeFinal = mpi_wtime()
553 >    call cpu_time(commTimeFinal)
554      commTime = commTime + commTimeFinal - commTimeInitial
555   #endif
556  
# Line 571 | Line 571 | contains
571     if (present(status)) status = 0
572  
573   #ifdef PROFILE
574 <   commTimeInitial = mpi_wtime()
574 >   call cpu_time(commTimeInitial)
575   #endif
576      call mpi_reduce_scatter(sbuffer,rbuffer, this_plan%counts, &
577           mpi_double_precision, MPI_SUM, this_plan%myPlanComm, mpi_err)
578   #ifdef PROFILE
579 <    commTimeFinal = mpi_wtime()
579 >    call cpu_time(commTimeFinal)
580      commTime = commTime + commTimeFinal - commTimeInitial
581   #endif
582  
# Line 596 | Line 596 | contains
596  
597     if (present(status)) status = 0
598   #ifdef PROFILE
599 <   commTimeInitial = mpi_wtime()
599 >   call cpu_time(commTimeInitial)
600   #endif
601  
602      call mpi_reduce_scatter(sbuffer,rbuffer, this_plan%counts, &
603           mpi_double_precision, MPI_SUM, this_plan%myPlanComm, mpi_err)
604   #ifdef PROFILE
605 <    commTimeFinal = mpi_wtime()
605 >    call cpu_time(commTimeFinal)
606      commTime = commTime + commTimeFinal - commTimeInitial
607   #endif
608  
# Line 749 | Line 749 | contains
749  
750   #ifdef PROFILE
751    subroutine printCommTime()
752
752      write(*,*) "MPI communication time is: ", commTime
754
753    end subroutine printCommTime
754 +
755 +  function getCommTime() result(comm_time)
756 +    real :: comm_time
757 +    comm_time = commTime
758 +  end function getCommTime
759 +
760   #endif
761  
762   #endif // is_mpi

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines