[yt-users] Incoming: Threaded volume rendering, and changes to off-axis projections

Matthew Turk matthewturk at gmail.com
Wed Jun 13 08:23:33 PDT 2012


Hi all,

SInce last December, Sam and I have been working on and off on
threading the volume rendering system and providing a major step
forward in its speed and quality.

We've issued a pull request to finish off these efforts and move them
into the main yt core.  This includes a threaded volume renderer,
transfer functions with a degree of opacity, and the ability to (in
the future) much more explicitly control the behavior of the volume
renderer on the cell-level.  All of the code is now separated into
very small component pieces, and it is more maintainable.  The
threading works in conjunction with both MPI parallelism and MPI
parallelism for tiling, which means in theory the yt volume renderer
now operates at three levels of parallelism.  (Which is kind of neat,
I think.)

However, once this is accepted, the minimum requirements to build the
development branch of yt will be upgraded to include Cython 0.16.
This is because Cython 0.16 includes OpenMP support.  The installation
script has been updated to include Cython 0.16, so if you re-run that
(or install Cython 0.16 manually with "pip install -U Cython") then
you should be set.  Otherwise you may run into problems during your
next "yt update".  Additionally, _amr_utils has been renamed to lib,
which I don't think will cause issues but there is an outside chance
it will.

Finally, the off-axis-projections have changed in behavior.  They no
longer interpolate within a cell.  The end result is that the
projections are truer to the data, but this comes at the expense of a
bit of smoothness.  They are now also ~20x faster.

This will be a core component of the yt 2.4 release, scheduled for a
few weeks from now.  We encourage you to test this branch and new
behavior.  Also, please reply if you have any questions or comments
about any of this!

Reference info:

http://lists.spacepope.org/pipermail/yt-dev-spacepope.org/2012-June/002039.html
https://bitbucket.org/yt_analysis/yt/pull-request/168/volume-rendering-refactor

example "samplers":

https://bitbucket.org/MatthewTurk/yt-refactor/src/ec374f56d5b6/yt/utilities/lib/grid_traversal.pyx#cl-310
https://bitbucket.org/MatthewTurk/yt-refactor/src/ec374f56d5b6/yt/utilities/lib/grid_traversal.pyx#cl-344

-Matt



More information about the yt-users mailing list