Skip to main navigation Skip to search Skip to main content

Enabling locality-aware computations in OpenMP

  • Lei Huang
  • , Haoqiang Jin
  • , Liqi Yi
  • , Barbara Chapman
  • University of Houston
  • NASA Ames Research Center

Research output: Contribution to journalArticlepeer-review

24 Scopus citations

Abstract

Locality of computation is key to obtaining high performance on a broad variety of parallel architectures and applications. It is moreover an essential component of strategies for energy-efficient computing. OpenMP is a widely available industry standard for shared memory programming. With the pervasive deployment of multi-core computers and the steady growth in core count, a productive programming model such as OpenMP is increasingly expected to play an important role in adapting applications to this new hardware. However, OpenMP does not provide the programmer with explicit means to program for locality. Rather it presents the user with a "flat" memory model. In this paper, we discuss the need for explicit programmer control of locality within the context of OpenMP and present some ideas on how this might be accomplished. We describe potential extensions to OpenMP that would enable the user to manage a program's data layout and to align tasks and data in order to minimize the cost of data accesses. We give examples showing the intended use of the proposed features, describe our current implementation and present some experimental results. Our hope is that this work will lead to efforts that would help OpenMP to be a major player on emerging, multi- and many-core architectures.

Original languageEnglish
Pages (from-to)169-181
Number of pages13
JournalScientific Programming
Volume18
Issue number3-4
DOIs
StatePublished - 2010

Keywords

  • Locality of computation
  • memory programming
  • OpenMP
  • programming models

Fingerprint

Dive into the research topics of 'Enabling locality-aware computations in OpenMP'. Together they form a unique fingerprint.

Cite this