Skip to main navigation Skip to search Skip to main content

Reduction operations in parallel loops for GPGPUs

  • Rengan Xu
  • , Xiaonan Tian
  • , Yonghong Yan
  • , Sunita Chandrasekaran
  • , Barbara Chapman
  • University of Houston

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

4 Scopus citations

Abstract

Manycore accelerators offer the potential of significantly improving the performance of scientific applications when of- oading compute intensive portions of programs to the accelerators. Directive-based programming models such as Open ACC and Open MP are high-level programming model for users to create applications for accelerators by annotating region of code for offloading with directives. In these programming models, most of the offloaded kernels are data parallel loops processing one or multiple multi-dimensional arrays, and it is often that scalar variables are used in the parallel loop body for reduction operations. Since reduction operation itself has loop-carried dependency preventing the parallelization of the loops, this could have a significant impact on the performance if not handled properly. In this paper, we present the design and parallelization of reduction operations in parallel loops for GPGPU accelerators. Using OpenACC as the high-level directive-based programing model, we discuss how reduction operations are parallelized when appearing in each level of the loop nest and thread hierarchy. We present how we handle the map- ping of the loops and parallelized reduction to single- or multiple-level parallelism of GPGPU architectures. These algorithms have been implemented in the open source OpenACC compiler OpenUH. We compare our implementation with two other commercial OpenACC compilers using test cases and applications, and demonstrate better robustness and competitive performance than others. Categories and Subject Descriptors D.3.3 [Programming Languages]: Language Constructs and Features-Reduction General Terms Design, Algorithms, Measurement.

Original languageEnglish
Title of host publicationProceedings of the 2014 International Workshop on Programming Models and Applications for Multicores and Manycores, PMAM 2014
PublisherAssociation for Computing Machinery
Pages10-20
Number of pages11
ISBN (Print)9781450326551
DOIs
StatePublished - 2014
Event2014 International Workshop on Programming Models and Applications for Multicores and Manycores, PMAM 2014 - Orlando, FL, United States
Duration: Feb 15 2014Feb 15 2014

Publication series

NameProceedings of the 2014 International Workshop on Programming Models and Applications for Multicores and Manycores, PMAM 2014

Conference

Conference2014 International Workshop on Programming Models and Applications for Multicores and Manycores, PMAM 2014
Country/TerritoryUnited States
CityOrlando, FL
Period02/15/1402/15/14

Keywords

  • Compiler
  • OpenACC
  • OpenUH
  • Reduction

Fingerprint

Dive into the research topics of 'Reduction operations in parallel loops for GPGPUs'. Together they form a unique fingerprint.

Cite this