2007
DOI: 10.1007/s10586-007-0011-1
|View full text |Cite
|
Sign up to set email alerts
|

Performance portability on EARTH: a case study across several parallel architectures

Abstract: Due to the increase of the diversity of parallel architectures, and the increasing development time for parallel applications, performance portability has become one of the major considerations when designing the next generation of parallel program execution models, APIs, and runtime system software. This paper analyzes both code portability and performance portability of parallel programs for finegrained multi-threaded execution and architecture models. We concentrate on one particular event-driven fine-grain… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
4
0

Year Published

2008
2008
2022
2022

Publication Types

Select...
5
1
1

Relationship

0
7

Authors

Journals

citations
Cited by 9 publications
(4 citation statements)
references
References 30 publications
0
4
0
Order By: Relevance
“…There are numerous definitions of performance portability, e.g. [34,22,29,28]. In this paper, we adopt the definition from [30]: the performance portability P of an application a that solves a problem p correctly on all platforms in a given set H is given by,…”
Section: Performance Portability Metricsmentioning
confidence: 99%
“…There are numerous definitions of performance portability, e.g. [34,22,29,28]. In this paper, we adopt the definition from [30]: the performance portability P of an application a that solves a problem p correctly on all platforms in a given set H is given by,…”
Section: Performance Portability Metricsmentioning
confidence: 99%
“…Definition 3 [34] P n P (b → t) = Sn t Sn b × 100% for program P, base system b, target system t and speed-up on n nodes S n . This definition is clearly objective and measurable, but comparison of these measurements is complicated (and may not be meaningful) because the scaling behavior of two applications does not necessarily reflect their absolute performance.…”
Section: Definitionmentioning
confidence: 99%
“…One similarity in all definitions was the intuition that a performance portable code should be able to run on a variety of machines. There have been many different approaches to solve this, including compiler directives such as OpenACC [24] and OpenMP, languages designed for performance portability such as Chapel [25] and PetaBricks [26], execution models such as EARTH [27], and using embedded domain specific languages such as OPS [6] and OP2 [28]. Template libraries have also been used to add performance portability to an application, examples of which include Kokkos [7] and RAJA [8].…”
Section: P Erformance Portabilitymentioning
confidence: 99%