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.
WorkingGroups/HPC (diff) – NEMO

Changes between Version 5 and Version 6 of WorkingGroups/HPC


Ignore:
Timestamp:
2014-11-05T22:49:20+01:00 (10 years ago)
Author:
smasson
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WorkingGroups/HPC

    v5 v6  
    3030 
    3131== Some ideas...:[[BR]] == 
    32 A strong improvement of NEMO scalability is needed to be able to take advantage of the new machines. This means a deep review/rewrite of NEMO code at some point in the futur (beyond 5 years). At the same time, we already know that CMIP7 won't use an ocean model that has not been strongly tested and validated and will stick to a NEMO model close to the existing one. [[BR]] 
     32A strong improvement of NEMO scalability is needed to be able to take advantage of the new machines. This probably means a deep review/rewrite of NEMO code at some point in the futur (beyond 5 years from now?). At the same time, we already know that CMIP7 won't use an ocean model that has not been strongly tested and validated and will stick to a NEMO model not so far from the existing one. [[BR]] 
    3333This means that we need to: 
    3434 1) keep improving the current structure of NEMO so it works quite efficiently for almost 10 more years (until the end of CMPI7). [[BR]] 
    35  2) start to work on a new structure that would be tested from year 5 and fully tested and validated for CMIP8 in about 10 years. [[BR]] 
     35 2) start to work on a new structure that would fully tested and validated at least for CMIP8 in about 10 years. [[BR]] 
    3636 
    37 Based on this, we propose to divide the work according to 3 temporal window [[BR]] 
     37Based on this, we propose to divide the work according to 3 temporal windows [[BR]] 
    3838 
    39 '''0-3 years''': improvements with existing code: Do basic optimisation work: [[BR]] 
    40  1) reduce the number of communications: remove useless communications (a lot) [[BR]] 
    41  2) reduce the number of communications: do less and bigger communications (group communications, use large halo) [[BR]] 
     39'''0-3 years''': improvements with existing code: [[BR]] 
     40 0) remove solvers (to be done in 3.7) 
     41 1) reduce the number of communications: do less and bigger communications (group communications, use larger halo). main priority: communications in the time splitting. [[BR]] 
     42 2) reduce the number of communications: remove useless communications (a lot) [[BR]] 
    4243 3) introduce asynchronous communications  
    4344 3) check code vectorization (SIMD instructions) [[BR]] 
     
    4546'''0-5 years''': improvements through the introduction of OpenMP:  [[BR]] 
    4647 work initialed by CMCC.  
    47  "Basic" implementation such as tiling may be efficient with many cores processors?  
    48  test different way to find new sources of parallelism. 
    49 OpenMP4, OpenACC? 
     48 implementation such as tiling may be efficient with many cores processors? review lbclnk to be able to deal with MPI and OpenMP 
     49 OpenMP along the vertical axis? Find a way to remove implicit schemes?   
     50 test different way to find new sources of parallelism for example with the help of OpenMP4 
     51 test OpenACC (not that far from OpenMP)? 
    5052 
    5153'''beyond 5 years''': [[BR]]