Ignore:
Timestamp:
05/02/17 16:20:47 (7 years ago)
Author:
yushan
Message:

test_omp OK

Location:
XIOS/dev/branch_yushan/src/test
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/branch_yushan/src/test/test_complete.f90

    r1069 r1109  
    55  IMPLICIT NONE 
    66  INCLUDE "mpif.h" 
    7   INTEGER :: rank 
     7  INTEGER :: rank, size 
    88  INTEGER :: size_loc 
    99  INTEGER :: ierr 
     
    2828  INTEGER, ALLOCATABLE :: kindex(:) 
    2929  INTEGER :: ni,ibegin,iend,nj,jbegin,jend 
    30   INTEGER :: i,j,l,ts,n, nb_pt 
     30  INTEGER :: i,j,l,ts,n, nb_pt, provided 
    3131 
    3232!!! MPI Initialization 
    3333 
    34   CALL MPI_INIT(ierr) 
    35  
    36   CALL MPI_COMM_RANK(MPI_COMM_WORLD,rank,ierr)   
     34  CALL MPI_INIT_THREAD(3, provided, ierr) 
     35    if(provided .NE. 3) then 
     36      print*, "provided thread level = ", provided 
     37      call MPI_Abort() 
     38    endif  
    3739 
    3840   
     
    4042  CALL init_wait 
    4143 
    42   if (rank <2) then 
     44  CALL MPI_COMM_RANK(MPI_COMM_WORLD,rank,ierr) 
     45  CALL MPI_COMM_SIZE(MPI_COMM_WORLD,size,ierr) 
     46  if(rank < size-1) then 
    4347 
    4448!!! XIOS Initialization (get the local communicator) 
     
    8690 
    8791  CALL xios_context_initialize("atmosphere",comm) 
    88 !   print*, "init context atmosphere comm = ", comm 
    8992 
    9093  CALL xios_get_handle("atmosphere",ctx_hdl) 
     
    9699 
    97100  CALL xios_set_axis_attr("axis_atm",n_glo=llm ,value=lval) ; 
    98 !  CALL xios_set_zoom_axis_attr("axis_atm_zoom",n=2); 
    99101 
    100102  CALL xios_set_domain_attr("domain_atm",ni_glo=ni_glo, nj_glo=nj_glo, ibegin=ibegin, ni=ni,jbegin=jbegin,nj=nj, type='curvilinear') 
     
    105107  CALL xios_set_domain_attr("domain_atm_zoom",data_dim=2, data_ibegin=-1, data_ni=ni+2, data_jbegin=-2, data_nj=nj+4) 
    106108  CALL xios_set_domain_attr("domain_atm_zoom",lonvalue_2D=lon,latvalue_2D=lat) 
    107 !  CALL xios_set_zoom_domain_attr("domain_atm_zoom",ibegin=39, ni=20, jbegin=39, nj=5) 
     109 
    108110 
    109111!!! Activation du groupe field_definition 
     
    143145  CALL xios_close_context_definition() 
    144146 
    145 !   print *, "xios_close_context_definition(atmosphere)" 
     147   print *, "xios_close_context_definition(atmosphere)" 
    146148 
    147149!!! Test des valeurs des champs/fichiers 
     
    180182 
    181183  CALL xios_context_initialize("surface",comm) 
    182 !   print*, "init context surface comm = ", comm 
     184 
    183185 
    184186  CALL xios_get_handle("surface",ctx_hdl) 
     
    227229  CALL xios_close_context_definition() 
    228230 
    229 !  print *, "xios_close_context_definition(surface)"  
     231  print *, "xios_close_context_definition(surface)"  
    230232 
    231233 
     
    266268    ENDDO 
    267269 
    268 !     print *, "end temporal loop" 
     270     print *, "end temporal loop" 
    269271 
    270272!#################################################################################### 
     
    274276!!! Fin des contextes 
    275277 
    276     !print *, "start : xios_context_finalize(surface)" 
    277278 
    278279    CALL xios_get_handle("surface",ctx_hdl)  
    279     !print *, "xios_get_handle (surface) OK" 
     280 
    280281    CALL xios_set_current_context(ctx_hdl) 
    281     !print *, "xios_set_current_context (surface) OK" 
     282 
    282283    CALL xios_context_finalize() 
    283284 
    284 !     print *, "xios_context_finalize(surface)"  
     285    print *, "xios_context_finalize(surface)"  
    285286 
    286287     CALL xios_get_handle("atmosphere",ctx_hdl) 
    287 !     !print *, "xios_get_handle (atmosphere) OK" 
     288 
    288289     CALL xios_set_current_context(ctx_hdl) 
    289 !     !print *, "xios_set_current_context (atmosphere) OK" 
     290 
    290291     CALL xios_context_finalize() 
    291292 
    292 !     print *, "xios_context_finalize(atmosphere)" 
     293     print *, "xios_context_finalize(atmosphere)" 
     294 
     295     
     296 
     297!!! Fin de XIOS 
     298 
     299     
     300 
     301    CALL xios_finalize() 
    293302 
    294303    DEALLOCATE(lon, lat, field_A_atm, lonvalue) 
    295    ! DEALLOCATE(kindex, field_A_srf) 
    296  
    297 !!! Fin de XIOS 
     304    DEALLOCATE(kindex, field_A_srf) 
     305 
     306     print *, "Client : xios_finalize " 
    298307 
    299308    CALL MPI_COMM_FREE(comm, ierr) 
    300309 
    301     CALL xios_finalize() 
    302  
    303      print *, "Client : xios_finalize " 
    304  
    305   else  
     310  else 
     311 
    306312    CALL xios_init_server 
    307  
    308313    print *, "Server : xios_finalize " 
    309   endif 
     314   
     315    endif 
     316 
    310317 
    311318    CALL MPI_FINALIZE(ierr) 
  • XIOS/dev/branch_yushan/src/test/test_omp.f90

    r1102 r1109  
    4444 
    4545    CALL MPI_COMM_RANK(MPI_COMM_WORLD,rank,ierr) 
    46     if(rank < 2) then 
     46    CALL MPI_COMM_SIZE(MPI_COMM_WORLD,size,ierr) 
     47    if(rank < size-1) then 
    4748 
    4849    !$omp parallel default(private) 
     
    100101    CALL xios_set_domain_attr("domain_A",lonvalue_2D=lon,latvalue_2D=lat) 
    101102    CALL xios_set_fieldgroup_attr("field_definition",enabled=.TRUE.) 
    102 !     print*, "test block OK", rank, size 
     103     print*, "test block OK", rank, size 
    103104 
    104 !   CALL xios_get_handle("field_definition",fieldgroup_hdl) 
    105 !   CALL xios_add_child(fieldgroup_hdl,field_hdl,"field_B") 
    106 !   CALL xios_set_attr(field_hdl,field_ref="field_A",name="field_B") 
     105    CALL xios_get_handle("field_definition",fieldgroup_hdl) 
     106    CALL xios_add_child(fieldgroup_hdl,field_hdl,"field_B") 
     107    CALL xios_set_attr(field_hdl,field_ref="field_A",name="field_B") 
    107108 
    108 !   CALL xios_get_handle("output",file_hdl) 
    109 !   CALL xios_add_child(file_hdl,field_hdl) 
    110 !   CALL xios_set_attr(field_hdl,field_ref="field_A",name="field_C") 
     109    CALL xios_get_handle("output",file_hdl) 
     110    CALL xios_add_child(file_hdl,field_hdl) 
     111    CALL xios_set_attr(field_hdl,field_ref="field_A_zoom",name="field_C") 
    111112 
    112113    dtime%second = 3600 
     
    158159    print*, "xios_context_finalize OK", rank, size 
    159160 
     161    CALL xios_finalize() 
     162    print*, "xios finalize OK", rank, size 
     163 
     164    DEALLOCATE(lon, lat, field_A, lonvalue) 
    160165    !$omp master  
    161166    !call MPI_Barrier(comm) 
     
    167172     print*, "MPI_COMM_FREE OK", rank, size 
    168173 
    169     CALL xios_finalize() 
    170     print*, "xios finalize OK", rank, size 
    171  
    172     DEALLOCATE(lon, lat, field_A, lonvalue) 
    173174 
    174175 
Note: See TracChangeset for help on using the changeset viewer.