【技术实现步骤摘要】
一种稀疏矩阵向量乘法向量化实现方法
本专利技术涉及多核向量处理器
,尤其涉及一种面向多核向量处理器的稀疏矩阵向量乘法向量化实现方法。
技术介绍
HPL(HighPerformanceLinpack)是评测高性能计算机系统性能的最重要基准测试程序,也是主要的评测指标。HPL求解的是大规模稠密线性方程组,具有良好的数据局部性,容易开发并行性和局部性。然而,随着高性能应用的不断发展,大量的科学计算应用,如大规模海洋天气预报,其应用特征与HPL并不相符。由此,自2013年以来,HPCG(HighPerformanceConjugateGradient)被作为一种新的基准测试程序,用以补充高性能计算机系统的性能评测。HPCG作为主要的高性能计算机系统性能测试基准之一,是采用区域分解(DomainDecomposition)、多重网格(Multigrid)和高斯-赛德尔预条件共轭梯度法(PreconditionedConjugateGradient)求解大型稀疏方程组,其特点是计算访存比低、内存访问不规则和细粒度的迭代计算 ...
【技术保护点】
1.一种面向多核向量处理器的稀疏矩阵向量乘法向量化实现方法,其特征在于,步骤包括:/n步骤1.按照TELL数据格式进行数据存储:在DDR中分别构建第一矩阵AV、第二矩阵AC,按行读取待计算稀疏矩阵A中非0元素数据值并按列存储在所述第一矩阵AV中,将各所述非0元素数据值所对应的列索引值按列存储在所述第二矩阵AC中;/n步骤2.在AM中配置第一数据缓冲区BUFFER_AV1、第二数据缓冲区BUFFER_AX1;/n步骤3.将待计算稠密向量x、所述第二矩阵AC中数据分别从DDR传输到GSM;/n步骤4.从DDR中依次传输所述第一矩阵AV中数据到所述第一数据缓冲区BUFFER_AV ...
【技术特征摘要】
1.一种面向多核向量处理器的稀疏矩阵向量乘法向量化实现方法,其特征在于,步骤包括:
步骤1.按照TELL数据格式进行数据存储:在DDR中分别构建第一矩阵AV、第二矩阵AC,按行读取待计算稀疏矩阵A中非0元素数据值并按列存储在所述第一矩阵AV中,将各所述非0元素数据值所对应的列索引值按列存储在所述第二矩阵AC中;
步骤2.在AM中配置第一数据缓冲区BUFFER_AV1、第二数据缓冲区BUFFER_AX1;
步骤3.将待计算稠密向量x、所述第二矩阵AC中数据分别从DDR传输到GSM;
步骤4.从DDR中依次传输所述第一矩阵AV中数据到所述第一数据缓冲区BUFFER_AV1;
步骤5.读取所述第二矩阵AC中的列索引值,按照读取的所述列索引值从GSM中读取待计算稠密向量x的数据值,并传输到所述第二数据缓冲区BUFFER_AX1;
步骤6.向量处理器对所述第一数据缓冲区BUFFER_AV1、第二缓冲区BUFFER_AX1中的数据执行向量化计算,直至完成稀疏矩阵向量乘法Ax=b中结果向量b的所有计算。
2.根据权利要求1所述的面向多核向量处理器的稀疏矩阵向量乘法向量化实现方法,其特征在于:所述步骤1中按照TELL数据格式进行数据存储时,还包括对所述第一矩阵AV中非0元素的个数小于maxnonzeros的列进行补0操作,并将所述第二矩阵AC中对应列的剩余元素的列索引值设置为指定负值步骤,其中maxnonzeros为所述待计算稀疏矩阵A的每行中非0元素的最大个数。
3.根据权利要求2所述的面向多核向量处理器的稀疏矩阵向量乘法向量化实现方法,其特征在于,所述步骤1的具体步骤包括:遍历所述待计算稀疏矩阵A的每一行;遍历过程中,取第i行为当前行,i=0,1,2……,n,n为所述待计算稀疏矩阵A的行数,遍历所述待计算稀疏矩阵A的第i行,将第i行的每一个非0元素值依次存储在所述第一矩阵AV的第i列,将第i行的每一个非0元素值对应的列索引值依次存储在所述第二矩阵AC的第i列,其中若所述第二矩阵AV的第i列中非0元素个数小于maxnonzeros,则将该第i列的剩余元素的数据值设置为0,将所述第二矩阵AC中对应列的剩余元素的列索引值设为指定负值。
4.根据权利要求2所述的面向多核向量处理器的稀疏矩阵向量乘法向量化实现方法,其特征在于:所述第一数据缓冲区BUFFER_AV1的规模为maxnonzeros*(p*c*k),所述第二数据缓冲区BUFFER_AX1的规模为maxnonzeros*(p*c*k),其中p为向量处理器的VPE个数,c为VPE支持的FMAC单元数,AM的容量为s字节,计算的数据宽度为d字节,k为满足下式的最大整数:
(maxnonzeros*(p*c*k)+maxnonzeros*(p*c*k)+1*(p*c*k))*d<=s/2
其中,maxnonzeros为所述待计算稀疏矩阵A的每行中非0元素的最大个数。
5.根据权利要求4所述的面向多核向量处理器的稀疏矩阵向量乘法向量化实现方法,其特征在于,所述步骤2中还包括配置第三数据缓冲区BUFFER_B1,所述第三数据缓冲区BUFFER_B1的规模为1*(p*c*k),所述步骤6中每次计算得到的结果存储在所述...
【专利技术属性】
技术研发人员:刘仲,郭阳,鲁建壮,田希,李程,陈海燕,刘胜,陈小文,雷元武,王丽萍,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。