[Yt-dev] ParticleIO patch for review

Matthew Turk matthewturk at gmail.com
Fri Jan 8 11:56:03 PST 2010


Hi everyone (again),

I've got a new particle IO patch here:

http://paste.enzotools.org/show/292/

It should now handle long double particle positions (I might be the
only target audience for that) as well as sphere's.  Additionally, it
should be okay with handling integer fields like particle type and
particle ID.  Stephen has said he'd give a go with testing it using
his HOP and other stuff, and if that goes okay I think it is ready for
prime time -- this should speed up particle access considerably...  I
think there might be some lingering issues with memory leaks, but I am
still looking into that; first step is making sure it doesn't break
anything.

-Matt

On Wed, Jan 6, 2010 at 9:01 PM, Matthew Turk <matthewturk at gmail.com> wrote:
> Hi everyone,
>
> Stephen's gotten a lot of great stuff stuck into the SVN trunk, and
> I'm trying to make sure that the particle support is there for him.
> The new ParticleIO is getting close to being "ready for primetime",
> but I'm going to need some help testing it.  I've uploaded a patch:
>
> http://paste.enzotools.org/show/288/
>
> What this will do is co-opt the particle IO from a standard dict-like
> access of an AMR3DData instance and, if it's a particle type, pass it
> through the ParticleIO(.py) object.  Right now this will only affect
> Regions -- everything else will simply operate as normal.  (i.e.,
> spheres will just get passed on through.)  As a note, the new
> ParticleIO is set up to do two-passes through a region, first counting
> the particles that will end up in the object and then reading them.
> This speeds up IO considerably, as it reduces the number of array
> creation operations to a minimum.
>
> (My sample script for testing is here, but I'd prefer if you could
> test in a real-world application...
> http://paste.enzotools.org/show/289/ )
>
> If possible, could a few of you test this out, and let me know if this
> patch interferes with any normal behavior?  I'm running my own tests
> here and it's looking *okay*, but it should get tested in the field a
> bit before being committed.  After that, I'll add the necessary
> methods for spheres, and then the ParticleIO should be mostly handled
> by the new mechanism.
>
> Thanks for any ideas and testing!
>
> -Matt
>



More information about the yt-dev mailing list