主权项 |
一种利用GPU加速哈特里‑福克计算方法的算法, 其特征在于,将福克矩阵元中的粒子‑粒子相互作用分离出来,然后将由粒子‑粒子相互作用构成的问题解空间同GPU中的线程空间相对应,将内存中的初始参数传入GPU设备显存,并在设备上计算相互作用,完毕后拷贝结果回主机内存,并完成福克矩阵的初始化,利用CPU对福克矩阵对角化求得本征能量和本征态矢,从而有效加速哈特里‑福克方法的计算,具体步骤如下:1)将福克矩阵元中需要计算多重积分的库仑和交换相互作用计算分离出来,形成问题的解空间,其规模由所研究的多体问题的规模来决定;2)将问题解空间同GPU线程空间相对应,利用粒子‑粒子间相互作用的两体性,将步骤1)中生成的问题解空间与CUDA的三重线程模型对应起来,即同Grid,Block,Thread对应起来;3)执行运算,执行设备端的kernel函数完成计算,将计算完成的结果从显存拷贝到内存中;4)利用步骤3)的计算结果生成哈特里‑福克矩阵,并在CPU上调用Lapack数学库来完成计算,在CPU上做矩阵对角化操作;5)计算得新的单粒子态,重新返回步骤1)计算新的哈特里‑福克算符,再次自洽运算,直接两次自洽达到预定的精度则退出自洽计算;6)根据自洽后所得到的精确单粒子态,计算多体系的能量及态矢的进一步物理量。 |