[MITgcm-support] SOLVE_DIAGONAL_LOWMEMORY

Dimitris Menemenlis menemenlis at jpl.nasa.gov
Thu Jan 7 14:45:27 EST 2021


Bonjour Jean-Michel, would you be aware of any possible issues with switching the hi-res LLC simulations to SOLVE_DIAGONAL_LOWMEMORY ?
Right now we use the default settings of:

C o Choices for implicit solver routines solve_*diagonal.F
C   The following has low memory footprint, but not suitable for AD
#undef SOLVE_DIAGONAL_LOWMEMORY
C   The following one suitable for AD but does not vectorize
#undef SOLVE_DIAGONAL_KINNER

But Dan notes that the low-memory variant is approximately twice as fast than the default settings for the llc_540 set-up.
I could not find any previous discussion of SOLVE_DIAGONAL_LOWMEMORY in mitgcm-support.

Merci, Dimitris


> Begin forwarded message:
> 
> From: "Kokron, Daniel S. (ARC-606.2)[InuTeq, LLC]" <daniel.s.kokron at nasa.gov>
> Subject: Re: Performance analysis feedback
> Date: January 7, 2021 at 10:49:23 AM PST
> To: Dimitris Menemenlis <menemenlis at jpl.nasa.gov>
> Cc: "Zhang, Hong (JPL-398K)[JPL Employee]" <hong.zhang at jpl.nasa.gov>
> 
> Kinner                   147.07/186.45
> Fall though          60.37/125.83
> Low mem            26.1/67.9
>  
> See attached.  Upper left is Kinner, upper right is fall through and lower middle is low mem.  solve_tridiagonal() is highlighted in yellow.
> Dan
>  
> From: "Kokron, Daniel S. (ARC-606.2)[InuTeq, LLC]" <daniel.s.kokron at nasa.gov>
> Date: Thursday, January 7, 2021 at 10:05 AM
> To: Dimitris Menemenlis <menemenlis at jpl.nasa.gov>
> Cc: "Zhang, Hong (JPL-398K)[JPL Employee]" <hong.zhang at jpl.nasa.gov>
> Subject: Re: Performance analysis feedback
>  
> Comparing profiles with and without Kinner, Kinner is definitely slower than the fall-through path.  I did not try using the lowmem path.
>  
> There is a lot of load imbalance among the ranks so I’ve included min and max times (s) spent in the solve_tridiagonal() routine using the llc_540 case run on 767 ranks.
>  
> Kinner                   147.07/186.45
> Fall though          60.37/125.83
>  
> Fall though is activated with
> #undef SOLVE_DIAGONAL_LOWMEMORY
> #undef SOLVE_DIAGONAL_KINNER
>  
>  
> From: Dimitris Menemenlis <menemenlis at jpl.nasa.gov>
> Date: Wednesday, January 6, 2021 at 7:57 PM
> To: "Kokron, Daniel S. (ARC-606.2)[InuTeq, LLC]" <daniel.s.kokron at nasa.gov>
> Cc: "Zhang, Hong (JPL-398K)[JPL Employee]" <hong.zhang at jpl.nasa.gov>
> Subject: Re: Performance analysis feedback
>  
> actually, it looks like we are “not” using the low-memory option in any of our set-ups:
>  
> bash-3.2$ grep SOLVE_DIAGONAL_LOW */*/code*/*h */code*/*h 
> llc_540/tides_exp/code/CPP_OPTIONS.h:#undef SOLVE_DIAGONAL_LOWMEMORY
> llc_90/tides_exps/code/CPP_OPTIONS.h:#undef SOLVE_DIAGONAL_LOWMEMORY
> llc_1080/code/CPP_OPTIONS.h:#undef SOLVE_DIAGONAL_LOWMEMORY
> llc_2160/code/CPP_OPTIONS.h:#undef SOLVE_DIAGONAL_LOWMEMORY
> llc_270/code/CPP_OPTIONS.h:#undef SOLVE_DIAGONAL_LOWMEMORY
> llc_270/code_ad/CPP_OPTIONS.h:#undef SOLVE_DIAGONAL_LOWMEMORY
> llc_4320/code/CPP_OPTIONS.h:#undef SOLVE_DIAGONAL_LOWMEMORY
> llc_540/code/CPP_OPTIONS.h:#undef SOLVE_DIAGONAL_LOWMEMORY
> llc_90/code-async-noseaice/CPP_OPTIONS.h:#undef SOLVE_DIAGONAL_LOWMEMORY
> llc_90/code/CPP_OPTIONS.h:#undef SOLVE_DIAGONAL_LOWMEMORY
>  
> which happens to be the default for unmodified MITgcm CPP_OPTIONS.h
>  
> bash-3.2$ grep SOLVE_DIAGONAL CPP_OPTIONS.h 
> #undef SOLVE_DIAGONAL_LOWMEMORY
> #undef SOLVE_DIAGONAL_KINNER
>  
> what do you recommend?
>  
> Dimitris
>  
>  
> 
> 
> 
>> On Jan 6, 2021, at 3:03 PM, Kokron, Daniel S. (ARC-606.2)[InuTeq, LLC] <daniel.s.kokron at nasa.gov> wrote:
>>  
>> Hong,
>> The Kinner tri-diagonal solver code path is showing up in my profiling of the llc_540 case.  None of the other user cases I have is using this path.  Does your investigation require using the Kinner path?
>> Dan
>>  
>  
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.mitgcm.org/pipermail/mitgcm-support/attachments/20210107/78cf1b6f/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: LLC540_SolveTriDiagonal.png
Type: image/png
Size: 2513770 bytes
Desc: not available
URL: <http://mailman.mitgcm.org/pipermail/mitgcm-support/attachments/20210107/78cf1b6f/attachment-0001.png>


More information about the MITgcm-support mailing list