[MITgcm-support] Zonal filter with nPx>1

Dimitris Menemenlis dmenemenlis at gmail.com
Thu Nov 13 11:12:27 EST 2014


If you use sea ice dynamics, the Line-Successive-Relaxation (LSR) sea ice dynamics will also
cause differences for different tile-domain decompositions.  I have not checked but assume that
the Elastic-Viscous-Plastic (EVP) solver is independent of tile domain decomposition.

And of course aggressive compiler optimization options will also cause tile-domain
decomposition differences, as they can change order of computations.

> On Nov 13, 2014, at 6:57 AM, Jean-Michel Campin <jmc at ocean.mit.edu> wrote:
> 
> Hi Roland,
> 
> Regarding solution differences due to changes the tile-domain decomposition:
> In most cases, it comes from the global-sum used in CG solver(s).
> 
> There are 2 things that address this issue (but they slow down the model):
> 1) with the same tile decomposition (sNx,sNy) but different processor
>   mapping (difference in any nSx,nSy,nPx,nPy) you can compile with:
>> #define GLOBAL_SUM_SEND_RECV
>  in CPP_EEOPTIONS.h
>  (stantard version: eesupp/inc/CPP_EEOPTIONS.h)
>  but I realised that this is not going to help you since the current
>  implemetation of the zonal filter does not even allow to have nSx different
>  from 1 !
> 2) you can try to compile with:
>> #define CG2D_SINGLECPU_SUM
>  also in eesupp/inc/CPP_EEOPTIONS.h
>  This is even slower than (1) but should make the results independent
>  of the tile decomposition if the only global-sum used is in CG2D 
>  (hydrostatic simulation, without forcing global balance of surface
>   forcing, without OBCs balance, no seaice dynamics).
> 
> Cheers,
> Jean-Michel




More information about the MITgcm-support mailing list