Exascaling Your Library: Will Your Implementation Meet Your Expectations?

Exascaling Your Library: Will Your Implementation Meet Your Expectations?
复制标题

DOI:
10.1145/2751205.2751216
复制
发表时间:
2015-06
期刊:
Proceedings of the 29th ACM on International Conference on Supercomputing
影响因子:
--
通讯作者:
Sergei Shudler;A. Calotoiu;T. Hoefler;A. Strube;F. Wolf
Sergei Shudler;A. Calotoiu;T. Hoefler;A. Strube;F. Wolf
中科院分区:
其他
文献类型:
--
作者:
Sergei Shudler;A. Calotoiu;T. Hoefler;A. Strube;F. Wolf

文献摘要

被引文献

相似文献

HPC领域的许多库封装了具有明确理论可伸缩性期望的复杂算法。然而,硬件限制或编程错误有时可能使这些期望不准确,甚至完全错误。虽然算法工程师已经提倡将分析性能模型与实际测量系统地结合很长一段时间,但我们更进一步,展示了这种比较如何成为自动化测试过程的一部分。我们的方法最重要的应用包括初始验证、回归测试,以及比较实现和平台备选方案的基准测试。推进性能断言的概念,我们验证渐近扩展趋势,而不是精确的解析表达式,从而减轻了开发人员必须指定和维护非常细粒度和可能不可移植的期望的负担。通过这种方式,可伸缩性验证可以在整个开发周期中持续应用,而且工作量很小。以MPI为例,我们将展示我们的方法如何帮助发现库和底层平台的非明显限制。
Many libraries in the HPC field encapsulate sophisticated algorithms with clear theoretical scalability expectations. However, hardware constraints or programming bugs may sometimes render these expectations inaccurate or even plainly wrong. While algorithm engineers have already been advocating the systematic combination of analytical performance models with practical measurements for a very long time, we go one step further and show how this comparison can become part of automated testing procedures. The most important applications of our method include initial validation, regression testing, and benchmarking to compare implementation and platform alternatives. Advancing the concept of performance assertions, we verify asymptotic scaling trends rather than precise analytical expressions, relieving the developer from the burden of having to specify and maintain very fine grained and potentially non-portable expectations. In this way, scalability validation can be continuously applied throughout the whole development cycle with very little effort. Using MPI as an example, we show how our method can help uncover non-obvious limitations of both libraries and underlying platforms.