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.
翻译:高性能计算中异构性的出现,将多种不同架构的平台整合于一个集成系统之下,同时也推动了创新的跨平台编程模型的发展。除了期望这些模型能够提供计算密集型性能之外,还要求它们具备合理的性能可移植性。因此,新的工具和指标正在被开发出来,以衡量和计算应用程序及编程模型的性能可移植性水平。性能可移植性的最终衡量标准是性能效率。性能效率是指所实现的性能占某个峰值理论或实际基线性能的比例。应用效率方法是研究人员中最受欢迎和最具吸引力的性能效率衡量标准,因为它们易于测量和计算。然而,不幸的是,当前的使用方式得出的结果缺乏意义,同时违反了定义和表征性能可移植性指标的基本准则之一。在本文中,我们展示了研究人员目前如何使用应用效率来计算应用程序的性能可移植性,并解释了这种方法为何偏离其原始定义。接着,我们说明了为何所得结果缺乏意义,并提出了满足性能可移植性指标定义和准则的实用解决方案。