首页> 外文会议>High performance computing >KART - A Runtime Compilation Library for Improving HPC Application Performance
【24h】

KART - A Runtime Compilation Library for Improving HPC Application Performance

机译:KART-用于提高HPC应用程序性能的运行时编译库

获取原文
获取原文并翻译 | 示例
获取外文期刊封面目录资料

摘要

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 C++ library solution that allows developers to compile, link, and execute code (e.g., C, 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.
机译:提前进行编译器优化的有效性在很大程度上取决于编译时可用的信息量。仅在运行时可用的特定于输入的信息无法使用,尽管它通常确定循环计数,分支谓词和路径以及内存访问模式。这对于生成高效的SIMD矢量化代码也至关重要。这对于为百亿亿次级计算铺平道路的多核架构尤为重要,因为这种架构对代码优化更加敏感。我们探索了在编译时使用特定于输入的信息的设计空间,并提出了KART,一种C ++库解决方案,允许开发人员在应用程序运行时编译,链接和执行代码(例如C,C ++,Fortran)。除了仅对性能至关重要的代码进行运行时编译外,KART还可用于使用不同的输入,编译器和选项多次实例化同一代码。诸如自动调整和代码生成之类的其他技术可以集成到启用KART的应用程序中,而无需在其周围编写脚本。我们评估了不同合成内核的运行时和编译成本,并展示了两个实际应用程序HEOM和WSM6代理的有效性。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号