Title :
Approaches for parallelizing reductions on modern GPUs
Author :
Huo, Xin ; Ravi, Vignesh T. ; Ma, Wenjing ; Agrawal, Gagan
Author_Institution :
Dept. of Comput. Sci. & Eng., Ohio State Univ., Columbus, OH, USA
Abstract :
GPU hardware and software has been evolving rapidly. CUDA versions 1.1 and higher started supporting atomic operations on device memory, and CUDA versions 1.2 and higher started supporting atomic operations on shared memory. This paper focuses on parallelizing applications involving reductions on GPUs. Prior to the availability of support for locking, these applications could only be parallelized using full replication, i.e., by creating a copy of the reduction object for each thread. However, CUDA 1.1 (1.2) onwards, use of atomic operations (on shared memory) is another option, though some effort is still required in supporting locking on floating point numbers and for supporting coarse-grained locking. Based on the tradeoffs between locking and full replication, we also introduce a hybrid approach, in which a group of threads use atomic operations to update one copy of the reduction object. Using three data mining algorithms that follow the reduction structure - k-means clustering, Principal Component Analysis (PCA) and k-nearest neighbor search (kNN), we evaluate the relative performance of these three approaches. We show how the relative performance of these techniques can vary depending upon the application and its parameters. The hybrid approach we have introduced clearly outperforms other approaches in several cases.
Keywords :
computer graphic equipment; coprocessors; data mining; multi-threading; pattern clustering; principal component analysis; shared memory systems; CUDA version; GPU hardware; GPU software; atomic operation; coarse grained locking; data mining algorithm; device memory; floating point number; full replication; k-nearest neighbor search; parallelizing reduction; principal component analysis; reduction object; shared memory; structure k-mean clustering; Clustering algorithms; Data mining; Graphics processing unit; Instruction sets; Performance evaluation; Principal component analysis; System recovery;
Conference_Titel :
High Performance Computing (HiPC), 2010 International Conference on
Conference_Location :
Dona Paula
Print_ISBN :
978-1-4244-8518-5
Electronic_ISBN :
978-1-4244-8519-2
DOI :
10.1109/HIPC.2010.5713189