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 13 and Version 14 of WorkingGroups/HPC


Ignore:
Timestamp:
2014-11-17T09:42:28+01:00 (9 years ago)
Author:
smasson
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WorkingGroups/HPC

    v13 v14  
    5858 
    5959  • Remark: the version of MON currently under development (MOM5: switch to C-grid, use of finit volume approach,...) is using FMS, a GungHo   type approach...and "There are '''dozens''' of scientists and engineers at GFDL focused on meeting the evolving needs of climate scientists pushing the envelope of computational tools for studying climate" 
     60 
     61'''Sebastien''' -- (2014 November 17): some ideas I heard about asynchronous communications: 
     62 
     63  • compute inner domain during communication of the halo: 
     64Today in NEMO, we first do loops from 2 to jpi-1 and, next, we do a communication to get values in 1 and jpi that will be needed for the next loop involving neighboring points. So, by default, we compute over the full domain (including halo) and make a communication '''after''' the incomplete loops. [[BR]] 
     65We could change this paradigm. Halo exists only to be able to compute data over the inner domains. So we don't really need to compute over the full domain. We could compute only over the inner domain and make a communication '''before''' the loops that are involving neighboring points to update halo. This is what is done in WRF for example. If we do communications before the loops, we cant start non-blocking communication, do the computation for 3 to jpi-2, receive the communication and finally do the computation for 2 and jpi-1 (note that in this case, by default halo do not have updated data when computation is finished). 
     66 
     67  • larger halo: could be done only on some variables that are for example using neighbor of neighbor (see what was done on sor solver).   
     68 
     69  • in 3D loops: hide communication at each level by the computation of the next level... -> do not do 3D communications but n 2D asynchronous communications. Good only if communications are really hidden by the computation at each level (that will be less and less as the size of the subdomain is decreasing... Is it really a good idea?