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

Loading...
Thumbnail Image
Date
2012
Journal Title
Journal ISSN
Volume Title
Publisher
The Eurographics Association
Abstract
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.
Description

        
@inproceedings{
:10.2312/EGPGV/EGPGV12/011-020
, booktitle = {
Eurographics Symposium on Parallel Graphics and Visualization
}, editor = {
Hank Childs and Torsten Kuhlen and Fabio Marton
}, title = {{
PISTON: A Portable Cross-Platform Framework for Data-Parallel Visualization Operators
}}, author = {
Lo, Li-ta
and
Sewell, Christopher
and
Ahrens, James
}, year = {
2012
}, publisher = {
The Eurographics Association
}, ISSN = {
1727-348X
}, ISBN = {
978-3-905674-35-4
}, DOI = {
/10.2312/EGPGV/EGPGV12/011-020
} }
Citation