DocumentCode
743984
Title
A Scalable Work-Efficient and Depth-Optimal Parallel Scan for the GPGPU Environment
Author
Sang-Won Ha ; Tack-Don Han
Author_Institution
Dept. of Comput. Sci., Yonsei Univ., Seoul, South Korea
Volume
24
Issue
12
fYear
2013
Firstpage
2324
Lastpage
2333
Abstract
The parallel scan is a basic tool that is used to parallelize algorithms which appear to have serial dependencies. The performance of these algorithms relies heavily on the efficiency of the parallel scan that is being used. To maintain work efficiency, current parallelization methods either sacrifice the overall depth or limit the scalability. In this study, we present a parallel scan method that is derived from the Han-Carlson parallel prefix graph and is both a work-efficient and a depth-optimal process. In this method, the depth is increased by a small constant value above the lower bound; therefore, the amount of computation and/or memory access is effectively reduced. We also employ a novel cascaded thread-block execution method to exploit the single-program-multiple-data (SPMD) nature of the compute unified device architecture (CUDA) environment developed by NVIDIA. The proposed method facilitates the low-latency interthread accessible shared memory and the single-instruction-multiple-thread (SIMT) characteristics of the graphics hardware to reduce high-latency global memory access and costly barrier synchronization. Our experimental results demonstrate an average speed up of approximately 40 and 10 percent over the CUDA data parallel primitives (CUDPP) library derivation of the Kogge-Stone prefix tree and an implementation of Merrill and Grimshaw´s method with coarser combination of the Kogge-Stone graph and the Brent-Kung prefix graph, respectively.
Keywords
graphics processing units; instruction sets; multi-threading; parallel architectures; shared memory systems; storage management; synchronisation; trees (mathematics); Brent-Kung prefix graph; CUDA data parallel primitives; CUDA environment; CUDPP library; Compute Unified Device Architecture; GPGPU environment; Han-Carlson parallel prefix graph; Kogge-Stone graph; Kogge-Stone prefix tree; Merrill-Grimshaw method; NVIDIA; SIMT characteristics; SPMD nature; algorithm parallelization; barrier synchronization; cascaded thread-block execution method; depth-optimal parallel scan; depth-optimal process; general-purpose graphics processing unit; graphics hardware; high-latency global memory access; low-latency interthread accessible shared memory; scalable work-efficient parallel scan; serial dependency; single-instruction-multiple-thread characteristics; single-program-multiple-data nature; work-efficient process; Algorithm design and analysis; Complexity theory; Graphics processing units; Instruction sets; GPGPU; Han-Carlson adder; Parallel scan; high-performance computing; prefix sum;
fLanguage
English
Journal_Title
Parallel and Distributed Systems, IEEE Transactions on
Publisher
ieee
ISSN
1045-9219
Type
jour
DOI
10.1109/TPDS.2012.336
Filename
6392164
Link To Document