System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及高性能计算领域,尤其涉及一种基于新一代国产众核处理器的自适应spmv方法。
技术介绍
1、稀疏矩阵向量乘法(sparse matrix vector multiplication,spmv)是高性能计算领域中的一个经典算子,其不仅在科学与工程应用中有着重要作用,并且在图形处理、网络分析、机器学习等多个领域都有着广泛的应用。目前,随着科学研究和技术发展对更高精度及更大规模问题解决能力需求的增长,开发更加快速高效的spmv方法变得尤为重要。尤其是对于那些具有独特架构特性的处理器而言,如何充分利用具体硬件特点进一步提升计算效率是当前spmv研究的重要课题。
2、稀疏矩阵向量乘法(spmv)所处理的矩阵含有大量的零元素,这意味着在实际运算过程中如果直接采用稠密矩阵的处理方式,将导致执行大量不必要的零元素乘法操作,极大浪费了计算资源和时间。
3、为解决这个问题,spmv在设计上往往采用特殊的存储格式对稀疏矩阵进行压缩存储。压缩稀疏行(compressed sparse row,csr)是一种广泛使用的基础稀疏矩阵压缩格式,特别适用于按行处理的稀疏矩阵运算。这种格式通过将矩阵中的非零元素及其相关信息进行紧凑存储来减少内存占用。csr主要由三个向量组成:1.val[nnz_len]:非零元素向量;2.ind[nnz_len]:非零元素列索引向量;3.ptr[rows+1]:行偏移向量,通过上述三个向量,csr格式可有效编码一个稀疏矩阵的完整信息。在执行spmv等需要频繁访问稀疏矩阵非零元素的操作时,csr
4、然而,基于csr的spmv虽避免了对零元素的冗余乘法运算,但同时也引入了新的挑战。csr在压缩非零元素的同时,将输入向量x的访存离散化,这将很大程度上影响spmv的整体性能。在csr中,与非零元素连续访存模式不同,输入向量x的访问是依赖于非零元素对应的列索引向量ind。
5、随着摩尔定律逐渐失效,现代高性能处理器架构设计逐渐向异构众核方向发展,以应对单个核心性能提升遇到的物理极限。这种转变不仅极大地提高了单片浮点计算能力,同时也使得存储访问瓶颈问题变得更加突出。新一代神威超级计算机采用了我国自主研发的异构众核处理器sw26010p,这款处理器在单片上的浮点运算能力达到的14tflops,同时提供了高达300gb/s的内存访存带宽。与前一代处理器sw26010相比,sw26010p进行了多方面的改进。尽管sw26010p在计算能力方面取得了显著进步,但其内存访问速度相较于日益增长的数据处理需求而言仍然存在一定的局限性。特别是在执行spmv等访存密集型算子时,其访存延迟和带宽限制成为了制约整体性能的关键因素。为了应对这个问题,sw26010p在从核ldm上的架构优化为进行spmv算法创新提供了新的可能性,也为提高spmv性能创造了有利条件。
6、目前,稀疏矩阵向量乘法(spmv)的研究大部分集中在基于传统cpu和gpu上。这些研究探索了多种优化策略,包括高效的稀疏矩阵存储格式、数据预取技术、以及并行计算方法等。近年来,随着国产超级计算机的发展,也有部分研究开始关注基于申威sw26010处理器的spmv算法设计。然而,由于新一代的sw26010p架构在多个方面进行了升级,比如增加了核组数量、扩展了局部数据存储(ldm)容量等,并支持更灵活的数据存储配置,因此需要开发能够充分利用这些新特性的spmv算法。
7、当前,针对sw26010p平台的现有spmv研究主要集中在两个方向:一是压缩格式的优化,通过改进csr等稀疏矩阵表示方法来减少内存占用并加速数据访问;二是自动调优机制的应用,旨在根据实际运行时的具体情况动态调整算法参数或执行路径,从而达到最佳性能。尽管这些努力已经在一定程度上提升了spmv在sw26010p上的表现,但考虑到该架构的独特性,目前仍有进一步优化的空间。特别地,如何有效地利用共享ldm来改善对向量x的不规则访存问题,以及如何更好地结合私有ldm与硬件cache的优势以实现更高的数据局部性和计算效率,是当前亟待解决的关键问题。
8、spmv是典型的访存密集型应用,其关键性能瓶颈在于对向量x的离散访问模式。与稠密矩阵运算不同,spmv中对输入向量x的访问通常是基于稀疏矩阵中的非零元素列索引ind进行的,这导致了不规则且随机的数据访问模式。传统上,解决这种访存问题的方法之一是利用硬件cache来提高数据访问效率,即通过将最近或频繁访问的数据保存在高速缓存中,以减少对外部内存的直接访问次数。然而,这种方法的有效性高度依赖于稀疏矩阵中非零元素的分布特性。如果非零元素在矩阵中的分布具有良好的局部性,即它们在相邻位置上相对集中,则硬件cache能够有效地工作;反之,如果非零元素分布非常分散,则会导致较高的未命中率和频繁的cache line淘汰现象。
9、以sw26010p处理器为例,它支持多种大小的硬件cache设置,包括0kb、32kb和128kb三种配置选项,其中每个cache line的大小为256字节,可以容纳32个双精度浮点数。当稀疏矩阵每行中的非零元素在列上的分布具有良好局部性时,这意味着这些非零元素对应的输入向量x元素位置相对接近,此时硬件cache能够有效工作。因为一次cache line加载可以同时满足多个连续的x元素访问需求,从而实现较高的cache命中率。这样的布局有利于减少cache未命中带来的额外开销,提高了整体计算效率。例如,如果一个cache line内包含了某个稀疏矩阵行中所有需要访问的向量x元素,那么这一行的所有乘加操作都可以高效地完成而不需要再次访问主内存。
10、然而,如果稀疏矩阵的非零元素分布呈现出较差的局部性,那么即使使用较大的cache也无法保证高效的数据访问。在这种情况下,硬件cache可能会经历高频率的未命中事件,这意味着需要频繁地从主存重新加载新的数据到cache中。此外,由于cache容量有限,新加载的数据很可能会替换掉之前有用但尚未被使用的数据。频繁的cache line淘汰不仅增加了额外的数据传输延迟,还可能导致cache无法充分发挥作用,严重影响spmv的整体性能。因此,在设计针对sw26010p架构的spmv算法时,必须思考如何改善对输入向量x的访问模式,使其更适应特定的ldm配置,以及如何对稀疏矩阵行块的局部性进行评估,从而根据其访存局部性特点采用适配的spmv策略。
技术实现思路
1、有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是现有针对申威系列处理器的自适应spmv方法粒度粗、未充分挖掘架构特性、处理访存局部性较差等问题。本专利技术提供了一种基于新一代国产众核处理器的自适应spmv方法,通过pmu采集数据对spmv的稀疏矩阵行块的局部性进行评估,并利用共享ldm缓存输入向量x的spmv方法以处理访存局部性较差的行块,实现细粒度自适应、充分发挥sw2本文档来自技高网...
【技术保护点】
1.一种基于新一代国产众核处理器的自适应SpMV方法,其特征在于,包括以下步骤:
2.如权利要求1所述的一种基于新一代国产众核处理器的自适应SpMV方法,其特征在于,步骤S101,设置启动参数,具体包括:
3.如权利要求1所述的一种基于新一代国产众核处理器的自适应SpMV方法,其特征在于,步骤S102,获取SpMV参数,具体包括:
4.如权利要求1所述的一种基于新一代国产众核处理器的自适应SpMV方法,其特征在于,步骤S103,设置并装载主存中输入向量x到共享LDM中向量sx,包括空间大小模式设置与输入向量x装载两个步骤,具体包括:
5.如权利要求4所述的一种基于新一代国产众核处理器的自适应SpMV方法,其特征在于,装载输入向量x至共享LDM向量sx,使用一种基于簇的高亲和性共享LDM装载方法,具体包括:
6.如权利要求1所述的一种基于新一代国产众核处理器的自适应SpMV方法,其特征在于,步骤S104,设置私有LDM局存空间,用于行块、批量进行SpMV的数据缓存空间。
7.如权利要求6所述的一种基于新一代国产
8.如权利要求1所述的一种基于新一代国产众核处理器的自适应SpMV方法,其特征在于,步骤S105,划分SpMV行块负载,具体是按预设BLOCK_SIZE行划分行若干行块。
9.如权利要求1所述的一种基于新一代国产众核处理器的自适应SpMV方法,其特征在于,步骤S106,若有剩余行块待处理,则从核取行块,否则退出,具体包括:若有剩余行块待处理,则从核按从核号_PEN从矩阵取行块负载进行计算;若剩余行数不足预设BLOCK_SIZE,则以剩余行数为一行块进行计算;计算实际行块行数block_size若无剩余行块,则从核退出。
10.如权利要求1所述的一种基于新一代国产众核处理器的自适应SpMV方法,其特征在于,步骤S107,装载行块行偏移向量dptr并初始化行块输出向量dy,具体包括行块行偏移向量dptr装载,以_PEN*BLOCK_SIZE为偏移row_gbgn,从主存行偏移向量ptr中取长度为block_size+1个int类型的片段向量到LDM局存行块行偏移向量dptr中。
...【技术特征摘要】
1.一种基于新一代国产众核处理器的自适应spmv方法,其特征在于,包括以下步骤:
2.如权利要求1所述的一种基于新一代国产众核处理器的自适应spmv方法,其特征在于,步骤s101,设置启动参数,具体包括:
3.如权利要求1所述的一种基于新一代国产众核处理器的自适应spmv方法,其特征在于,步骤s102,获取spmv参数,具体包括:
4.如权利要求1所述的一种基于新一代国产众核处理器的自适应spmv方法,其特征在于,步骤s103,设置并装载主存中输入向量x到共享ldm中向量sx,包括空间大小模式设置与输入向量x装载两个步骤,具体包括:
5.如权利要求4所述的一种基于新一代国产众核处理器的自适应spmv方法,其特征在于,装载输入向量x至共享ldm向量sx,使用一种基于簇的高亲和性共享ldm装载方法,具体包括:
6.如权利要求1所述的一种基于新一代国产众核处理器的自适应spmv方法,其特征在于,步骤s104,设置私有ldm局存空间,用于行块、批量进行spmv的数据缓存空间。
7.如权利要求6所述的一种基于新一代国产众核...
【专利技术属性】
技术研发人员:刘垚,韩正愿,姜琼,易朝鹏,许跃蓬,
申请(专利权)人:华东师范大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。