摘要

Jacobi计算是一种模板计算,在科学计算领域具有广泛的应用.围绕Jacobi计算的性能优化是一个经典的课题,其中循环分块是一种较有效的优化方法.现有的循环分块主要关注分块对并行通信和程序局部性的影响,缺少对负载均衡和向量化等其他因素的考虑.面向多核计算架构,分析比较不同分块方法,并选择一种先进的六边形分块作为加速Jacobi计算的主要方法.在分块大小选择上,综合考虑分块对程序向量化效率、局部性和计算核负载均衡等多方面的影响,提出一种六边形分块大小选择算法Hexagon_TSS.实验表明所提算法相对原始串行程序计算方法,最好情况可将L1数据缓存失效率降低至其5.46%,最大加速比可达24.48,并且具有良好的可扩展性.

全文