[发明专利]一种基于超大规模稀疏矩阵分布式读取减少单节点内存的方法及系统在审
申请号: | 202110755290.0 | 申请日: | 2021-07-05 |
公开(公告)号: | CN115587279A | 公开(公告)日: | 2023-01-10 |
发明(设计)人: | 杜伟;田敏;张赞军;潘景山;刘弢 | 申请(专利权)人: | 山东省计算中心(国家超级计算济南中心) |
主分类号: | G06F17/16 | 分类号: | G06F17/16;G06F17/18;G06F9/50;G06F16/13 |
代理公司: | 济南金迪知识产权代理有限公司 37219 | 代理人: | 杨树云 |
地址: | 250014*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 超大规模 稀疏 矩阵 分布式 读取 减少 节点 内存 方法 系统 | ||
本发明涉及一种基于超大规模稀疏矩阵分布式读取减少单节点内存的方法及系统,超大规模稀疏矩阵通过Rutherford‑Boeing格式存储,包括:(1)为了矩阵运算方便和利于并行,将Rutherford‑Boeing格式转为行压缩,以行压缩格式存储数据;(2)节点计算各自分块矩阵行压缩的行指针、列索引以及非零元值;(3)节点将计算得到的各自行指针、列索引以及非零元值以行压缩格式写入各自文件;(4)当应用需要超大规模稀疏矩阵时,节点从各自文件中读取数据,结束。本发明多节点并行读入时,读取速度快,节点之间不用再分发数据,避免了通信拥挤,提升了整体性能。
技术领域
本发明涉及一种基于超大规模稀疏矩阵分布式读取减少单节点内存的方法及系统,属于数值 计算和计算机应用的技术领域。
背景技术
在矩阵中,如果数值为零的元素数目远远超过非零的元素个数,并且非零的元素没有规律(一 般非零元数量少于总矩阵元素的5%,甚至低于1%),那么称该矩阵为稀疏矩阵。
大规模稀疏矩阵在方程组求解的过程中需要存储,如果使用存储普通稠密矩阵的方式存储稀疏 矩阵,会占用大量的存储空间,即使在集群上可以存储,但大部分存储的元素都是零,也会造成内 存空间的浪费。减小大规模稀疏矩阵的存储量以及减小数值计算过程中通信量是十分有必要的。稀 疏矩阵有四种比较基础的存储格式,COO(坐标列表,Coordinate List)、CSR(稀疏行压缩,Compress Sparse Row)、CSC(稀疏列压缩,CompressSparse Column),ELLPACK。CSR和CSC是在COO 的基础上,分别对行和列进行的压缩。Rutherford-Boeing格式和CSC存储方式相同,多了一些存 储信息。
矩阵大多以Rutherford-Boeing格式存储。具体如下:
第1行:格式(A72,A8),A72为文件头的字符型解释,如刚度矩阵或质量矩阵等标题;A8 为矩阵名称或者ID号。
第2行:格式(I14,3(1X,I13)),分别表示该文件的总行数(不包括文件头)、矩阵列指针 的总行数、矩阵行索引的总行数、矩阵元素数值的总行数。
第3行:格式(A3,11X,4(1X,I13)),分别为A3是矩阵类型(第1个字符可取:R—实数矩阵、C—复数矩阵、I—整数矩阵、P—仅矩阵结构(无元素数值)、Q—矩阵结构(元素数值在相 关文件中);第2个字符可取:S—对称矩阵(对称矩阵只存储下三角元素)、U—不对称矩阵、H— Hermitian矩阵、Z—病态对称矩阵;R—带状矩阵;第3个字符可取:A—列压缩形式、E—基本形 式),其他的依次为矩阵行数、矩阵列数、非零元素的总数、矩阵元素数。
第4行:格式(2A16,A20),分别表示列指针格式、行索引格式、矩阵数值格式。
第5行后:矩阵列指针值、行索引值、非零元值。
行压缩是对矩阵按行压缩存储,采用三个数组nonzval、rowptr、colind来存储稀疏矩阵,数组 rowptr中的索引位置对应矩阵中非零元的行标号相对偏移。数组colind存储了各非零元在原稀疏矩 阵中的列索引。数组nonzval用来存储稀疏矩阵中所有非零元的值。如果矩阵的维数是n×n,非零 元的个数为nnz,用单个节点来存储矩阵,nonzval和colind的大小为nnz,rowptr的大小为n+1。
大规模稀疏矩阵存储问题是大规模稀疏线性方程组求解的一个重要问题,大规模稀疏线性方程 组求解广泛应用于电磁、力学、大气建模、生物学以及其他的计算科学与工程领域。各领域问题复 杂度的提高使得计算规模越来越大,如何加快大规模稀疏线性方程组的求解速度变得更加重要,其 中加快数据读取是很重要的一个环节。超大规模稀疏矩阵特别大,即使使用行压缩的方式存储,在 千万维时,存储量达到几十GB,若使用单节点来读入数据,耗时长,且当该节点给其他节点传输 矩阵数据时,由于网络带宽的限制,会造成数据无法传递。因此需要多节点共同读入。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东省计算中心(国家超级计算济南中心),未经山东省计算中心(国家超级计算济南中心)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110755290.0/2.html,转载请声明来源钻瓜专利网。