Changeset 1350


Ignore:
Timestamp:
11/30/17 12:35:59 (6 years ago)
Author:
yushan
Message:

toy_cmip6_omp from Curie

Location:
XIOS/dev/branch_openmp
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/branch_openmp/bld.cfg

    r1348 r1350  
    3737#bld::target test_expand_domain.exe 
    3838#bld::target test_new_features.exe  
    39 #bld::target test_unstruct_complete.exe  
     39bld::target test_unstruct_complete.exe  
    4040#bld::target test_omp.exe  
    4141bld::target test_complete_omp.exe  
     
    4848#bld::target test_complete.exe 
    4949#bld::target test_remap.exe 
    50 #bld::target test_unstruct.exe 
    5150#bld::target test_xios2_cmip6.exe 
    5251#bld::target test_connectivity_expand.exe 
    53 #bld::target toy_cmip6.exe 
     52bld::target toy_cmip6.exe 
     53bld::target toy_cmip6_omp.exe 
    5454bld::exe_dep 
    5555 
  • XIOS/dev/branch_openmp/src/test/test_unstruct_complete.f90

    r954 r1350  
    4444  DOUBLE PRECISION,ALLOCATABLE :: field_A_compressed(:,:) 
    4545 
     46  CALL MPI_INIT(ierr) 
     47  CALL init_wait 
     48 
    4649  CALL xios_initialize(id,return_comm=comm) 
    4750  CALL MPI_COMM_RANK(comm,mpi_rank,ierr) 
    4851  CALL MPI_COMM_SIZE(comm,mpi_size,ierr) 
    4952 
    50   CALL init_wait 
     53   
    5154 
    5255  ncell_glo=0 
     
    207210  CALL xios_set_domain_attr("domain_srf", lonvalue_1D=lon, latvalue_1D=lat) 
    208211  CALL xios_set_domain_attr("domain_srf", nvertex=4, bounds_lon_1D=bounds_lon, bounds_lat_1D=bounds_lat) 
    209 !  CALL xios_set_compute_connectivity_domain_attr("compute", n_neighbor=n_local, local_neighbor=local_neighbor) 
     212  CALL xios_set_compute_connectivity_domain_attr("compute", n_neighbor=n_local, local_neighbor=local_neighbor) 
    210213 
    211214 
     
    248251  DEALLOCATE(data_i_index) 
    249252 
     253  CALL xios_finalize() 
    250254  CALL MPI_COMM_FREE(comm, ierr) 
    251  
    252   CALL xios_finalize() 
     255   
     256  CALL MPI_FINALIZE(ierr) 
    253257 
    254258CONTAINS 
  • XIOS/dev/branch_openmp/src/test/test_unstruct_omp.f90

    r1209 r1350  
    1 PROGRAM test_unstruct_omp 
     1PROGRAM test_unstruct_complete_omp 
    22 
    33  USE xios 
    44  USE mod_wait 
    5   use omp_lib 
    65  IMPLICIT NONE 
    76  INCLUDE "mpif.h" 
     
    4140  INTEGER :: list_ind(nlon,nlat) 
    4241  INTEGER :: rank,j1,j2,np,ncell_x 
    43   INTEGER :: data_n_index, provided 
     42  INTEGER :: data_n_index 
    4443  INTEGER,ALLOCATABLE :: data_i_index(:) 
    4544  DOUBLE PRECISION,ALLOCATABLE :: field_A_compressed(:,:) 
     45  INTEGER :: provided 
    4646 
    4747  CALL MPI_INIT_THREAD(3, provided, ierr) 
     
    5050      call MPI_Abort() 
    5151    endif 
     52 
     53   
    5254  CALL init_wait 
    53   CALL MPI_COMM_RANK(MPI_COMM_WORLD,mpi_rank,ierr) 
    54   CALL MPI_COMM_SIZE(MPI_COMM_WORLD,mpi_size,ierr) 
    55   if(mpi_rank < mpi_size-2) then 
    56  
    57   !$omp parallel default(firstprivate) firstprivate(dtime) 
     55 
     56  CALL MPI_COMM_RANK(MPI_COMM_WORLD,rank,ierr) 
     57  CALL MPI_COMM_SIZE(MPI_COMM_WORLD,size_loc,ierr) 
     58  if(rank < size_loc-2) then 
    5859 
    5960  CALL xios_initialize(id,return_comm=comm) 
     
    6162  CALL MPI_COMM_SIZE(comm,mpi_size,ierr) 
    6263 
    63   mpi_rank = mpi_rank*omp_get_num_threads() + omp_get_thread_num() 
    64   mpi_size = mpi_size*omp_get_num_threads() 
    6564 
    6665 
     
    7978  ALLOCATE(field_A_glo(ncell_glo,llm)) 
    8079  ALLOCATE(mask_glo(ncell_glo)) 
    81  
    82   lon_glo(:) = 0 
    83   lat_glo(:) = 0 
    84   bounds_lon_glo(:,:) = 0 
    85   bounds_lat_glo(:,:) = 0 
    86   i_index_glo(:) = 0 
    87   field_A_glo(:,:) = 0 
    88   mask_glo(:) = 0 
    8980 
    9081  ind=0 
     
    189180  ALLOCATE(mask(ncell)) 
    190181  ALLOCATE(n_local(ncell)) 
    191   
    192   i_index(:)=0 
    193   lon(:)=0 
    194   lat(:)=0 
    195   bounds_lon(:,:)=0 
    196   bounds_lat(:,:)=0 
    197   field_A_srf(:,:)=0 
    198   mask(:)=0 
    199   n_local(:)=0 
    200  
    201182  ncell=0 
    202183  data_n_index=0 
     
    221202  ALLOCATE(field_A_compressed(data_n_index,llm)) 
    222203  ALLOCATE(data_i_index(data_n_index)) 
    223   field_A_compressed(:,:)=0 
    224   data_i_index(:)=0 
    225  
    226  
    227204  data_n_index=0 
    228205  DO ind=1,ncell 
     
    256233  CALL xios_close_context_definition() 
    257234 
    258   !CALL xios_get_compute_connectivity_domain_attr("compute", n_neighbor_max=nbMax) 
    259   !ALLOCATE(local_neighbor(nbMax,ncell)) 
    260   !CALL xios_get_compute_connectivity_domain_attr("compute", n_neighbor=n_local, local_neighbor=local_neighbor) 
     235  CALL xios_get_compute_connectivity_domain_attr("compute", n_neighbor_max=nbMax) 
     236  ALLOCATE(local_neighbor(nbMax,ncell)) 
     237  CALL xios_get_compute_connectivity_domain_attr("compute", n_neighbor=n_local, local_neighbor=local_neighbor) 
    261238 
    262239   DO ts=1,24*10 
     
    284261  DEALLOCATE(field_A_compressed) 
    285262  DEALLOCATE(data_i_index) 
    286   !DEALLOCATE(local_neighbor) 
    287263   
    288  
    289264  CALL xios_finalize() 
    290  
    291 print *, mpi_rank, "Client : xios_finalize " 
    292  
    293   !$omp barrier 
    294  
    295   !$omp master  
    296   CALL MPI_COMM_FREE(comm, ierr) 
    297   !$omp end master 
    298  
    299   !$omp barrier 
    300  
    301   !$omp end parallel 
     265    print*, "xios finalize OK", rank, size_loc 
     266     
     267    !$omp master  
     268    !call MPI_Barrier(comm) 
     269    CALL MPI_COMM_FREE(comm, ierr) 
     270    !$omp end master 
     271 
     272    !$omp barrier 
     273     
     274    !$omp end parallel 
    302275 
    303276 
     
    307280    print *, "Server : xios_finalize " 
    308281   
    309     endif 
    310  
     282    endif   
     283 
     284  CALL MPI_FINALIZE(ierr) 
    311285 
    312286CONTAINS 
     
    388362END SUBROUTINE MSE_XIOS_GAUSS_GRID 
    389363 
    390 END PROGRAM test_unstruct_omp 
    391  
    392  
    393  
    394  
    395  
     364END PROGRAM test_unstruct_complete_omp 
     365 
     366 
     367 
     368 
     369 
Note: See TracChangeset for help on using the changeset viewer.