New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 14910 for NEMO/branches/2021 – NEMO

Changeset 14910 for NEMO/branches/2021


Ignore:
Timestamp:
2021-05-27T11:07:50+02:00 (3 years ago)
Author:
girrmann
Message:

minor optimizations in asynchronous communication routine

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14447_HPC-07_Irrmann_try_new_pt2pt/src/OCE/LBC/lbc_lnk_pt2pt_async.h90

    r14899 r14910  
    197197      ! 
    198198      ! ------------------------------------------------------------- ! 
    199       !     3. Do east, west, south and north MPI_Isend if needed     ! 
     199      !     5. Do east, west, south and north MPI_Isend if needed     ! 
    200200      ! ------------------------------------------------------------- ! 
    201201      ! 
     
    208208      ! 
    209209      ! ----------------------------------- ! 
    210       !     5. Fill east and west halos     ! 
     210      !     6. Fill east and west halos     ! 
    211211      ! ----------------------------------- ! 
    212       ! 
     212      !       
     213#if ! defined key_mpi_off 
     214      IF( ln_timing ) CALL tic_tac(.TRUE.) 
     215      !                                 ! waiting receive of the west/east halo in local temporary arrays 
     216      call MPI_WAITALL(8, ireq, MPI_STATUSES_IGNORE, ierr) 
     217      IF( ln_timing ) CALL tic_tac(.FALSE.) 
     218#endif 
    213219      DO jn = 1, 8 
    214220#define BLOCK_FILL 
     
    230236         ENDIF 
    231237      ENDIF 
    232       ! 
    233       ! ------------------------------------- ! 
    234       !     7. Fill south and north halos     ! 
    235       ! ------------------------------------- ! 
    236       ! 
    237 !       DO jn = 3, 4 
    238 ! #define BLOCK_FILL 
    239 ! #  include "lbc_lnk_pt2pt_async.h90" 
    240 ! #undef BLOCK_FILL 
    241 !       END DO 
    242 !!      ! 
    243 !!      ! ----------------------------------------------- ! 
    244 !!      !     8. Specific problem in corner treatment     ! 
    245 !!      !              ( very rate case... )              ! 
    246 !!      ! ----------------------------------------------- ! 
    247 !!      ! 
    248 !!      DO jn = 5, 8 
    249 !!#define BLOCK_ISEND 
    250 !!#  include "lbc_lnk_pt2pt_async.h90" 
    251 !!#undef BLOCK_ISEND 
    252 !!      END DO 
    253 !!      DO jn = 5, 8 
    254 !!#define BLOCK_FILL 
    255 !!#  include "lbc_lnk_pt2pt_async.h90" 
    256 !!#undef BLOCK_FILL 
    257 !!      END DO 
     238 
    258239      ! 
    259240      ! -------------------------------------------- ! 
    260       !     9. deallocate local temporary arrays     ! 
     241      !     8. deallocate local temporary arrays     ! 
    261242      !        if they areg larger than jpi*jpj      !  <- arbitrary max size... 
    262243      ! -------------------------------------------- ! 
     
    308289   CASE ( jpfillnothing )               ! no filling 
    309290   CASE ( jpfillmpi   )                 ! fill with data received by MPI 
    310 #if ! defined key_mpi_off 
    311       IF( ln_timing ) CALL tic_tac(.TRUE.) 
    312       !                                 ! waiting receive of the west/east halo in local temporary arrays 
    313       call MPI_WAIT(ireq(jn), MPI_STATUS_IGNORE, ierr) 
    314       IF( ln_timing ) CALL tic_tac(.FALSE.) 
    315 #endif 
    316291      DO jf = 1, ipf  ;  DO jl = 1, ipl  ;  DO jk = 1, ipk  ;  DO jj = 1,isizej(jn)  ;  DO ji = 1,isizei(jn) 
    317292         ptab(jf)%pt4d(ishti+ji,ishtj+jj,jk,jl) = BUFFRCV(idxr) 
Note: See TracChangeset for help on using the changeset viewer.