High-level adaptive program optimization with ADAPT

High-level adaptive program optimization with ADAPT
复制标题

使用 ADAPT 进行高级自适应程序优化

DOI:
10.1145/379539.379583
复制
发表时间:
2001
影响因子:
10.9
通讯作者:
R. Eigenmann
R. Eigenmann
中科院分区:
人文科学1区
文献类型:
--
作者:
Michael J. Voss;R. Eigenmann

文献摘要

被引文献

相似文献

编译时优化通常受到缺乏目标机器和输入数据集知识的限制。没有这些信息,可以强迫编译器做出保守的假设以保持正确性并避免绩效降级。为了应对编译时缺乏信息,可以使用自适应和动态系统在运行时执行优化,当可提供输入和机器参数的完整知识。本文介绍了编译器支持的高级自适应优化系统。用户在特定的语言中描述了由独立优化工具和后端编译器标志执行的优化,以及在运行时动态应用这些优化的启发式方法。 Adapt编译器读取这些描述,并生成针对应用程序的运行时系统以应用启发式方法。为了促进现有工具和编译器的使用,通过将优化与执行脱钩,从而最大程度地减少了开销。我们的系统适应最近提出的一系列范式,包括动态汇编,参数化和运行时采样。我们通过在两个目标机器上的一组基准测试中应用多个优化技术来证明我们的系统。 Adapt显示出始终超过静态生成的可执行文件,提高性能高达70%。
Compile-time optimization is often limited by a lack of target machine and input data set knowledge. Without this information, compilers may be forced to make conservative assumptions to preserve correctness and to avoid performance degradation. In order to cope with this lack of information at compile-time, adaptive and dynamic systems can be used to perform optimization at runtime when complete knowledge of input and machine parameters is available. This paper presents a compiler-supported high-level adaptive optimization system. Users describe, in a domain specific language, optimizations performed by stand-alone optimization tools and backend compiler flags, as well as heuristics for applying these optimizations dynamically at runtime. The ADAPT compiler reads these descriptions and generates application-specific runtime systems to apply the heuristics. To facilitate the usage of existing tools and compilers, overheads are minimized by decoupling optimization from execution. Our system, ADAPT, supports a range of paradigms proposed recently, including dynamic compilation, parameterization and runtime sampling. We demonstrate our system by applying several optimization techniques to a suite of benchmarks on two target machines. ADAPT is shown to consistently outperform statically generated executables, improving performance by as much as 70%.