批量矩阵奇异值分解的并行协同体系设计方法及装置与流程



1.本发明涉及并行协同体系技术领域,具体为批量矩阵奇异值分解的并行协同体系设计方法及装置


背景技术:



2.在海洋数据同化的核心算法中,需要批量对不同大小的矩阵进行奇异值分解,在以往的计算过程中,通过多cpu并行方法开启多进程进行处理,最多可以同时处理两千个矩阵。为了提高并发性,可以通过计算装置对矩阵进行处理,计算装置通常包括dcu(deep computing unit)或gpu(graphic procrssing unit),本文中提到的计算装置代指dcu或gpu。通常情况下,使用计算装置自带的nvidia和amd数学库(cusolver、rocsolver)中的矩阵svd批处理函数对矩阵进行批量处理。
3.在计算装置数学库中使用的svd算法为qr迭代算法,该算法在计算过程中存大量的逻辑判断,对于计算装置来说,这种逻辑判断会极大的影响矩阵的运算效率;目前对矩阵进行svd分解的算法是qr迭代算法,此算法在计算过程中存在着大量的逻辑判断,这种逻辑判断在异构平台上,会严重的影响运行效率。例如,32个线程在同时运行程序,其中一个进程在逻辑判断中判断出来“否”,剩余31个线程在逻辑判断中判断出来“是”,那么gpu-dcu会先运行逻辑判断为“否”的线程下的程序,其余31个线程在等待这一个线程运行完,再运行它们的程序,这就影响了设备的运行效率。
4.为此,我们提出批量矩阵奇异值分解的并行协同体系设计方法及装置。


技术实现要素:



5.本发明的目的在于提供批量矩阵奇异值分解的并行协同体系设计方法及装置,以解决上述背景技术中提出的问题。
6.为实现上述目的,本发明提供如下技术方案:批量矩阵奇异值分解的并行协同体系设计方法及装置,包括以下步骤:
7.s1:将批量矩阵拷贝到计算装置;
8.s2:进行householder分解,将所有矩阵二对角化,得到双对角矩阵,并保留每步的householder矩阵;
9.s3:将矩阵二对角化后得到的双对角矩阵和每步的householder矩阵拷贝从设备的显存拷贝到计算机内存中;
10.s4:通过cpu进行逻辑判断判断现有的上双对角型矩阵进行遍历,每次对双对角矩阵进行逻辑判断,判断它要用upward算法迭代,还是backward算法迭代。
11.s5:将双对角矩阵进行qr迭代,最终得到对角矩阵,对角线上的值为奇异值,保存迭代结果。
12.s6:将qr迭代结果和householder分解的迭代结果拷贝到计算装置,在计算装置上进行累乘,得到的结果矩阵为奇异矩阵。
13.s7:最终将奇异矩阵拷贝到内存中,计算结束。
14.进一步的,所述计算装置指dcu或gpu其中的一种。
15.进一步的,所述计算装置自带的nvidia和amd数学库中的矩阵svd批量处理函数对矩阵进行批量处理。
16.进一步的,所述矩阵svd批量处理函数的算法为qr迭代算法。
17.进一步的,奇异值分解算法中逻辑判断部分交给cpu处理。
18.进一步的,所述计算装置只做数值计算部分。
19.进一步的,所述dcu对矩阵进行svd分解。
20.与现有技术相比,本发明的有益效果是:提供批量矩阵奇异值分解的并行协同体系设计方法及装置,将svd算法的逻辑判断部分移植到cpu上处理,发挥cpu处理算法的优势,计算装置只进行它擅长的计算部分,从而发挥每个设备的优势,进而提高整体计算效率;
21.利用dcu,同时对8192个矩阵进行svd分解,官方数学库的运算时间为38s左右,而我们优化后的函数运行时间仅为4s左右,通过这种方式大幅提高了算法的整体计算效率。
附图说明
22.图1为现有的传统单个矩阵svd分解简易流程图;
23.图2为本发明计算装置版矩阵svd分解简易流程图。
具体实施方式
24.为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明。
25.如图2所示,该提供批量矩阵奇异值分解的并行协同体系设计方法及装置,包括以下步骤:将批量矩阵拷贝到计算装置,推荐使用锁页内存,计算装置指dcu或gpu其中的一种,所述计算装置自带的nvidia和amd数学库中的矩阵svd批量处理函数对矩阵进行批量处理,所述矩阵svd批量处理函数的算法为qr迭代算法,所述计算装置只做数值计算部分,将算法达到用cpu-dcu协同处理的目的,充分利用cpu和计算装置各自在计算中的优势部分,最终提高奇异值分解的计算效率,所述dcu对矩阵进行svd分解;进行householder分解,将所有矩阵二对角化,得到双对角矩阵,并保留每步的householder矩阵;将矩阵二对角化后得到的双对角矩阵和每步的householder矩阵拷贝从设备的显存拷贝到计算机内存中;通过cpu进行逻辑判断判断现有的上双对角型矩阵进行遍历,每次对双对角矩阵进行逻辑判断,判断它要用upward算法迭代,还是backward算法迭代,奇异值分解算法中逻辑判断部分交给cpu处理;将双对角矩阵进行qr迭代,最终得到对角矩阵,对角线上的值为奇异值,保存迭代结果;将qr迭代结果和householder分解的迭代结果拷贝到计算装置,在计算装置上进行累乘,得到的结果矩阵为奇异矩阵;最终将奇异矩阵拷贝到内存中,计算结束;利用dcu,同时对8192个矩阵进行svd分解,官方数学库(rocsolver)的运算时间为38s左右,而我们优化后的函数运行时间仅为4s左右,通过这种方式大幅提高了算法的整体计算效率。
26.工作原理:在使用该批量矩阵奇异值分解的并行协同体系设计方法及装置时,使用时,将矩阵拷贝到异构设备储存中,进行householder分解,将所有矩阵二对角化,得到双
对角矩阵,并保留每步的householder矩阵,将矩阵二对角化后得到的双对角矩阵和每步的householder矩阵拷贝从设备的显存拷贝到计算机内存中,通过cpu进行逻辑判断判断现有的上双对角型矩阵进行遍历,每次对双对角矩阵进行逻辑判断,判断它要用upward算法迭代,还是backward算法迭代,将双对角矩阵进行qr迭代,最终得到对角矩阵,对角线上的值为奇异值,保存迭代结果,将qr迭代结果和householder分解的迭代结果拷贝到计算装置,在计算装置上进行累乘,得到的结果矩阵为奇异矩阵,最终将奇异矩阵拷贝到内存中,计算结束。
27.以上的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。


