KART - A Runtime Compilation Library for Improving HPC Application Performance

KART - A Runtime Compilation Library for Improving HPC Application Performance
复制标题

DOI:
10.1007/978-3-319-67630-2_29
复制
发表时间:
2017-06
期刊:
--
影响因子:
--
通讯作者:
M. Noack;Florian Wende;Georg Zitzlsberger;Michael Klemm;T. Steinke
M. Noack;Florian Wende;Georg Zitzlsberger;Michael Klemm;T. Steinke
中科院分区:
其他
文献类型:
--
作者:
M. Noack;Florian Wende;Georg Zitzlsberger;Michael Klemm;T. Steinke

文献摘要

被引文献

相似文献

提前编译器优化的有效性在很大程度上取决于编译时可用的信息量。不能使用仅在运行时可用的特定于输入的信息,尽管它通常确定循环计数、分支谓词和路径以及内存访问模式。它对于生成高效的SIMD矢量化代码也是至关重要的。这与为亿级计算铺平道路的多核体系结构尤其相关,这些体系结构对代码优化更加敏感。我们探索了在编译时使用特定于输入的信息的设计空间,并介绍了KART,这是一个库解决方案,允许开发人员在应用程序运行时编译、链接和执行代码(例如,C、、Fortran)。除了性能关键型代码的运行时编译之外,KART还可以用于使用不同的输入、编译器和选项多次实例化相同的代码。其他技术,如自动调优和代码生成,可以集成到支持KART的应用程序中,而不是围绕它编写脚本。我们评估了不同合成内核的运行时和编译成本,并展示了对两个真实世界的应用程序HEOM和WSM6代理的有效性。
The effectiveness of ahead-of-time compiler optimization heavily depends on the amount of available information at compile time. Input-specific information that is only available at runtime cannot be used, although it often determines loop counts, branching predicates and paths, as well as memory-access patterns. It can also be crucial for generating efficient SIMD-vectorized code. This is especially relevant for the many-core architectures paving the way to exascale computing, which are more sensitive to code-optimization. We explore the design-space for using input-specific information at compile-time and present KART, a library solution that allows developers to compile, link, and execute code (eg, C,, Fortran) at application runtime. Besides mere runtime compilation of performance-critical code, KART can be used to instantiate the same code multiple times using different inputs, compilers, and options. Other techniques like auto-tuning and code-generation can be integrated into a KART-enabled application instead of being scripted around it. We evaluate runtimes and compilation costs for different synthetic kernels, and show the effectiveness for two real-world applications, HEOM and a WSM6 proxy.