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.
#1943 (HPC-02(2017WP)_Francesca Development of the NEMO hybrid parallel version based on MPI/OpenMP) – NEMO

Opened 7 years ago

Closed 5 years ago

#1943 closed Task (fixed)

HPC-02(2017WP)_Francesca Development of the NEMO hybrid parallel version based on MPI/OpenMP

Reported by: mocavero Owned by: francesca
Priority: normal Milestone: 2018 WP
Component: OCE Version: trunk
Severity: minor Keywords:
Cc: mocavero

Description (last modified by francesca)

Context

Evaluation of the scalability improvement due to the introduction of a second level of parallelism in NEMO based on the MPI+X model (where X is OpenMP). A new coarse-grained approach is evaluated in order to improve the efficiency of the fine-grained version developed during 2016.

Implementation

  1. the new ZDF package, rewritten by Gurvan is considered as test case (2017) --> done
  2. a single OpenMP parallel region that includes all the ZDF packages (2017) --> done
  3. implementation of a module for the OpenMP horizontal decomposition; introduction of OpenMP directives within the ZDF manager (2017) --> done
  4. tests of restartability and reproducibility on GYRE_PISCES (2017) --> done
  5. definition of the computational performance test plan and performance evaluation on different HPC systems (2017) --> done
  6. discussion with the NEMO ST and HPC-WG (2017) --> done
  7. extension of the approach to the tracers advection (2018) --> done
  8. definition of the computational performance test plan and performance evaluation on CMCC HPC system (2018) --> done
  9. discussion with the HPC-WG (2018) --> done

Conclusions

The introduction of the OpenMP directives, following the fine grained or course grained approach, heavily impacts on code maintainability. The effort required from the ocean models developers to maintain the NEMO code with the OpenMP support is not rewarded by the improvement of the code performance. The development of the second level of parallelisation based on shared memory will be reconsidered when new code refactoring more suitable for OpenMP will be found. In this regards, the tiling approach that will be investigated in 2019 in the context of the IMMERSE project could reduce the impact of OpenMP directives, making the hybrid code maintainability more easy.

Commit History (0)

(No commits)

Change History (9)

comment:1 Changed 7 years ago by nemo

  • Type changed from Development to Task

Remove 'Development' type

comment:2 Changed 6 years ago by mocavero

  • Milestone changed from 2017 WP to 2018 WP
  • Severity set to minor

comment:3 Changed 6 years ago by nicolasmartin

  • Summary changed from HPC-6_Silvia Development of the NEMO hybrid parallel version based on MPI/OpenMP to HPC-02_Silvia Development of the NEMO hybrid parallel version based on MPI/OpenMP

Updating of the ticket summary to be in phase with 2018WP

comment:4 Changed 6 years ago by nicolasmartin

  • Summary changed from HPC-02_Silvia Development of the NEMO hybrid parallel version based on MPI/OpenMP to HPC-02(2017WP)_Silvia Development of the NEMO hybrid parallel version based on MPI/OpenMP

Modification of summary for standardisation

comment:5 Changed 6 years ago by mocavero

  • Cc mocavero added; francesca removed
  • Owner changed from mocavero to francesca
  • Priority changed from low to normal
  • Status changed from new to assigned

comment:6 Changed 6 years ago by mocavero

  • Summary changed from HPC-02(2017WP)_Silvia Development of the NEMO hybrid parallel version based on MPI/OpenMP to HPC-02(2017WP)_Francesca Development of the NEMO hybrid parallel version based on MPI/OpenMP

comment:7 Changed 6 years ago by mocavero

  • Description modified (diff)
  • wp_comment set to The improvement of the hybrid coarse-grained approach (about 7% when the MPI scalability limit is reached) is not enough to justify the refactoring of the code. A final test by combining a tessellated approach with OpenMP will be performed and the ticket will be closed by the end of this year.

comment:8 Changed 6 years ago by francesca

  • Cc timgraham removed
  • Description modified (diff)
  • wp_comment changed from The improvement of the hybrid coarse-grained approach (about 7% when the MPI scalability limit is reached) is not enough to justify the refactoring of the code. A final test by combining a tessellated approach with OpenMP will be performed and the ticket will be closed by the end of this year. to The improvement of the hybrid fine-grained and coarse-grained approaches is under discussion within the NEMO HPC-WG. The action will be completed and the ticket will be closed by the end of 2018. No development branch to be included in NEMO 4.0

comment:9 Changed 5 years ago by francesca

  • Description modified (diff)
  • Resolution set to fixed
  • Status changed from assigned to closed
  • wp_comment changed from The improvement of the hybrid fine-grained and coarse-grained approaches is under discussion within the NEMO HPC-WG. The action will be completed and the ticket will be closed by the end of 2018. No development branch to be included in NEMO 4.0 to Hybrid fine-grained and coarse-grained approaches have been tested and results have been discussed within the HPC-WG (see Conclusion section). No development branch to be included in NEMO 4.0.
Note: See TracTickets for help on using tickets.