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 10136 for NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/LBC/lbclnk.F90 – NEMO

Ignore:
Timestamp:
2018-09-17T15:16:43+02:00 (6 years ago)
Author:
dguibert
Message:

bull: async/datatype

Experimental changes to enable/study/bench various mpi "optimisations":

  • BULL_ASYNC
  • BULL_DATATYPE_VECTOR/SUBARRAY

this has been applied to the nonosc subroutine (only for now).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/LBC/lbclnk.F90

    r9814 r10136  
    5050   PUBLIC   lbc_lnk_icb   ! iceberg lateral boundary conditions 
    5151 
     52#ifdef BULL_ASYNC 
     53   INTERFACE lbc_lnk_async 
     54      MODULE PROCEDURE   mpp_lnk_2d_async      , mpp_lnk_3d_async      , mpp_lnk_4d_async 
     55   END INTERFACE 
     56   INTERFACE lbc_lnk_ptr_async 
     57      MODULE PROCEDURE   mpp_lnk_2d_ptr_async  , mpp_lnk_3d_ptr_async  , mpp_lnk_4d_ptr_async 
     58   END INTERFACE 
     59   INTERFACE lbc_lnk_multi_async 
     60      MODULE PROCEDURE   lbc_lnk_2d_multi_async, lbc_lnk_3d_multi_async, lbc_lnk_4d_multi_async 
     61   END INTERFACE 
     62 
     63   PUBLIC   lbc_lnk_async       ! ocean/ice  lateral boundary conditions 
     64   PUBLIC   lbc_lnk_multi_async ! modified ocean/ice lateral boundary conditions 
     65#endif 
     66 
    5267   PUBLIC   simulated_lbc_lnk 
    5368 
     
    91106      MODULE PROCEDURE   lbc_lnk_2d_multi, lbc_lnk_3d_multi, lbc_lnk_4d_multi 
    92107   END INTERFACE 
     108 
    93109   ! 
    94110   INTERFACE lbc_bdy_lnk 
     
    104120   PUBLIC   lbc_bdy_lnk   ! ocean lateral BDY boundary conditions 
    105121   PUBLIC   lbc_lnk_icb   ! iceberg lateral boundary conditions 
    106     
     122   
    107123   !!---------------------------------------------------------------------- 
    108124   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
     
    327343#     undef ROUTINE_LOAD 
    328344#  undef DIM_4d 
     345 
     346#ifdef BULL_ASYNC 
     347#define ASYNC 
     348#  define DIM_2d 
     349#     define ROUTINE_MULTI          lbc_lnk_2d_multi_async 
     350#     define ROUTINE_LOAD           load_ptr_2d_async 
     351#     include "lbc_lnk_multi_generic.h90" 
     352#     undef ROUTINE_MULTI 
     353#     undef ROUTINE_LOAD 
     354#  undef DIM_2d 
     355 
     356 
     357#  define DIM_3d 
     358#     define ROUTINE_MULTI          lbc_lnk_3d_multi_async 
     359#     define ROUTINE_LOAD           load_ptr_3d_async 
     360#     include "lbc_lnk_multi_generic.h90" 
     361#     undef ROUTINE_MULTI 
     362#     undef ROUTINE_LOAD 
     363#  undef DIM_3d 
     364 
     365 
     366#  define DIM_4d 
     367#     define ROUTINE_MULTI          lbc_lnk_4d_multi_async 
     368#     define ROUTINE_LOAD           load_ptr_4d_async 
     369#     include "lbc_lnk_multi_generic.h90" 
     370#     undef ROUTINE_MULTI 
     371#     undef ROUTINE_LOAD 
     372#  undef DIM_4d 
     373 
     374#undef ASYNC 
     375#endif 
    329376 
    330377   SUBROUTINE simulated_lbc_lnk () 
Note: See TracChangeset for help on using the changeset viewer.