Fine-grain data management directory for OpenMP 4.0 and OpenACC

Julien Jaeger, Patrick Carribault, Marc Pérache

Research output: Contribution to journalArticlepeer-review

Abstract

SummaryToday's trend to use accelerators in heterogeneous systems forces a paradigm shift in programming models. The use of low-level APIs for accelerator programming is tedious and not intuitive for casual programmers. To tackle this problem, recent approaches focused on high-level directive-based models, with a standardization effort made with OpenACC and the directives for accelerator in the latest OpenMP 4.0 release. The pragmas for data management automatically handle data exchange between the host and the device. To keep the runtime simple and efficient, severe restrictions hinder the use of these pragmas. To address this issue, we propose the design for a directory, along with a reduced runtime application binary interface, to handle correctly data management in these standards. A few improvements to our directory allow a more flexible use of data management pragmas, with negligible overhead. Our design fits a multi-accelerator system.

Original languageEnglish
Pages (from-to)1528-1539
Number of pages12
JournalConcurrency and Computation: Practice and Experience
Volume27
Issue number6
DOIs
Publication statusPublished - 25 Apr 2015
Externally publishedYes

Keywords

  • OpenACC
  • OpenMP 4.0
  • accelerator memory coherence
  • automatic tranfers
  • heterogeneous directory

Fingerprint

Dive into the research topics of 'Fine-grain data management directory for OpenMP 4.0 and OpenACC'. Together they form a unique fingerprint.

Cite this