[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