高级检索

    基于PPR模型的稀疏矩阵向量乘及卷积性能优化研究

    Research on Optimal Performance of Sparse Matrix-Vector Multiplication and Convoulution Using the Probability-Process-Ram Model

    • 摘要: 稀疏矩阵向量乘和卷积作为高性能计算的两大计算核心, 是非规则和规则访存的典型代表.目前已经做了许多针对性的优化工作, 但是对于大量运行着不同指令集和拥有不同计算和访存性能的机器, 仍然无法判定在特定的体系结构下导致性能效率无法被完全释放的主要原因及性能瓶颈, 同时也很难准确预测出程序在特定机器上可达到的最佳性能.通过使用性能模型方法, 建模程序在真实机器上的运行细节, 可以得出更加精确的性能预测, 并且根据模型输出的反馈信息提出针对性的优化指导.提出了PPR(probability-process-ram)模型, 并在一个通用处理器上建模程序内指令执行和数据传输开销, 其中包括使用模型预测各种指令数量及内存层次之间的数据传输大小去分析程序各个阶段的性能瓶颈, 并且根据模型反馈的信息提出优化方案以及优化后的性能期望.最终使用PPR建模和优化2个计算核心, 同时也比较了与常用的Roofline和ECM模型的区别.

       

      Abstract: Performance models provide insightful perspectives to allow us to predict performance and propose optimization guidance. Although there has been much research, pinpointing bottlenecks of various memory access patterns and reaching high performance of both regular and irregular programs on various hardware configurations are still not trivial. In this work, we propose a novel model called probability-process-ram (PPR) to quantify the amount of compute and data transfer time on general-purpose multicore processors. The PPR model predicts the number of instruction for single-core and probability of memory access between each memory hierarchy through a newly designed cache simulator. By using the automatically extracted best optimization method and expectation, we use PPR model for analyzing and optimizing sparse matrix-vector multiplication and 1D convolution as case study for typical irregular and regular computational kernels. Then we obtain best block sizes for sparse matrices with various sparsity structures, as well as optimal optimization guidance for 1D convolution with different instruction sets support and data sizes. Comparison with Roofline model and ECM model, the proposed PPR model greatly improves prediction accuracy by the newly designed cache simulator and achieves comprehensive feedback ability.

       

    /

    返回文章
    返回