多核处理器的密集线性代数软件堆栈的共同设计

摘要:在这篇论文中,我们主张采用交织设计的密集线性代数软件栈,打破LAPACK(线性代数包)中高级阻塞算法与BLAS(基本线性代数子程序)中低级架构相关内核之间的严格隔离。具体而言,我们建议根据LAPACK中相关矩阵分解的阻塞算法调用的GEMM(通用矩阵乘法)内核来优化性能,以适应具有层次化缓存存储器的现代多核处理器。为了实现这一目标,我们利用分析模型根据矩阵操作数的形状动态调整GEMM的缓存配置参数。此外,我们还提供了一种灵活的架构特定微内核开发方法,可以进一步提高缓存层次结构的利用率。 我们在两个平台上进行的实验证明了这种方法在缓存利用和总体性能方面的优势。然而,实验也揭示了在优化多线程并行性和缓存使用之间的微妙平衡。

作者:H''ector Mart''inez, Sandra Catal''an, Francisco D. Igual, Jos''e R. Herrero, Rafael Rodr''iguez-S''anchez, Enrique S. Quintana-Ort''i

论文ID:2304.14480

分类:Distributed, Parallel, and Cluster Computing

分类简称:cs.DC

提交时间:2023-05-01

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