2014
DOI: 10.1007/978-3-319-09873-9_68
|View full text |Cite
|
Sign up to set email alerts
|

A Pattern-Based Comparison of OpenACC and OpenMP for Accelerator Computing

Abstract: Nowadays, HPC systems frequently emerge as clusters of commodity processors with attached accelerators. Moving from tedious low-level accelerator programming to increased development productivity, the directive-based programming models OpenACC and OpenMP are promising candidates. While OpenACC was completed about two years ago, OpenMP just recently added support for accelerator programming. To assist developers in their decision-making which approach to take, we compare both models with respect to their progra… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
21
0
3

Year Published

2015
2015
2022
2022

Publication Types

Select...
3
3
2

Relationship

0
8

Authors

Journals

citations
Cited by 28 publications
(24 citation statements)
references
References 10 publications
0
21
0
3
Order By: Relevance
“…An in-depth investigation performed by Wienke et al [9] analysed the differences between OpenACC and OpenMP 4.0 and suggested that, while they are similar, OpenACC was slightly ahead of OpenMP 4.0 in terms of features. For instance, OpenACC 2.0 offers the tile and cache directives for optimisations, which are not present in OpenMP 4.0, however it does not include support for tasks or a mature implementation for targeting the CPU.…”
Section: Openacc and Cudamentioning
confidence: 99%
See 1 more Smart Citation
“…An in-depth investigation performed by Wienke et al [9] analysed the differences between OpenACC and OpenMP 4.0 and suggested that, while they are similar, OpenACC was slightly ahead of OpenMP 4.0 in terms of features. For instance, OpenACC 2.0 offers the tile and cache directives for optimisations, which are not present in OpenMP 4.0, however it does not include support for tasks or a mature implementation for targeting the CPU.…”
Section: Openacc and Cudamentioning
confidence: 99%
“…Dietrich et al [19] implemented a performance measurement library that allowed measurement of OpenMP 4.0 code running on the KNC architecture. Wienke et al [9] compared OpenMP 4.0 and OpenACC, predicting that OpenMP 4.0 would likely achieve best adoption in the long-term because it is such a prominent standard, and proposing performance evaluations as important future work.…”
mentioning
confidence: 99%
“…The reader may have noticed that OpenACC is similar to the OpenMP (Open Multi-Processing) language in several ways [14]; both environments are directive based, but OpenACC targets accelerators in general, while at this stage OpenMP targets mainly multi-core CPUs, even if the OpenMP project is clearly moving towards accelerators support. Regular C/C++ or Fortran code, already developed and tested on traditional CPU architectures, can be annotated with OpenACC pragma directives (e.g.…”
Section: Openaccmentioning
confidence: 99%
“…OpenACC is similar to the OpenMP (Open Multi-Processing) framework widely used to manage parallel codes on multi-core CPUs in several ways 6 ; both frameworks are directive based, but OpenACC targets accelerators in general, while at this stage OpenMP targets mainly multi-core CPUs; the latest release of OpenMP4 standard has introduced directives to manage also accelerators, but currently, compilers support is still limited. Regular C/C++ or Fortran code, already developed and tested on traditional CPU architectures, can be annotated with OpenACC pragma directives (e.g.…”
Section: Current Trends In Hpcmentioning
confidence: 99%
“…OpenMP 4 and OpenACC 5 are among the most common such programming models, already used by a wide scientific community. Both are based on directives: OpenMP was introduced to manage parallelism on traditional multi-core CPUs, while OpenACC is mainly used to target GPUs (although designed to be architecture agnostic) 6 . These two frameworks are in fact converging and extending their scope to cover a large subset of HPC applications and architectures: OpenMP version 4 has been designed to support also accelerators, while compilers supporting OpenACC (such as the PGI 8 ) are starting to use directives also to target multi-core CPUs.…”
Section: Introduction and Related Workmentioning
confidence: 99%