[Yt-dev] Hierarchy optimization

Matthew Turk matthewturk at gmail.com
Tue Aug 18 17:05:03 PDT 2009


Hi everyone,

The rewritten hierarchy now passes all the unit tests.  You can
inspect this branch in this repository:

http://hg.enzotools.org/yt/

in the named branch hierarchy-opt .  The Orion hierarchy will need to
be converted (Jeff and I can talk about this offline) but overall I
think the new mechanism for instantiating and creating hierarchies is
now extremely straightforward, and will suit itself better to new AMR
formats.  You can see the outline here:

http://hg.enzotools.org/yt/file/hierarchy-opt/yt/lagos/HierarchyType.py#l201

This is the base class, and other hierarchies just have to implement
those functions to be real.  The enzo hierarchy instantiation should
be marginally faster and might use a bit less RAM.  However, I still
need to work on both reorganizing the DataQueue and the Grid objects,
which will become smaller (eliminating some data members) and faster.
I intend to eliminate at least one dictionary in the grid object.
(Each dictionary removal drops 1K per object -- for the L7, this would
be 300 megs per dict.)

If you'd like to take a look, please do so, and let me know how it
works out.  You can do this with:

hg clone http://hg.enzotools.org/yt/ ./experimental-yt
cd experimental-yt
hg up -C hierarchy-opt

Best,

-Matt



More information about the yt-dev mailing list