[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