[MITgcm-devel] unnecessary store

Matthew Mazloff mmazloff at ucsd.edu
Wed Sep 7 16:25:40 EDT 2011


Hi Patrick,

I think the easiest way to do this is to make a CPP flag be something  
like

USE_LOW_MEMORY_IO

and a check that says this is not compatible with
#undef AUTODIFF_USE_OLDSTORE_3D
singlecpuio = TRUE
or using global files in read/write vector.

Then we could easily hide the global fields inside the  
USE_LOW_MEMORY_IO  flag

-Matt


On Sep 7, 2011, at 12:35 PM, Patrick Heimbach wrote:

> Hi Matt,
>
> do you think you could make your modifs a bit more generic
> (e.g. via switches) and make them available?
>
> From your description it sounds like we may run into this more often
> once we move to larger setups and machines.
>
> Cheers
> -Patrick
>
> On Sep 7, 2011, at 3:04 PM, Matthew Mazloff wrote:
>
>> Hi Martin,
>>
>> Hmm, then maybe the
>>> CADJ STORE salt  = tapelev_init, key = 1
>> should be added.
>>
>> You are right, its not a huge store....not that big a deal.
>>
>> What was actually crashing my model (happened right after this call  
>> which confused me) was the stores of fields such as
>> tapelev3_9_the_main_loop_salt.it0059.001.001.data
>> because of memory requirements in mdswritevector.  Once I removed  
>> the global fields (see below) everything was fine.
>>
>> login3% diff ../../../pkg/mdsio/mdsio_writevector.F .
>> 83c83
>> <       Real*8 global(narr*nPx*nPy)
>> ---
>>> CMM      Real*8 global(narr*nPx*nPy)
>> 87,88c87,92
>> <       Real*4 xy_buffer_r4(narr*nPx*nPy)
>> <       Real*8 xy_buffer_r8(narr*nPx*nPy)
>> ---
>>> CMM(
>>> CMM      Real*4 xy_buffer_r4(narr*nPx*nPy)
>>> CMM      Real*8 xy_buffer_r8(narr*nPx*nPy)
>>>      Real*4 xy_buffer_r4(narr)
>>>      Real*8 xy_buffer_r8(narr)
>>> CMM)
>> 172c176
>> <         CALL GATHER_VECTOR( lprint, narr, global, local, myThid )
>> ---
>>> CMM        CALL GATHER_VECTOR( lprint, narr, global, local, myThid )
>> 181c185
>> <             xy_buffer_r4(L) = global(L)
>> ---
>>> CMM            xy_buffer_r4(L) = global(L)
>> 193c197
>> <             xy_buffer_r8(L) = global(L)
>> ---
>>> CMM            xy_buffer_r8(L) = global(L)
>>
>>
>> -Matt
>>
>>
>>
>> On Sep 7, 2011, at 1:49 AM, Martin Losch wrote:
>>
>>> Hi Matt,
>>>
>>> I actually need both
>>> CADJ STORE theta = tapelev_init, key = 1
>>> and
>>> CADJ STORE salt  = tapelev_init, key = 1
>>> in on of my configurations in order to avoid recomputations,  
>>> haven't found out why, yet. You can argue that these recomps are  
>>> benign, but why do they cause a large store? (one 3/5D field,  
>>> right?)
>>>
>>> Martin
>>>
>>> On Sep 6, 2011, at 9:09 PM, Matthew Mazloff wrote:
>>>
>>>> Hi Patrick,
>>>>
>>>> I think the store:
>>>> CADJ STORE theta = tapelev_init, key = 1
>>>>
>>>> on line 292 of packages_init_variables.F
>>>>
>>>> is unnecessary.  Or perhaps it is specific to a package I am not  
>>>> using, and should be within an #ifdef then.  (I don't find any  
>>>> obvious recomputations when I comment it out.)
>>>>
>>>> If you agree, perhaps you can fix this, as it is a large store,  
>>>> and I think Ranger occasionally trips over it.
>>>>
>>>> Thanks
>>>> -Matt
>>>>
>>>> ps> it was put in:
>>>>
>>>> Revision 1.34 - (view) (download) (as text) (annotate) - [select  
>>>> for diffs]
>>>> Fri May 21 21:45:35 2004 UTC (7 years, 3 months ago) by heimbach
>>>> Branch: MAIN
>>>> CVS Tags: checkpoint53c_post, checkpoint53d_post,  
>>>> checkpoint53d_pre, checkpoint53f_post, checkpoint53g_post,  
>>>> checkpoint54, checkpoint54a_post,  
>>>> checkpoint54a_pre,checkpoint54b_post, checkpoint54c_post,  
>>>> checkpoint54d_post
>>>> Changes since 1.33: +11 -1 lines
>>>> Diff to previous 1.33
>>>> o Adjoint for EBM package (needs further testing)
>>>> o bug fix for parallel EBM in ebm_zonalmean.F
>>>> _______________________________________________
>>>> MITgcm-devel mailing list
>>>> MITgcm-devel at mitgcm.org
>>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>>>
>>>
>>> _______________________________________________
>>> MITgcm-devel mailing list
>>> MITgcm-devel at mitgcm.org
>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>>
>>
>> _______________________________________________
>> MITgcm-devel mailing list
>> MITgcm-devel at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>
> ---
> Patrick Heimbach | heimbach at mit.edu | http://www.mit.edu/~heimbach
> MIT | EAPS 54-1420 | 77 Massachusetts Ave | Cambridge MA 02139 USA
> FON +1-617-253-5259 | FAX +1-617-253-4464 | SKYPE patrick.heimbach
>
>
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel




More information about the MITgcm-devel mailing list