技术特征:


1.批量矩阵奇异值分解的并行协同体系设计方法及装置,其特征在于,包括以下步骤:s1:将批量矩阵拷贝到计算装置;s2:进行householder分解,将所有矩阵二对角化,得到双对角矩阵,并保留每步的householder矩阵;s3:将矩阵二对角化后得到的双对角矩阵和每步的householder矩阵拷贝从设备的显存拷贝到计算机内存中;s4:通过cpu进行逻辑判断判断现有的上双对角型矩阵进行遍历,每次对双对角矩阵进行逻辑判断,判断它要用upward算法迭代,还是backward算法迭代;s5:将双对角矩阵进行qr迭代,最终得到对角矩阵,对角线上的值为奇异值,保存迭代结果;s6:将qr迭代结果和householder分解的迭代结果拷贝到计算装置,在计算装置上进行累乘,得到的结果矩阵为奇异矩阵;s7:最终将奇异矩阵拷贝到内存中,计算结束。2.根据权利要求1所述的批量矩阵奇异值分解的并行协同体系设计方法及装置,其特征在于,所述计算装置指dcu或gpu其中的一种。3.根据权利要求1所述的批量矩阵奇异值分解的并行协同体系设计方法及装置,其特征在于,所述计算装置自带的nvidia和amd数学库中的矩阵svd批量处理函数对矩阵进行批量处理。4.根据权利要求3所述的批量矩阵奇异值分解的并行协同体系设计方法及装置,其特征在于,所述矩阵svd批量处理函数的算法为qr迭代算法。5.根据权利要求1所述的批量矩阵奇异值分解的并行协同体系设计方法及装置,其特征在于,奇异值分解算法中逻辑判断部分交给cpu处理。6.根据权利要求1所述的批量矩阵奇异值分解的并行协同体系设计方法及装置,其特征在于,所述计算装置只做数值计算部分。7.根据权利要求2所述的批量矩阵奇异值分解的并行协同体系设计方法及装置,其特征在于,所述dcu对矩阵进行svd分解。

技术总结


本发明公开了批量矩阵奇异值分解的并行协同体系设计方法及装置,将批量矩阵拷贝到计算装置;进行Householder分解,将所有矩阵二对角化,得到双对角矩阵,并保留每步的Householder矩阵;将矩阵二对角化后得到的双对角矩阵和每步的Householder矩阵拷贝从设备的显存拷贝到计算机内存中;通过CPU进行逻辑判断判断现有的上双对角型矩阵进行遍历,每次对双对角矩阵进行逻辑判断,判断它要用Upward算法迭代,还是Backward算法迭代。该批量矩阵奇异值分解的并行协同体系设计方法及装置,将SVD算法中的逻辑判断通过CPU进行去处理,将规模比较大的计算放到了计算装置中去处理,中间的通信,通过锁页内存提高效率,从而大幅提高了算法的运行效率。了算法的运行效率。了算法的运行效率。


技术研发人员:

车传辉 刘新斌 王炳杰 吴多学

受保护的技术使用者:

山东易华录信息技术有限公司

技术研发日:

2022.10.17

技术公布日:

2023/2/23

本文发布于:2024-09-21 22:14:40,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/58564.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:矩阵   装置   分解   算法
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议