PISTON: A Portable Cross-Platform Framework for Data-Parallel Visualization Operators

Li-ta Lo, Christopher Sewell, James Ahrens
CCS-7, CCS Division, Los Alamos National Laboratory, Los Alamos, NM 87544
Eurographics Symposium on Parallel Graphics and Visualization, 2012


   title={PISTON: A Portable Cross-Platform Framework for Data-Parallel Visualization Operators},

   author={Lo, L. and Sewell, C. and Ahrens, J.},



Download Download (PDF)   View View   Source Source   Source codes Source codes




Due to the wide variety of current and next-generation supercomputing architectures, the development of highperformance parallel visualization and analysis operators frequently requires re-writing the underlying algorithms for many different platforms. In order to facilitate portability, we have devised a framework for creating such operators that employs the data-parallel programming model. By writing the operators using only data-parallel primitives (such as scans, transforms, stream compactions, etc.), the same code may be compiled to multiple targets using architecture-specific backend implementations of these primitives. Specifically, we make use of and extend NVIDIA’s Thrust library, which provides CUDA and OpenMP backends. Using this framework, we have implemented isosurface, cut surface, and threshold operators, and have achieved good parallel performance on two different architectures (multi-core CPUs and NVIDIA GPUs) using the exact same operator code. We have applied these operators to several large, real scientific data sets, and have open-source released a beta version of our code base.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: