ACM Home Page
Please provide us with feedback. Feedback
Fast and scalable list ranking on the GPU
Full text PdfPdf (657 KB)
Source
International Conference on Supercomputing archive
Proceedings of the 23rd international conference on Supercomputing table of contents
Yorktown Heights, NY, USA
SESSION: Accelerating applications with GPUs I table of contents
Pages 235-243  
Year of Publication: 2009
ISBN:978-1-60558-498-0
Authors
M. Suhail Rehman  International Institute of Information Technology, Hyderabad, India
Kishore Kothapalli  International Institute of Information Technology, Hyderabad, India
P. J. Narayanan  International Institute of Information Technology, Hyderabad, India
Sponsors
ACM: Association for Computing Machinery
SIGARCH: ACM Special Interest Group on Computer Architecture
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 33,   Downloads (12 Months): 123,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1542275.1542311
What is a DOI?

ABSTRACT

General purpose programming on the graphics processing units (GPGPU) has received a lot of attention in the parallel computing community as it promises to offer the highest performance per dollar. The GPUs have been used extensively on regular problems that can be easily parallelized. In this paper, we describe two implementations of List Ranking, a traditional irregular algorithm that is difficult to parallelize on such massively multi-threaded hardware. We first present an implementation of Wyllie's algorithm based on pointer jumping. This technique does not scale well to large lists due to the suboptimal work done. We then present a GPU-optimized, Recursive Helman-JaJa (RHJ) algorithm. Our RHJ implementation can rank a random list of 32 million elements in about a second and achieves a speedup of about 8-9 over a CPU implementation as well as a speedup of 3-4 over the best reported implementation on the Cell Broadband engine. We also discuss the practical issues relating to the implementation of irregular algorithms on massively multi-threaded architectures like that of the GPU. Regular or coalesced memory accesses pattern and balanced load are critical to achieve good performance on the GPU.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
D. A. Bader, V. Agarwal, and K. Madduri. On the Design and Analysis of Irregular Algorithms on the Cell Processor: A Case Study of List Ranking. In 21st IEEE International Parallel and Distributed Processing Symposium (IPDPS), pages 1--10. IEEE, 2007.
 
4
 
5
6
 
7
8
 
9
10
 
11
M. Harris, J. Owens, S. Sengupta, Y. Zhang, and A. Davidson. CUDPP: CUDA Data Parallel Primitives Library. http://gpgpu.org/developer/cudpp.
 
12
 
13
 
14
G. L. Miller and J. H. Reif. Parallel Tree Contraction and its Application. pages 478--489, Oct. 1985.
 
15
A. Munshi. OpenCL Specification V1.0. Technical report, Khronos OpenCL Working Group, 2008.
 
16
NVIDIA Corporation. CUDA: Compute Unified Device Architecture Programming Guide. Technical report, NVIDIA, 2007.
17
18
 
19
 
20
J. Sibeyn. Minimizing Global Communication in Parallel List Ranking. In Euro-Par Parallel Processing, Lecture Notes in Computer Science, pages 894--902. Springer, 2003.
 
21

Collaborative Colleagues:
M. Suhail Rehman: colleagues
Kishore Kothapalli: colleagues
P. J. Narayanan: colleagues