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.
2021WP/HPC-03_Mele_Comm_Cleanup (diff) – NEMO

Changes between Version 8 and Version 9 of 2021WP/HPC-03_Mele_Comm_Cleanup


Ignore:
Timestamp:
2021-05-08T11:30:25+02:00 (3 years ago)
Author:
francesca
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 2021WP/HPC-03_Mele_Comm_Cleanup

    v8 v9  
    3333 
    3434We propose to insert the round brackets in the expressions where needed directly into the trunk. This will cause a version of the trunk which is not bit comparable with the previous one, but the differences will be only due to the changes in the order of the floating point operations, hence they should be acceptable. 
     35ticket2607_r14608_halo1_halo2_compatibility branch has been created for this purpose. 
     36 
     37The branch dev_r14393_HPC-03_Mele_Comm_Cleanup has been revisioned and merged to dev_r14273_HPC-02_Daley_Tiling. More details can be found in [https://forge.ipsl.jussieu.fr/nemo/wiki/2021WP/HPC-02_Daley_Tiling] 
     38 
     39In the branch has been added a bug fixing on neighbours collectives exchanges regarding the suppression of communications involving only land points. Moreover the communication calls have been set to 5-point on TRA modules where data dependencies are satisfied. 
     40 
     41Finally the loop fusion approach has been extended to other routines of NEMO CODE. Implementation details following. 
     42 
     43The CALLs to tra_adv_*_lf routines have been shifted from ./TOP/TRP/trcadv.F90 and ./OCE/TRA/traadv.F90 files. 
     44The corresponding CALLs have been moved into each single adv rountine ( tra_adv_fct,  tra_adv_qck, tra_adv_cen, tra_adv_ubs) and activated if key_loop_fusion is defined. 
     45For each adv scheme the correspondent loop-fusion version routine has been added in a new module ( tra_adv_qck_lf, tra_adv_cen_lf, tra_adv_ubs_lf) except for tra_adv_fct whose tra_adv_fct_lf routine has been added in the same module, this is because the tra_adv_fct_lf needs to call other routines already present in the original module. 
     46 
     47The same approach has been applied for the lateral diffusivity trends scheme: the new modules dynldf_iso_lf and dynldf_lap_blp_lf have been added and called respectively from dyn_ldf_iso and dyn_ldf_lap_blp if key_loop_fusion is defined. 
     48 
     49Finally a couple of loops has been fused in vor_een routine of dyn_vor module. 
    3550 
    3651