2021
DOI: 10.1109/mcse.2021.3097276
|View full text |Cite
|
Sign up to set email alerts
|

Navigating Performance, Portability, and Productivity

Abstract: The phrase "performance portability" is commonly used, but may mean different things to different people. Developing a better appreciation of the needs of different software developers and a framework for talking about these needs improves our ability to define goals, design experiments and make forward progress. This article discusses a methodology for quantifying, summarizing, visualizing, and understanding application performance portability and programmer productivity.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
21
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
4
2
2

Relationship

1
7

Authors

Journals

citations
Cited by 20 publications
(21 citation statements)
references
References 12 publications
0
21
0
Order By: Relevance
“…Performance results are presented in Figure 1 in the form of cascade plots [25], one for each reduction kernel. For each family of solid/dotted lines (which represent languages/frameworks), at each value N on the horizontal axis, the solid lines represent the minimum efficiency value of the N platforms with the highest efficiencies; the dotted lines show the P P scores [26].…”
Section: Performance Portability and Productivity Results And Analysismentioning
confidence: 99%
“…Performance results are presented in Figure 1 in the form of cascade plots [25], one for each reduction kernel. For each family of solid/dotted lines (which represent languages/frameworks), at each value N on the horizontal axis, the solid lines represent the minimum efficiency value of the N platforms with the highest efficiencies; the dotted lines show the P P scores [26].…”
Section: Performance Portability and Productivity Results And Analysismentioning
confidence: 99%
“…Recent studies (Pennycook et al, 2021) (Pennycook et al, 2019) provide a more concise definition of performance portability.…”
Section: Performance Portabilitymentioning
confidence: 99%
“…Performance portability has been regarded as a major concern in recent research, despite the ambiguity associated to the term (Neely, 2016). Recent studies (Pennycook et al, 2021) (Pennycook et al, 2019) define a performance portable application as an application that can solve a given problem achieving good performance on all of the supported hardware platforms. In Pennycook et al (2019), the authors propose even a metric for quantitatively measuring it, based on either the architectural or the application efficiency.…”
Section: Introductionmentioning
confidence: 99%
“…Even with the urgency of the challenge, there is still no consensus on a clear definition for the term "performance portability" [40,50]. In general, performance portability for an application means that a reasonable level of performance is achieved across a wide variety of computing architectures with the same source code.…”
Section: Performance Portabilitymentioning
confidence: 99%
“…Automated testing becomes even more important as performance portable libraries and frameworks improve and expand their capabilities. As discussed in [50], these libraries and frameworks strive to improve developer productivity by reducing programming complexity and the need for platform-specific tuning while maintaining and improving performance. Staying up-to-date with these libraries and frameworks becomes crucial for maintaining an active code base which utilizes the latest HPC machines; however, maintaining performance portability in the presence of active development can be a difficult task.…”
Section: Performance Portabilitymentioning
confidence: 99%