Browsing by Author "Knoll, Aaron"
Now showing 1 - 2 of 2
Results Per Page
Sort Options
Item CPU Ray Tracing of Tree-Based Adaptive Mesh Refinement Data(The Eurographics Association and John Wiley & Sons Ltd., 2020) Wang, Feng; Marshak, Nathan; Usher, Will; Burstedde, Carsten; Knoll, Aaron; Heister, Timo; Johnson, Chris R.; Viola, Ivan and Gleicher, Michael and Landesberger von Antburg, TatianaAdaptive mesh refinement (AMR) techniques allow for representing a simulation's computation domain in an adaptive fashion. Although these techniques have found widespread adoption in high-performance computing simulations, visualizing their data output interactively and without cracks or artifacts remains challenging. In this paper, we present an efficient solution for direct volume rendering and hybrid implicit isosurface ray tracing of tree-based AMR (TB-AMR) data. We propose a novel reconstruction strategy, Generalized Trilinear Interpolation (GTI), to interpolate across AMR level boundaries without cracks or discontinuities in the surface normal. We employ a general sparse octree structure supporting a wide range of AMR data, and use it to accelerate volume rendering, hybrid implicit isosurface rendering and value queries. We demonstrate that our approach achieves artifact-free isosurface and volume rendering and provides higher quality output images compared to existing methods at interactive rendering rates.Item Evaluation of PyTorch as a Data-Parallel Programming API for GPU Volume Rendering(The Eurographics Association, 2021) Marshak, Nathan X.; Grosset, A. V. Pascal; Knoll, Aaron; Ahrens, James; Johnson, Chris R.; Larsen, Matthew and Sadlo, FilipData-parallel programming (DPP) has attracted considerable interest from the visualization community, fostering major software initiatives such as VTK-m. However, there has been relatively little recent investigation of data-parallel APIs in higherlevel languages such as Python, which could help developers sidestep the need for low-level application programming in C++ and CUDA. Moreover, machine learning frameworks exposing data-parallel primitives, such as PyTorch and TensorFlow, have exploded in popularity, making them attractive platforms for parallel visualization and data analysis. In this work, we benchmark data-parallel primitives in PyTorch, and investigate its application to GPU volume rendering using two distinct DPP formulations: a parallel scan and reduce over the entire volume, and repeated application of data-parallel operators to an array of rays. We find that most relevant DPP primitives exhibit performance similar to a native CUDA library. However, our volume rendering implementation reveals that PyTorch is limited in expressiveness when compared to other DPP APIs. Furthermore, while render times are sufficient for an early ''proof of concept'', memory usage acutely limits scalability.