EGPGV21: Eurographics Symposium on Parallel Graphics and Visualization
Permanent URI for this collection
Browse
Browsing EGPGV21: Eurographics Symposium on Parallel Graphics and Visualization by Subject "Parallel computing methodologies"
Now showing 1 - 1 of 1
Results Per Page
Sort Options
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.