EAVL icon indicating copy to clipboard operation
EAVL copied to clipboard

improve isosurface

Open jsmeredith opened this issue 13 years ago • 1 comments

The current 3D isosurface algorithm uses an explicit edge array. This turns out to be pretty fast for a structured grid, but it's expensive in terms of memory usage and it's too expensive for unstructured grids in both the memory and computational sense. So changing to something more implicit (i.e. that uses edge node id pairs) is probably necessary long term.

Also, efficient CPU implementations (see VisIt) use scalar trees to downselect the number of cells necessary to evaluate. I expect that same concept would work here, though may not be necessary with other improvements.

Finally, it would be be more efficient to compute multiple isolevels at once.

(Oh, and we only have a 3D isosurface right now; we need the 2D and 1D versions as well.)

jsmeredith avatar Sep 12 '12 18:09 jsmeredith

So what’s the appropriate method to calculate and access a scalar tree using our functor paradigm? True, that it might not be needed with fine-grained parallelism, but it would be instructive to explore from a memory access point of view.

-Sean

Sean Ahern Oak Ridge National Laboratory 865-408-8463

On Sep 12, 2012, at 2:11 PM, Jeremy Meredith wrote:

The current 3D isosurface algorithm uses an explicit edge array. This turns out to be pretty fast for a structured grid, but it's expensive in terms of memory usage and it's too expensive for unstructured grids in both the memory and computational sense. So changing to something more implicit (i.e. that uses edge node id pairs) is probably necessary long term.

Also, efficient CPU implementations (see VisIt) use scalar trees to downselect the number of cells necessary to evaluate. I expect that same concept would work here, though may not be necessary with other improvements.

Finally, it would be be more efficient to compute multiple isolevels at once.

(Oh, and we only have a 3D isosurface right now; we need the 2D and 1D versions as well.)

— Reply to this email directly or view it on GitHubhttps://github.com/jsmeredith/EAVL/issues/2.

ahernsean avatar Sep 13 '12 15:09 ahernsean