source: branches/ORCHIDEE_EXT/ORCHIDEE/src_parallel/tools_para.f90 @ 64

Last change on this file since 64 was 64, checked in by didier.solyga, 13 years ago

Import first version of ORCHIDEE_EXT

File size: 1.6 KB
Line 
1! Parallel tools : Barrier and Finalize.
2
3!-
4!- $Header: /home/ssipsl/CVSREP/ORCHIDEE/src_parallel/tools_para.f90,v 1.3 2008/10/13 14:19:47 ssipsl Exp $
5!-
6
7MODULE tools_para
8!-
9  USE ioipsl
10  USE defprec
11  USE timer
12  USE data_para
13  USE constantes
14!-
15#include "src_parallel.h"
16!-
17CONTAINS
18  SUBROUTINE stop_mpi()
19#ifdef CPP_PARA
20    CALL MPI_COMM_FREE(MPI_COMM_ORCH,ierr)
21    CALL MPI_FINALIZE(ierr)
22#endif
23    CALL ipslerr(3,'STOP_MPI','MPI has been stopped in ORCHIDEE.',&
24 &                 "Don't know the reason","Please verify output.")
25  ENd subroutine stop_mpi
26
27  SUBROUTINE barrier_para()
28#ifdef CPP_PARA
29    CALL MPI_BARRIER(MPI_COMM_ORCH,ierr)
30#endif
31  END SUBROUTINE barrier_para
32
33  SUBROUTINE finalize_para(timer_global,timer_mpi)
34    INTEGER, INTENT(IN) :: timer_global, timer_mpi
35    DOUBLE PRECISION :: cpu_time_mpi
36
37    cpu_time_mpi = Get_cpu_time(timer_mpi)
38    WRITE(numout,*) '*********************************************************'
39    WRITE(numout,*) ' TEMPS GLOBAL   ---> REAL TIME :',Get_real_time(timer_global)
40    WRITE(numout,*) ' TEMPS GLOBAL   ---> CPU TIME  :',Get_cpu_time(timer_global)
41    WRITE(numout,*) ' TEMPS HORS MPI ---> REAL TIME :',Get_real_time(timer_mpi)
42    WRITE(numout,*) ' TEMPS HORS MPI ---> CPU TIME  :',cpu_time_mpi
43    WRITE(numout,*) '*********************************************************' 
44    WRITE(numout,*) 'END OF RUN.'
45
46    CALL Write_Load_Balance(REAL(cpu_time_mpi, r_std))
47#ifdef CPP_PARA
48!    CALL MPI_COMM_FREE(MPI_COMM_ORCH,ierr)
49    CALL MPI_FINALIZE(ierr)
50#endif
51  END SUBROUTINE finalize_para
52
53END MODULE tools_para
Note: See TracBrowser for help on using the repository browser.