[MITgcm-devel] I/O wrt packing

Matthew Mazloff mmazloff at MIT.EDU
Tue Oct 13 16:18:46 EDT 2009


Hi Patrick,

The current way I/O is done for ctrl_(un)pack is
1) inefficient
2) incompatible for singlecpuio=false on machines without shared storage

In the current setup all processors read in the whole field (e.g with  
MDSREADFIELD_3D_GL) and then pack or unpack.  If a machine has only  
local storage then cpus can't see other processor's tile files and the  
model crashes.  (e.g. processor .001.001, cannot read tile .001.002)

I propose putting in a CPP flag that allows only 1 processor to do all  
the packing.  This will reduce memory significantly as only 1 cpu on a  
node will store global fields and not all cpus (1/8 the memory on 8  
cpu nodes).
Secondly I would like this option to be compatible on machines without  
shared storage, so I would like each processor to read only its own  
tile, and then send (scatter) the info to the packing processor.

Before doing anything I wanted to know your thoughts on the matter--  
does this make sense

Thanks,
Matt











More information about the MITgcm-devel mailing list