#1539 closed Enhancement (fixed)
Performance optimizations on NEMO 3.6 limhdf routine
Reported by: | mcastril | Owned by: | nemo |
---|---|---|---|
Priority: | low | Milestone: | |
Component: | LIM3 | Version: | trunk |
Severity: | Keywords: | LIM* optimization | |
Cc: |
Description
The limtrp routine uses the limhdf subroutine in several fields. The computation for each one of these fields is almost independent from one to the other, so it is possible to reorganize the way how it is computed in order to increase the granularity taking advantage of the multisend routine (see #1523), that lets to use a single collective communication for several different variables at the same time. This way the number of interchanges is dramatically decreased, having much less collective communications.
By increasing the time dedicated to computation between consecutive MPI calls and at the same time reducing the number of messages, the scalability of this specific routine is increased a lot, having a very high impact in the overall efficiency (see figures).
With 5 ice categories and 2 sea ice layers per category, it is possible to gather 40 different fields. The results with ORCA1 are really good.This change does not have to affect the model outputs.
Commit History (5)
Changeset | Author | Time | ChangeLog |
---|---|---|---|
6478 | mcastril | 2016-04-15T18:43:21+02:00 | Merging of branch dev_r5546_CNRS19_HPC_scalability #1539 |
6477 | mcastril | 2016-04-15T15:30:53+02:00 | #1539 fix for last merge |
6476 | mcastril | 2016-04-15T14:50:29+02:00 | Merging of branch dev_r5546_CNRS19_HPC_scalability #1539 |
5579 | mcastril | 2015-07-09T18:07:16+02:00 | ticket #1539 Performance optimizations on NEMO 3.6 limhdf routine |
5430 | mcastril | 2015-06-16T13:22:55+02:00 | ticket #1539 Performance optimizations on NEMO 3.6 limhdf routine |
Attachments (2)
Change History (11)
Changed 9 years ago by mcastril
comment:1 Changed 9 years ago by gm
Thanks ! Very good idea leading to a significant increase in the mpp performances.
comment:2 Changed 9 years ago by mcastril
Created serial versions of mpp_lnk_2d_9 & mpp_lnk_2d_multiple
comment:3 Changed 9 years ago by mcastril
Links to technical memoranda & poster explaining this optimizations:
comment:4 Changed 8 years ago by mcastril
This optimization also includes the implementation of mpp_lbc_north_2d_multiple , which applies the multiple messages (packed messages #1523) routine to the north folding.
comment:5 Changed 8 years ago by mcastril
- Resolution set to fixed
- Status changed from new to closed
comment:6 Changed 8 years ago by nicolasmartin
- Keywords limhdf removed
comment:7 Changed 8 years ago by nicolasmartin
- Keywords efficiency removed
comment:8 Changed 7 years ago by nemo
- Keywords performance removed
comment:9 Changed 7 years ago by nemo
- Keywords LIM* added; LIM3 removed
Optimizations scalability