DocumentCode :
649464
Title :
Portable data-parallel visualization and analysis in distributed memory environments
Author :
Sewell, Christopher ; Li-Ta Lo ; Ahrens, James
Author_Institution :
CCS-7, Los Alamos Nat. Lab., Los Alamos, NM, USA
fYear :
2013
fDate :
13-14 Oct. 2013
Firstpage :
25
Lastpage :
33
Abstract :
Data-parallelism is a programming model that maps well to architectures with a high degree of concurrency. Algorithms written using data-parallel primitives can be easily ported to any architecture for which an implementation of these primitives exists, making efficient use of the available parallelism on each. We have previously published results demonstrating our ability to compile the same data-parallel code for several visualization algorithms onto different on-node parallel architectures (GPUs and multi-core CPUs) using our extension of NVIDIA´s Thrust library. In this paper, we discuss our extension of Thrust to support concurrency in distributed memory environments across multiple nodes. This enables the application developer to write data-parallel algorithms while viewing the data as single, long vectors, essentially without needing to explicitly take into consideration whether the values are actually distributed across nodes. Our distributed wrapper for Thrust handles the communication in the backend using MPI, while still using the standard Thrust library to take advantage of available on-node parallelism. We describe the details of our distributed implementations of several key data-parallel primitives, including scan, scatter/gather, sort, reduce, and upper/lower bound. We also present two higher-level distributed algorithms developed using these primitives: isosurface and KD-tree construction. Finally, we provide timing results demonstrating the ability of these algorithms to take advantage of available parallelism on nodes and across multiple nodes, and discuss scaling limitations for communication-intensive algorithms such as KD-tree construction.
Keywords :
concurrency control; data analysis; data visualisation; distributed memory systems; parallel algorithms; GPU; KD-tree construction primitives; MPI; NVIDIA Thrust library; Thrust library; concurrency degree; data-parallel algorithms; data-parallel primitives; distributed algorithms; distributed memory environments; graphics processing unit; isosurface primitives; message passing interface; multicore CPU; on-node parallel architectures; portable data-parallel analysis; portable data-parallel visualization; programming model; reduce primitives; scan primitives; scatter-gather primitives; sort primitives; upper-lower bound primitives; visualization algorithms;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Large-Scale Data Analysis and Visualization (LDAV), 2013 IEEE Symposium on
Conference_Location :
Atlanta, GA
Type :
conf
DOI :
10.1109/LDAV.2013.6675155
Filename :
6675155
Link To Document :
بازگشت