The emergence of heterogeneity in high-performance computing, which harnesses under one integrated system several platforms of different architectures, also led to the development of innovative cross-platform programming models. Along with the expectation that these models will yield computationally intensive performance, there is demand for them to provide a reasonable degree of performance portability. Therefore, new tools and metrics are being developed to measure and calculate the level of performance portability of applications and programming models. The ultimate measure of performance portability is performance efficiency. Performance efficiency refers to the achieved performance as a fraction of some peak theoretical or practical baseline performance. Application efficiency approaches are the most popular and attractive performance efficiency measures among researchers because they are simple to measure and calculate. Unfortunately, the way they are used yields results that do not make sense, while violating one of the basic criteria that defines and characterizes the performance portability metrics. In this paper, we demonstrate how researchers currently use application efficiency to calculate the performance portability of applications and explain why this method deviates from its original definition. Then, we show why the obtained results do not make sense and propose practical solutions that satisfy the definition and criteria of performance portability metrics.
翻译:高性能计算中异构性的出现,将不同架构的多种平台整合于一个集成系统之下,同时也推动了创新的跨平台编程模型的发展。除了期望这些模型能提供计算密集型性能外,还要求它们具备合理的性能可移植性。因此,新的工具和指标正在被开发,用以衡量和计算应用程序及编程模型的性能可移植性水平。性能可移植性的最终度量是性能效率。性能效率是指所达到的性能占某个理论峰值或实际基线性能的比例。应用效率方法是研究者中最受欢迎和最具吸引力的性能效率度量方式,因为它们易于测量和计算。然而,不幸的是,当前的使用方式得出的结果往往缺乏意义,同时违背了定义和表征性能可移植性指标的基本准则之一。在本文中,我们展示了研究者目前如何使用应用效率来计算应用程序的性能可移植性,并解释了这种方法为何偏离其原始定义。接着,我们说明了所得结果为何不合理,并提出了满足性能可移植性指标定义和准则的实用解决方案。