arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2103.01304cs.DC
收藏

通过执行路径的统计分析加速分布式存储器的自动调整

Accelerating Distributed-Memory Autotuning via Statistical Analysis of Execution Paths

Edward Hutter, Edgar Solomonik

摘要:

大规模自动性能调优的高昂费用在很大程度上限制了对共享内存和GPU架构库的自动调优。我们介绍了一个框架,近似自动调整,实现了所需的信心,在每个算法配置的性能,通过构建置信区间来描述个别内核(基准程序的子程序)的性能。一旦内核的性能被认为对于一组输入是足够可预测的,则避免后续调用,并用执行时间的预测模型代替。然后,我们利用在线执行路径分析来协调选择性的内核执行和传播每个内核的统计配置文件。这种策略在频繁循环的计算和通信内核的存在下是有效的,这是数值线性代数算法的特征。我们封装这个框架的一部分,一个新的分析工具,克里特,自动内核执行决策和传播统计配置文件沿关键路线的执行。我们使用Stampede2上最先进的Cholesky和QR分解的分布式内存实现来评估我们的选择性执行方法所获得的性能预测准确性,并展示了高达7.1倍的速度提升和98%的预测准确性。

英文摘要:

The prohibitive expense of automatic performance tuning at scale has largely limited the use of autotuning to libraries for shared-memory and GPU architectures. We introduce a framework for approximate autotuning that achieves a desired confidence in each algorithm configuration's performance by constructing confidence intervals to describe the performance of individual kernels (subroutines of benchmarked programs). Once a kernel's performance is deemed sufficiently predictable for a set of inputs, subsequent invocations are avoided and replaced with a predictive model of the execution time. We then leverage online execution path analysis to coordinate selective kernel execution and propagate each kernel's statistical profile. This strategy is effective in the presence of frequently-recurring computation and communication kernels, which is characteristic to algorithms in numerical linear algebra. We encapsulate this framework as part of a new profiling tool, Critter, that automates kernel execution decisions and propagates statistical profiles along critical paths of execution. We evaluate performance prediction accuracy obtained by our selective execution methods using state-of-the-art distributed-memory implementations of Cholesky and QR factorization on Stampede2, and demonstrate speed-ups of up to 7.1x with 98% prediction accuracy.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