My Project
 All Classes Files Functions Variables Macros
mod_synchro_omp.F90
Go to the documentation of this file.
2 
3  LOGICAL,SAVE,ALLOCATABLE :: flag_omp(:)
4 
5 CONTAINS
6 
7  SUBROUTINE init_synchro_omp
9  IMPLICIT NONE
10 
11  IF (is_omp_root) THEN
12  ALLOCATE(flag_omp(0:omp_size-1))
13  flag_omp(:)=.false.
14  ENDIF
15 !$OMP BARRIER
16 
17  END SUBROUTINE init_synchro_omp
18 
19  SUBROUTINE synchro_omp
21  IMPLICIT NONE
22 
23  flag_omp(omp_rank)=.true.
24 !$OMP BARRIER
25  DO WHILE (.NOT. all(flag_omp))
26 !$OMP BARRIER
27  ENDDO
28 !$OMP BARRIER
29  flag_omp(omp_rank)=.false.
30 !$OMP BARRIER
31 
32  END SUBROUTINE synchro_omp
33 
34 END MODULE mod_synchro_omp