arrow
返回

KernelFaRer

delete2021-06-28
delete0
delete
OA
AI
DOI:10.1145/3459010delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
精心构建的库比使用高级优化编译器生成的代码性能高出许多。当应用程序源代码中发现存在经过优化的库实现代码模式时,最高性能的解决方案是将其替换为对库的调用。过去的惯用语识别方案要么需要编译框架之外的代码模式匹配机制,要么提供非常脆弱的解决方案,即使源代码中存在微小的变化也会失败。本文介绍了 Kernel Find & Replacer (KernelFaRer),一种完全在现有 LLVM 编译器框架中实现的惯用语识别器。KernelFaRer 的多功能性通过匹配和替换两种线性代数惯用语得到证明,包括通用矩阵-矩阵乘法(GEMM)和对称秩-2k 更新(SYR2K)。GEMM 和 SYR2K 在科学计算中广泛应用,而 GEMM 也是深度学习和计算机图形算法的核心构建模块。KernelFaRer 的惯用语识别比替代方案更稳健,编译开销更低,并且完全集成在广泛使用的 LLVM 编译工具中。KernelFaRer 将现有的 GEMM 和 SYR2K 惯用语替换为 BLAS、Eigen、MKL(Intel 的 x86)、ESSL(IBM 的 PowerPC)和 BLIS(AMD)执行的运算。性能提升高达手写源代码在最高优化级别下编译的 2000 倍,这证明了用库调用替换应用程序代码是一种高效的解决方案。

期刊

暂无期刊信息

机构

暂无机构信息
引用论文

引用论文

暂无论文信息