/[MITgcm]/MITgcm/model/src/solve_for_pressure.F
ViewVC logotype

Diff of /MITgcm/model/src/solve_for_pressure.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.59 by jmc, Wed Jan 17 17:50:54 2007 UTC revision 1.60 by heimbach, Fri Jun 1 16:42:16 2007 UTC
# Line 70  C     == Local variables == Line 70  C     == Local variables ==
70  #endif  #endif
71  CEOP  CEOP
72    
 #ifdef TIME_PER_TIMESTEP_SFP  
 CCE107 common block for per timestep timing  
 C     !TIMING VARIABLES  
 C     == Timing variables ==  
       REAL*8 utnew, utold, stnew, stold, wtnew, wtold  
       COMMON /timevars/ utnew, utold, stnew, stold, wtnew, wtold  
 #endif  
 #ifdef USE_PAPI_FLOPS_SFP  
 CCE107 common block for PAPI summary performance  
 #include <fpapi.h>  
       INTEGER*8 flpops, instr  
       INTEGER check  
       REAL*4 real_time, proc_time, mflops, ipc  
       COMMON /papivars/ flpops, instr, real_time, proc_time, mflops, ipc  
 #else  
 #ifdef USE_PCL_FLOPS_SFP  
 CCE107 common block for PCL summary performance  
 #include <pclh.f>  
       INTEGER pcl_counter_list(5), flags, nevents, res, ipcl  
       INTEGER*8 i_result(5), descr  
       REAL*8 fp_result(5)  
       COMMON /pclvars/ i_result, descr, fp_result, pcl_counter_list,  
      $     flags, nevents  
       INTEGER nmaxevents  
       PARAMETER (nmaxevents = 61)  
       CHARACTER*22 pcl_counter_name(0:nmaxevents-1)  
       COMMON /pclnames/ pcl_counter_name  
 #endif  
 #endif  
   
73  #ifdef ALLOW_NONHYDROSTATIC  #ifdef ALLOW_NONHYDROSTATIC
74  c       zeroPsNH = .FALSE.  c       zeroPsNH = .FALSE.
75          zeroPsNH = exactConserv          zeroPsNH = exactConserv
# Line 556  C-       Other than Z coordinate: no ass Line 526  C-       Other than Z coordinate: no ass
526        ENDIF        ENDIF
527  #endif /* ALLOW_NONHYDROSTATIC */  #endif /* ALLOW_NONHYDROSTATIC */
528    
529  #ifdef TIME_PER_TIMESTEP_SFP  #ifdef ALLOW_SHOWFLOPS
530  CCE107 Time per timestep information        CALL SHOWFLOPS_INSOLVE( myThid)
       _BEGIN_MASTER( myThid )  
       CALL TIMER_GET_TIME( utnew, stnew, wtnew )  
 C Only output timing information after the 1st timestep  
       IF ( wtold .NE. 0.0D0 ) THEN  
         WRITE(msgBuf,'(A34,3F10.6)')  
      $        'User, system and wallclock time:', utnew - utold,  
      $        stnew - stold, wtnew - wtold  
          CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1)  
       ENDIF  
       utold = utnew  
       stold = stnew  
       wtold = wtnew  
       _END_MASTER( myThid )  
 #endif  
 #ifdef USE_PAPI_FLOPS_SFP  
 CCE107 PAPI summary performance  
       _BEGIN_MASTER( myThid )  
 #ifdef USE_FLIPS  
       call PAPIF_flips(real_time, proc_time, flpops, mflops, check)  
 #else  
       call PAPIF_flops(real_time, proc_time, flpops, mflops, check)  
 #endif  
       WRITE(msgBuf,'(A34,F10.6,A,F10.6)')  
      $     'Mflop/s during this timestep:', mflops, ' ', mflops  
      $     *proc_time/(real_time + 1E-36)  
       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1)  
 #ifdef PAPI_VERSION  
       call PAPIF_ipc(real_time, proc_time, instr, ipc, check)  
       WRITE(msgBuf,'(A34,F10.6,A,F10.6)')  
      $     'IPC during this timestep:', ipc, ' ', ipc*proc_time  
      $     /(real_time + 1E-36)  
       CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1)  
531  #endif  #endif
       _END_MASTER( myThid )  
 #else  
 #ifdef USE_PCL_FLOPS_SFP  
 CCE107 PCL summary performance  
       _BEGIN_MASTER( myThid )  
       PCLstop(descr, i_result, fp_result, nevents)  
       do ipcl = 1, nevents  
          WRITE(msgBuf,'(A22,A26,F10.6)'),  
      $        pcl_counter_name(pcl_counter_list(ipcl)),  
      $        'during this timestep:', fp_results(ipcl)  
          CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1)  
       enddo  
       PCLstart(descr, pcl_counter_list, nevents, flags)  
       _END_MASTER( myThid )  
 #endif  
 #endif  
       RETURN  
       END  
532    
533  #ifdef TIME_PER_TIMESTEP_SFP        RETURN
 CCE107 Initialization of common block for per timestep timing  
       BLOCK DATA settimers  
 C     !TIMING VARIABLES  
 C     == Timing variables ==  
       REAL*8 utnew, utold, stnew, stold, wtnew, wtold  
       COMMON /timevars/ utnew, utold, stnew, stold, wtnew, wtold  
       DATA utnew, utold, stnew, stold, wtnew, wtold /6*0.0D0/  
       END  
 #endif  
 #ifdef USE_PAPI_FLOPS_SFP  
 CCE107 Initialization of common block for PAPI summary performance  
       BLOCK DATA setpapis  
       INTEGER*8 flpops, instr  
       REAL real_time, proc_time, mflops, ipc  
       COMMON /papivars/ flpops, instr, real_time, proc_time, mflops, ipc  
       DATA flpops, instr, real_time, proc_time, mflops, ipc /2*0,4*0.E0/  
534        END        END
 #endif  

Legend:
Removed from v.1.59  
changed lines
  Added in v.1.60

  ViewVC Help
Powered by ViewVC 1.1.22