一种哈密顿矩阵正交归一化方法及装置与流程

文档序号:35871174发布日期:2023-10-28 04:59阅读:57来源:国知局
一种哈密顿矩阵正交归一化方法及装置与流程

本技术涉及数据处理领域,尤其涉及一种哈密顿矩阵正交归一化方法及装置。


背景技术:

1、矩阵乘法在科学和工程计算中被广泛使用,且在连续的矩阵乘法中经常需要转置矩阵参与运算。在量子化学计算中,对哈密顿矩阵做正交归一化,需要将转置的正交基组矩阵与哈密顿矩阵相乘,再和未转置的正交基组矩阵相乘。然而正交基组矩阵的尺寸会达到万级、百万级。在该矩阵的转置过程中,计算节点间的数据传输量十分庞大。如何能够高效的实现转置矩阵乘法,是量子化学计算中的重要问题。

2、分块计算常被用于实现矩阵乘法。现有多种算法优化了分块矩阵间的数据传输过程,保证计算前后的矩阵具有相同的输入、输出形式,从而便于实现连续的矩阵乘运算。例如cannon算法、fox算法。但这些算法,在处理转置矩阵参与的乘法计算时,需要计算节点间先进行复杂的数据交互后才能进行。对于量子化学计算中的正交基组矩阵而言,这种复杂的交互方式消耗了大量的计算时间,降低了计算效率。


技术实现思路

1、为了解决上述技术问题或者至少部分地解决上述技术问题,本技术提供了一种哈密顿矩阵正交归一化方法及装置。

2、根据本技术实施例的一个方面,提供了一种哈密顿矩阵正交归一化方法,包括:

3、获取计算任务,其中,所述计算任务携带多个哈密顿分块矩阵以及正交基组矩阵,所述哈密顿分块矩阵的矩阵大小与所述正交基组分块矩阵的矩阵大小一致;

4、确定待调用基础计算单元的数量,并将所述哈密顿分块矩阵以及所述正交基组分块矩阵存储至所述基础计算单元,其中,每个所述基础计算单元包括一个哈密顿分块矩阵,两个正交基组分块矩阵以及预留位;

5、获取所述哈密顿分块矩阵对应的分块信息,并根据所述矩阵分块确定计算次数;

6、调用所述基础计算单元按照所述计算次数执行传输计算,得到计算结果,并利用所述计算结果对目标哈密顿矩阵进行正交归一化,其中,所述目标哈密顿矩阵为所述哈密顿分块矩阵对应的哈密顿矩阵。

7、进一步的,所述获取计算任务,包括:

8、获取待进行正交归一化的目标哈密顿矩阵,并确定正交基组矩阵;

9、分别对所述目标哈密顿矩阵以及所述正交基组矩阵进行分块处理,得到多个哈密顿分块矩阵以及正交基组分块矩阵;

10、基于多个哈密顿分块矩阵以及正交基组分块矩阵生成计算任务。

11、进一步的,所述确定待调用基础计算单元的数量,包括:

12、获取所述目标哈密顿矩阵或所述正交基组矩阵分块后的矩阵规模;

13、根据所述矩阵规模确定待调用基础计算单元的数量。

14、进一步的,所述调用所述基础计算单元按照所述计算次数执行传输计算,得到计算结果,包括:

15、在所述基础计算单元首次执行传输计算的过程中,控制所述正交基组矩阵的第k行的正交基组分块矩阵执行循环传输操作,以及控制所述哈密顿矩阵的第k列的所述哈密顿分块矩阵执行循环传输操作,其中,k大于1;

16、调用所述基础计算单元利用在首次传输计算过程中经过循环传输的哈密顿分块矩阵以及正交基组矩阵进行计算,得到首次传输计算对应的计算结果,并将首次传输计算对应的计算结果写入所述预留位;

17、在更新后的基础计算单元第n次执行传输计算的过程中,控制所述正交基组矩阵当前所有行正交基组分块矩阵执行循环传输操作,以及控制所述哈密顿矩阵当前的所有哈密顿分块矩阵执行循环传输操作;

18、调用所述基础计算单元利用在第n次传输计算过程中经过循环传输的哈密顿分块矩阵以及正交基组矩阵进行计算,得到第n次传输计算对应的计算结果,并利用第n次传输计算对应的计算结果更新所述预留位,得到所述计算结果

19、进一步的,所述控制所述正交基组矩阵的第k行的正交基组分块矩阵执行循环传输操作,以及控制所述哈密顿矩阵的第k列的所述哈密顿分块矩阵执行循环传输操作,包括:

20、将所述正交基组矩阵的第k行正交基组分块向左循环传输k-1次,并将哈密顿矩阵的第k列哈密顿分块矩阵向上循环传输k-1次;

21、将所述正交基组矩阵的第k列正交基组分块矩阵向下循环传输k-1次;

22、将所述正交基组矩阵的第2至n列正交基组分块矩阵交换位置。

23、进一步的,所述控制所述正交基组矩阵当前所有行正交基组分块矩阵执行循环传输操作,以及控制所述哈密顿矩阵当前的所有哈密顿分块矩阵执行循环传输操作,包括:

24、将所述正交基组矩阵当前的所有行正交基组分块矩阵向左循环传输1次,并将所述哈密顿矩阵的所有哈密顿分块矩阵向上循环传输1次。

25、进一步的,所述利用所述计算结果对目标哈密顿矩阵进行正交归一化,包括:

26、利用所述基础计算单元中预留位显示的计算结果与所述正交基组矩阵相乘,以完成所述目标哈密顿矩阵的正交归一化。

27、根据本技术实施例的另一方面,还提供了一种哈密顿矩阵正交归一化装置,包括:

28、获取模块,用于获取计算任务,其中,所述计算任务携带多个哈密顿分块矩阵以及正交基组矩阵,所述哈密顿分块矩阵的矩阵大小与所述正交基组分块矩阵的矩阵大小一致;

29、确定模块,用于确定待调用基础计算单元的数量,并将所述哈密顿分块矩阵以及所述正交基组分块矩阵存储至所述基础计算单元,其中,每个所述基础计算单元包括一个哈密顿分块矩阵,两个正交基组分块矩阵以及预留位;

30、获取模块,用于获取所述哈密顿分块矩阵对应的分块信息,并根据所述矩阵分块确定计算次数;

31、执行模块,用于调用所述基础计算单元按照所述计算次数执行传输计算,得到计算结果,并利用所述计算结果对目标哈密顿矩阵进行正交归一化,其中,所述目标哈密顿矩阵为所述哈密顿分块矩阵对应的哈密顿矩阵。

32、根据本技术实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。

33、根据本技术实施例的另一方面,还提供了一种电子装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。

34、本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。

35、本技术实施例提供的上述技术方案与现有技术相比具有如下优点:本技术实施例提供的方法解决了大规模转置矩阵参与乘法运算时的加速问题。首先将转置的正交基组矩阵和哈密顿矩阵,以分块的形式分别存储进基础计算单元。然后在基础计算单元间做多轮数据传输。每轮传输完成后,对每个基础计算单元中的两个分块矩阵做乘法计算。该过程在基础计算单元间可实现并行计算。在所有轮计算完成后,计算结果的存储形式与传统矩阵乘法的输入形式一致。之后将计算结果和未转置的正交基组矩阵做乘法。实现对哈密顿矩阵的正交归一化。整个过程无需进行复杂的数据交互,提高了矩阵归一化的计算效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1