[Yt-dev] Parallel Volume Renderer

Matthew Turk matthewturk at gmail.com
Sun Feb 21 15:50:38 PST 2010


Hi guys,

I've parallelized the volume renderer in hg.  It will decompose both
grids (but not bricks! -- the distinction is important for large root
grid tiles) across processors, as well as cutting the image plane into
bits.  I was getting artifacts, but now I am no longer getting them.
The scaling hasn't been great so far, but it's been pretty good, and
it should certainly assist with memory issues.

To get it going, I added a new object, VolumeRendering, that hangs off
the hierarchy (like other objects.)  You shouldn't need to do anything
special besides "--parallel" to run it in parallel.  The old
direct_ray_cast probably doesn't work, as I had to change the
arguments to the VectorPlane object to allow for non-square volume
renderings.

Here's an example script:

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

There's some calculation in here of the L vector and whatnot.
Additionally, this uses the new image saving routines Sam put in
yesterday (awesome work, Sam!).

Let me know what you think!  I'm going to try testing this out to see
how well it scales for very large tiles as well as very large data.

-Matt



More information about the yt-dev mailing list