Skip to main navigation Skip to search Skip to main content

Implementing OpenMP's SIMD Directive in LLVM's GPU Runtime

  • Eric Wright
  • , Johannes Doerfert
  • , Shilei Tian
  • , Barbara Chapman
  • , Sunita Chandrasekaran
  • University of Delaware
  • Lawrence Livermore National Laboratory
  • Stony Brook University

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

2 Scopus citations

Abstract

GPUs support three levels of parallelism: thread blocks, warps (or wavefronts) within a block, and threads within a warp. Some GPU programming models allow the use of all three of these levels, such as OpenMP offloading with the teams, parallel, and simd directives. However LLVM/OpenMP does not support simd and only uses two levels, thread blocks and all threads within a block. For codes with three explicit layers of parallelism this can decrease performance and potentially require restructuring of the application. In this work we present our design and implementation of the OpenMP simd directive in LLVM's OpenMP GPU runtime, which includes both CPU-centric and GPU-centric execution models. We evaluate our prototype using kernels and a few proxy applications showing a performance improvement ranging from 1.3x to 3.5x depending on the benefit the kernels receives from such an optimization. Thus, this work enables real-world applications with three explicit layers of parallelism to expose to better exploit the full benefits of GPU architecture.

Original languageEnglish
Title of host publication52nd International Conference on Parallel Processing, ICPP 2023 - Main Conference Proceedings
PublisherAssociation for Computing Machinery
Pages173-182
Number of pages10
ISBN (Electronic)9798400708435
DOIs
StatePublished - Aug 7 2023
Event52nd International Conference on Parallel Processing, ICPP 2023 - Salt Lake City, United States
Duration: Aug 7 2023Aug 10 2023

Publication series

NameACM International Conference Proceeding Series

Conference

Conference52nd International Conference on Parallel Processing, ICPP 2023
Country/TerritoryUnited States
CitySalt Lake City
Period08/7/2308/10/23

Keywords

  • GPU
  • LLVM
  • OpenMP offloading
  • SIMD

Fingerprint

Dive into the research topics of 'Implementing OpenMP's SIMD Directive in LLVM's GPU Runtime'. Together they form a unique fingerprint.

Cite this