稠密线性代数的缓存感知性能建模与预测

摘要:稠密线性代数运算在无数应用程序中扮演着计算核心的角色。这些操作通常可以通过组合标准线性代数库(如BLAS和LAPACK)提供的例程来实现,通常每个操作都可以通过多种不同的方式得到。有趣的是,即使对于专家来说,鉴别出最快的实现(而不实际执行)也是一项具有挑战性的任务。同样具有挑战性的任务是将每个例程调整到性能最佳化的配置。事实上,这个问题非常困难,以至于库提供的默认值通常明显不是最优的;解决方案是通常需要通过执行和计时例程来驱动某种形式的参数搜索。在本文中,我们讨论了一种解决这两个问题的方法:确定一组备选方案中性能最佳的算法,并调整算法参数以获得最佳性能;在这两种情况下,我们都不执行算法本身。相反,我们的方法依赖于计时和建模算法底层的计算核心,并使用一种跟踪CPU缓存内容的技术。总的来说,我们的性能预测可以使得我们能够将稠密线性代数算法调整到最佳结果几乎相差无几的位置,从而使得计算科学家和代码开发人员能够高效地优化他们的线性代数例程和代码。

作者:Elmar Peise (1), Paolo Bientinesi (1) ((1) AICES, RWTH Aachen)

论文ID:1409.8602

分类:Performance

分类简称:cs.PF

提交时间:2014-10-01

PDF 下载: 英文版 中文版pdf翻译中