Ignore:
Timestamp:
2018-11-12T17:49:08+01:00 (23 months ago)
Author:
smasson
Message:

dev_r10164_HPC09_ESIWACE_PREP_MERGE: action 2b: add waiting time for mpp_min/max/sum, see #2133

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/timing.F90

    r10297 r10300  
    292292      REAL(wp), DIMENSION(:), ALLOCATABLE ::   timing_glob 
    293293      REAL(wp) ::   zsypd   ! simulated years per day (Balaji 2017) 
    294       REAL(wp) ::   zperc 
     294      REAL(wp) ::   zperc, ztot 
    295295 
    296296      ll_averep = .TRUE. 
     
    370370 
    371371#if defined key_mpp_mpi 
    372       ALLOCATE(timing_glob(3*jpnij), stat=icode) 
    373       CALL MPI_GATHER( (/compute_time, waiting_time, elapsed_time/), 3, MPI_DOUBLE_PRECISION,   & 
    374          &                                              timing_glob, 3, MPI_DOUBLE_PRECISION, 0, MPI_COMM_OCE, icode) 
     372      ALLOCATE(timing_glob(4*jpnij), stat=icode) 
     373      CALL MPI_GATHER( (/compute_time, waiting_time(1), waiting_time(2), elapsed_time/),   & 
     374         &             4, MPI_DOUBLE_PRECISION, timing_glob, 4, MPI_DOUBLE_PRECISION, 0, MPI_COMM_OCE, icode) 
    375375      IF( narea == 1 ) THEN 
    376376         WRITE(numtime,*) ' ' 
     
    380380         WRITE(numtime,*) ' ' 
    381381         DO ji = 1, jpnij 
    382             zperc = timing_glob(3*ji-1) + timing_glob(3*ji-2) 
    383             IF (zperc /= 0. ) zperc = timing_glob(3*ji-1) / zperc * 100. 
    384             WRITE(numtime,'(A20,F11.6,            A34,I8)') 'Computing time : ',timing_glob(3*ji-2), ' on MPI rank : ', ji 
    385             WRITE(numtime,'(A20,F11.6,A2, F4.1,A3,A25,I8)') 'Waiting   time : ',timing_glob(3*ji-1)   & 
     382            ztot = SUM( timing_glob(4*ji-3:4*ji-1) ) 
     383            WRITE(numtime,'(A28,F11.6,            A34,I8)') 'Computing       time : ',timing_glob(4*ji-3), ' on MPI rank : ', ji 
     384            IF ( ztot /= 0. ) zperc = timing_glob(4*ji-2) / ztot * 100. 
     385            WRITE(numtime,'(A28,F11.6,A2, F4.1,A3,A25,I8)') 'Waiting lbc_lnk time : ',timing_glob(4*ji-2)   & 
    386386               &                                                         , ' (',      zperc,' %)',   ' on MPI rank : ', ji 
    387             zsypd = rn_rdt * REAL(nitend-nit000-1, wp) / (timing_glob(3*ji) * 365.) 
    388             WRITE(numtime,'(A20,F11.6,A7,F10.3,A2,A15,I8)') 'Total     time : ',timing_glob(3*ji  )   & 
     387            IF ( ztot /= 0. ) zperc = timing_glob(4*ji-1) / ztot * 100. 
     388            WRITE(numtime,'(A28,F11.6,A2, F4.1,A3,A25,I8)') 'Waiting  global time : ',timing_glob(4*ji-1)   & 
     389               &                                                         , ' (',      zperc,' %)',   ' on MPI rank : ', ji 
     390            zsypd = rn_rdt * REAL(nitend-nit000-1, wp) / (timing_glob(4*ji) * 365.) 
     391            WRITE(numtime,'(A28,F11.6,A7,F10.3,A2,A15,I8)') 'Total           time : ',timing_glob(4*ji  )   & 
    389392               &                                                         , ' (SYPD: ', zsypd, ')',   ' on MPI rank : ', ji 
    390393         END DO 
Note: See TracChangeset for help on using the changeset viewer.