Changes between Version 5 and Version 6 of 2020WP/HPC-09_epico_Loop_fusion
- Timestamp:
- 2020-01-07T18:33:21+01:00 (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
2020WP/HPC-09_epico_Loop_fusion
v5 v6 22 22 === Description 23 23 24 {{{#! commentwidth=25em help24 {{{#!box width=25em help 25 25 Describe the goal of development and the methodology, \\ 26 26 add reference documents or publications if relevant. 27 27 }}} 28 28 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. 30 Moreover, 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. 29 ''... 31 30 '' 32 31