#1523 closed Task (fixed)
Optimizations on NEMO 3.6 communications
Reported by: | mcastril | Owned by: | mcastril |
---|---|---|---|
Priority: | low | Milestone: | 2015 release-3.6 |
Component: | OCE | Version: | v3.6 |
Severity: | minor | Keywords: | MPI OPA nemo_v3_6* nemo_v3_6_STABLE performance v3.6 |
Cc: |
Description
Many of the NEMO model bottlenecks have its cause in the communications system
In order to mitigate this issue we studied the NEMO efficiency by applying our methodology, that is based on the BSC performance tools.
After getting some interesting results we developed two improvements that will be included in this branch.
The first optimization is focused on improving the scalability. In order to pack an undetermined number of messages and send them all at the same, a new subroutine was created in the in lbc_lnk routine. The communication cost when exchanging variables is highly reduced. This improvement does not entail any modification in the final results of the simulation.
The second one optimization affects the convergence test used in limhdf, that performs global communications in each iteration to get the maximum value over the global domain. With the aim of reducing the number of times this check is performed, we created a X parameter in the namelist that is used to perform this check only in N/X out of N iterations, in order to reduce the calls to the mpp_max routine. The tradeoff is that, in the worst case, up to N-1 computation phases could be done in excess, but the computational cost is much lower than the communication cost when using a high number of cores, so this optimization improves the scalability.
A short visual preview about the analyses and results is included in the attached presentation.
Commit History (5)
Changeset | Author | Time | ChangeLog |
---|---|---|---|
5429 | smasson | 2015-06-16T11:57:07+02:00 | merge dev_r5302_CNRS18_HPC_scalability into the trunk, see #1523 |
5408 | mcastril | 2015-06-12T11:04:49+02:00 | ticket #1523 Convergence Check namelist parameters addition |
5372 | mcastril | 2015-06-05T21:14:36+02:00 | ticket #1523 Message Packing |
5320 | mcastril | 2015-05-29T18:13:37+02:00 | ticket #1523 Convergence Check |
5318 | mcastril | 2015-05-29T15:46:57+02:00 | ticket #1523 Optimizations on NEMO 3.6 communications - Branch create |
Attachments (1)
Change History (16)
Changed 10 years ago by mcastril
comment:1 Changed 9 years ago by mcastril
comment:2 Changed 9 years ago by nicolasmartin
- Keywords MPI added; communications removed
comment:3 Changed 9 years ago by nicolasmartin
- Keywords efficiency removed
comment:4 Changed 9 years ago by nicolasmartin
- Keywords nemo_v3_6* added
comment:5 Changed 9 years ago by nicolasmartin
- Keywords packing removed
comment:6 Changed 7 years ago by nicolasmartin
- Owner changed from nemo to mcastril
- Status changed from new to assigned
comment:7 Changed 7 years ago by nemo
- Type changed from Development to Task
Remove 'Development' type
comment:8 Changed 7 years ago by nicolasmartin
- Milestone 2015 nemo_v3_6_STABLE deleted
- workplan_status set to unknown
comment:9 Changed 7 years ago by nemo
- Keywords release-3.6* added; nemo_v3_6* removed
comment:10 Changed 7 years ago by nemo
- Keywords performance removed
comment:11 Changed 7 years ago by nemo
- Keywords release-3.6* removed
comment:12 Changed 7 years ago by nemo
Is there any reason to not closing this ticket ? If yes, please do so.
If not, thanks for switching to 'Miscellaneous' milestone (unscheduled).
comment:13 Changed 7 years ago by mcastril
- Milestone 2015 nemo_v3_6_STABLE deleted
- Resolution set to fixed
- Status changed from assigned to closed
comment:14 Changed 7 years ago by nemo
- Milestone set to 2015 nemo_v3_6_STABLE
comment:15 Changed 3 years ago by nemo
- Keywords OPA nemo_v3_6_STABLE v3.6 added
Links to technical memoranda & poster explaining this optimizations:
Technical Memoranda
Poster