这篇论文提出了在神威太湖之光上的SpMV框架,这篇和前两篇有一个共同的作者李肯立,查了一下现在的情况是:“2022年9月至今,湖南大学党委常委、副校长,兼信息科学与工程学院院长、国家超级计算长沙中心主任”。
神威太湖之光一共有40960个SW26010处理器,每个SW26010处理器有4个Core Group(CG),每个CG有64个Computing Processing Element(CPE)。除此之外每个CG还有一个Management Processing Element(MPE)核,所以一个处理器一共有260个核,整个神威太湖之光有10,649,600核,超过一千万。
每个CG有8GB的DDR3内存,供其中的核心访问。其中MPE有32KB的L1 data cache和256KB的L2 data/instruction cache。每个CPE有一个16KB的L1 instruction cache和64KB的Scrath Pad Memory(SPM),这个SPM也被称为Local Data Memory(LDM)。
CPE访存有两种方式,一种是直接访存,一种是使用DMA进行大量连续数据的存取。CPE没有cache,DMA一定程度上代替了cache的作用,DMA的访存是远远快于直接访存的。但访存的数据是连续的内存,大小大于512B,并且是128B的倍数,那么使用DMA访存可以达到34GB/s的峰值速度。
SW26010处理器的结构示意图如下:

通用的SpMV方法在神威太湖之光上的执行有以下瓶颈:
-
Storage limitation:LDM的空间比较小,一次能装的数据少,很多时候一个LDM甚至装不下大型稀疏矩阵一行(列)的数

该论文提出了一种在神威太湖之光超算上的SpMV框架,针对处理器结构进行优化,包括四路分区策略、自动调优器、加速SpMV算法以及硬件优化,以解决存储限制、负载不平衡和不规则内存访问问题。通过列乘法和行累加的计算流程,以及SIMD技术、DMA带宽优化等,显著提升了计算性能。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



