Changes between Version 2 and Version 3 of 2020WP/HPC-09_epico_Loop_fusion


Ignore:
Timestamp:
2020-01-07T18:28:40+01:00 (9 months ago)
Author:
epico
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • 2020WP/HPC-09_epico_Loop_fusion

    v2 v3  
    2727}}} 
    2828 
    29 ''...'' 
     29''The halo management support has been introduced to provide the developer with a tool for specifying different halo sizes for different NEMO Kernels. As an example, we cite the case of dynspg_ts routine where it could be convenient to enlarge the halo region (up to 5 lines or more) to reduce the communication steps in the time sub-stepping loop. In the advection kernels, like in the MUSCL schema, the use of a halo region 2 lines wide allows to remove the communication which currently happens between the slop calculation and the flux calculation; by means of a 2-lines halo, only an exchange is needed at the beginning of the routine and this, in turn, makes the code ready for further optimizations such as tiling ad loop fusion. 
     30Moreover, the size of the halo region could be also tuned according to the size of the sub-domain; it is worth remembering that with a wider halo region the overall communication costs reduce but the computation costs grow.  
     31'' 
    3032 
    3133=== Implementation