并行计算方法

文档序号:3552142阅读:301来源:国知局
专利名称:并行计算方法
技术领域
本发明涉及一种由不具有经验的分子轨道法中的、多组态自洽场理论(Multi configuration Self-Consistent FieldMCSCF)法及组态间相互作用(Configuration InteractionCI)法进行的全能量与能量梯度的并行计算方法。
背景技术
在非经验的分子轨道计算法中,作为能够采用电子相关的代表的计算方法,已知有上述MCSCF法与CI法。在MCSCF法中,所谓全能量E与原子核的坐标的微分即能量梯度(作用于原子核上的力)如式(1)及(2)那样得到。
E=ΣabMOγabhab+12ΣabcdMOΓabcd(ab|cd)---(1)]]>∂E∂q=ΣabMOγab∂hab∂q+12ΣabcdMOΓabcd∂(ab|cd)∂q---(2)]]>这里,MO为分子轨道(Molecular Orbital),q为构成分子的原子的原子核的坐标x、y、z的任一种。γ及Γ为由后述的解法求出的电子组态的系数C的函数,hab与(ab|cd)为分子轨道基层的单电子积分及双电子积分,由原子轨道基层的hrs与(rs|tu)得到。hrs与(rs|tu)如下式定义。
hrs=∫-∞∞∫-∞∞∫-∞∞χr(r1)hχs(r1)dr1,h=-h‾2▿2-Σi=1NucZi|r1-Ri|---(3)]]>(式中,h‾=h/2π]]>)
(rs|tu)=∫-∞∞∫-∞∞∫-∞∞∫-∞∞∫-∞∞∫-∞∞χr(r1)χs(r1)1|r1-r2|χt(r2)χu(r2)dr1dr2---(4)]]>这里,h为普朗克常数,Nuc.是Nuclei的略写,表示原子数。Zi表示原子核的电荷,R1表示原子核的位置。该式(3)及式(4)的积分,基于分子轨道φa与原子轨道χr的存在式(5)的关系,而如式(6)及式(7)那样从原子轨道基层变换到分子轨道基层。
φa=ΣrNCraχr---(5)]]>hab=ΣrNΣsNCraCsbhrs---(6)]]>(ab|cd)=ΣrNΣsNΣtNΣuNCraCsbCtcCud(rs|tu)---(7)]]>这里,N为原子轨道数,虽然在本发明中假定为1000以上,但是即使在其以下的情况也可以适用本方法,也不会有问题。Cra为由式(5)中示出的将子轨道进行分子轨道的变换的变换行列,被称为分子轨道系数。Csb也为同样的分子轨道系数。在MCSCF法中,由增量法决定电子组态的系数C与分子轨道的系数c双方,而在CI法中不同之处在于只求出C。
电子组态的系数C由下面的方程式求得。即,ΣJCSF(HIJ-δIJE)CJ=0---(8)]]>HIJ=ΣabMOγabIJhab+12ΣabcdMOΓabcdIJ(ab|cd)---(9)]]>这里,CSF为configuration state function(电子组态函数),由其反对称化的行列式CSF的线性结合赋予波函数。δIJ为克罗内的δ,当I=J时为1,除此之外均为0。
另外,在分子轨道的系数的决定中需要满足式(10)的量。这里ubd为关于分子轨道的线形变换的行列。
yac=ΣbΣdΣxΣy{(ab|xy)Γcdxy+2(ax|by)Γcxdy}ubd---(10)]]>在MCSCF法、CI法任一种中,分子轨道基层的双电子积分(ab|cd)的生成均占计算成本的大半。在MCSCF法中,在目前成为主流的CASSCF(Complete Active Space SCF)中,通过将电子激发限定在被限制的分子轨道的范围内,而实现公式的简化。假定属于其Active Space空间的分子轨道数设为n,原子轨道基层数设为N,则一般地n<N关系成立。在现有的计算方案中,将原子轨道基层的双电子积分全部保存在主存储器或盘等外部存储介质中,进行式(7)的变换。图5及图6表示其变换算法。在由分子轨道的标记a、b、c、d与原子轨道的标记r、s、t、u构成的单纯的8层DO循环中,需要n4N4次乘法运算,但是,在该算法中通过反复4次5层的DO循环而得到同等的结果,其运算数为nN4+n2N3+n3N2+n4N。例如,当n=10、N=1000时,能够实现约1000倍的高速化。但是,在该方法中,用于保存原子轨道基层的双电子积分或变换中途的中间数据的计算机资源变得庞大,存在实质上不能计算大型分子的问题。
近年来,计算机通过安装并行处理器而实现高速化,在MCSCF法及CI法中也需要利用并行处理实现计算对象分子的大型化与计算成本的削减。并行处理器的优点如下所示①通过连接多个常规处理器,而能够廉价地实现高速运算计算机。
②因为能够灵活运用多个处理器的本地存储器,所以作为计算机整体能够确保大的主存储区域。
原子轨道基层及分子轨道基层的双电子积分相互独立,当要灵活运用该特征、进行并行化时,产生下面问题。即,为了计算一个分子轨道基层的双电子积分,需要全部的N4的原子轨道基层的双电子积分,因此产生了如下1)与2)相反的问题。
1)若在处理器上分担一部分原子轨道基层的双电子积分进行分散处理,则能够由并行化缩短积分计算时间,但是必须在各处理器上汇集全部的N4个双电子积分,在全部处理器之间进行相互通信成为通信瓶颈。
2)如果想避开通信瓶颈,则必须由各处理器计算全部的N4个原子轨道基层的积分,而不会产生并列化的计算时间的缩短。
在双电子积分的原子核坐标的微分中,在式(2)的计算需要分子轨道的积分,完全同样的论述成立。

发明内容
本发明目的在于提供一种能够解决上述问题的利用具有多个处理器的并行计算机的并行计算方法。
本发明的并行计算方法,如下所述。
(1)一种并行计算方法,是利用具有多个处理器的并行计算机的计算方法,其特征在于在从双电子积分的原子轨道基层(rs|tu)向分子轨道基层(ab|cd)变换时,对于上述多个处理器,指定应计算的原子轨道的标记r与s,并在上述多个处理器的每个上,对被指定的标记R与S、以及应计算的原子轨道的标记t与u的全部组合进行处理。
(2)一种并行计算方法,是利用具有多个处理器的并行计算机的计算方法,其特征在于在从双电子积分的原子轨道基层(rs|tu)向分子轨道基层(ab|cd)变换时,对于上述多个处理器,指定应计算的原子轨道的标记r与s,并在上述多个处理器的每个上,对被指定的标记R与S、以及应计算的原子轨道的标记t与u的全部组合进行处理,从而分割应处理的数据,以使表示上述多个处理器的工作量的粒度变得均匀。
(3)一种并行计算方法,在上述(1)或(2)所述的并行计算方法中,其特征在于在上述双电子积分的计算中途在上述多个处理器之间不进行数据传送,在上述多个处理器的上述处理后只一次汇总,获取上述多个处理器的处理的数据的和。
(4)一种并行计算方法,在上述(1)或(2)所述的并行计算方法中,其特征在于,上述多个处理器的每个均进行以下步骤1)对于每个处理器中指定的R、S与t、u的全部组合计算原子轨道基层的双电子积分(RS|tu);2)对于计算的双电子积分,进行从u向d的变换;
3)对于经上述(2)变换后的数据,进行从t向c的变换;4)对于经上述(3)变换后的数据,进行从S向作为b的构成要素的B的变换;5)对于经上述(4)变换后的数据,进行从R向作为a的构成要素的A的变换;6)将经上述(5)变换后的数据保存在各处理器的本地存储器中;7)最后进行汇总,求出分子轨道基层的双电子积分(ab|cd)。
(5)一种并行计算方法,在上述(1)或(2)所述的并行计算方法中,其特征在于,上述多个处理器的每个均进行以下步骤1)对于每个处理器中指定的R、S与t、u的全部组合计算原子轨道基层的双电子积分(RS|tu);2)对于计算的双电子积分,进行从u向d的变换;3)对于比上述(2)变换后的数据,进行从t向c的变换;4)对于经上述(3)变换后的数据,进行从S向作为b的构成要素的B的变换;5)对R不进行变换而作为Vcbd(RS)保存在上述多个处理器的各本地存储器中;6)在作为决定分子轨道的系数所必要的量的yac的反复计算中,计算从R向a的变换系数、分子轨道间的变换系数与上述Vcbd(RS)的积和,并将计算结果保存在上述多个处理器的各本地存储器中。
(6)一种并行计算方法,是利用具有多个处理器的并行计算机的计算方法,其特征在于将分子轨道基层的2维的密度行列Γ传送给上述多个处理器的每个,并在上述多个处理器的每个上,通过从分子轨道基层向逆变换成原子轨道基层,而对于上述多个处理器,指定应计算的原子轨道的标记r与s,并在上述多个处理器的每个上,对被指定的标记R与S、以及应计算的原子轨道的标记t与u的全部组合进行处理,在双电子积分的原子核坐标的微分计算中,分割应处理的数据,以使表示上述多个处理器的工作量的粒度变得均匀。


图1是表示在本发明的双电子积分变换的处理器之间的分散处理的前半部分的图。
图2是表示在本发明的双电子积分变换的处理器之间的分散处理的后半部分的图。
图3是表示本发明的决定分子轨道系数的反复计算中处理器之间的分散处理的图。
图4是表示本发明的2维密度行列Γ的从分子轨道基层向原子轨道基层的逆变换的并行算法的图。
图5是表示在从双电子积分的原子轨道基层向分子轨道基层的变换中,目前使用的4N5变换算法的步骤1~3的图。
图6是表示在从双电子积分的原子轨道基层向分子轨道基层的变换中,目前使用的4N5变换算法的步骤4的图。
具体实施例方式
以下,说明本发明的实施方式。
本申请发明人,认为因为原子轨道基层的双电子积分及原子核坐标的微分均相互独立,所以在从原子轨道基层向分子轨道基层的变换中,在原子轨道的标记r与s并行化,即,对于上述多个处理器,指定应计算的原子轨道的标记r与s,并通过由各处理器对t与u的全部的组合进行处理,而分开处理数据以使粒度均匀。虽然在标记r与s并行化,但是因为对于t及u的全部的组合由各处理器进行计算,所以每1个双电子积分需要平均进行1万次的浮动小数点运算,因此各处理器要进行10000N2次的运算,能够确保充分大的粒度。虽然以下进行了详述,但是,为了提高并行性能,粒度的均匀化与最大化及处理器之间的传送次数的最小化是必要条件。在本计算顺序中,其特征在于在双电子积分计算中途在处理器之间不进行数据传送,在变换后进行1次汇总。
在求得电子组态的解法时,在原子轨道的标记r、s进行并行化,并按如下1)~5)的顺序进行由各处理器进行计算处理,1)相对于在各处理器中指定的R、S,对全部的t、u计算原子轨道基层的双电子积分(RS|tu);2)关于计算的双电子积分,进行从u向d的变换;3)进行从t向c的变换;4)进行从S向B的变换;5)进行从R向A的变换;再将该变换数据保存到各处理器的本地存储器,最后,进行汇总求得分子轨道基层的双电子积分(ab|cd)。
另外,在求分子轨道的系数c的反复解法中,在原子轨道的标记r、s进行并行化,按以下1)~6)顺序进行各处理器的计算处理,并通过将各数据量少Vcbd(RS)保存到各处理器的本地存储器中,而防止反复计算的主存储上的作业区域的增大。
1)相对于在各处理器中指定的R、S,对全部的t、u计算原子轨道基层的双电子积分(RS|tu);2)关于计算的双电子积分,进行从u向d的变换;3)进行从t向c的变换;4)进行从S向B的变换;5)不变换R,作为Vcbd(RS)保存到本地存储器;6)在yac的反复计算中,同时计算从R向a的变换系数(CRa)与分子轨道之间的变换系数(ubd)的积和(参照后述的式(13))。
在能量梯度计算中,通过将分子轨道基层的2维密度行列Γ传送到各处理器,并从分子轨道基层逆变换到原子轨道基层,而能够在原子轨道标记r、s进行并行化,与双电子积分的情况相同的论述成立。这时,值得注意的是只对原子轨道r需要原子核坐标的微分。
下面,对本发明的实施例进行说明。
在求MCSCF法中的电子组态的系数C与分子轨道的系数c、及CI法中电子组态的系数C的解法中,由于可减少主存储上的工作区域,所以反复解法被广泛使用。由此,虽然需要保存分子轨道基层的双电子积分等的中间数据,但是在并行计算机中基于上述优点②(因为能够灵活运用多个处理器的本地存储器,所以作为计算机整体能够确保大的主存储区域。)是可能的。另一方面,因为在能量梯度计算中无需反复计算,所以在本发明中立足于下面的1)及2)的基本的考虑,开发出并行算法。
1)在电子组态的系数C及分子轨道的系数c的决定中,基于n<<N的关系,要在各处理器的主存储器上反复保存使用数据量少的分子轨道基层的双电子积分等中间数据。
2)在能量梯度计算中,将分子轨道基层的γ及Γ逆变换为原子轨道基层,并根据原子轨道基层的表式(11)并行计算。
∂E∂q=ΣrsAOγrs∂hrs∂q+ΣrstuAOΓrstu∂(rs|tu)∂q-ΣrsAOWrs∂Srs∂q---(11)]]>这里,AO为原子轨道(Atomic Orbital)。W为在能量梯度法中出现的量,被赋予轨道能量与分子轨道的系数的积,另外,Srs为多重积分。
首先,先对属于决定电子组态的系数C所必需的Active Space的分子轨道基层的双电子积分的生成法进行叙述。在原子轨道的标记r、s进行并行化,对于全部t、u利用各处理器计算原子轨道基层的双电子积分(RS|tu)。其基本并行算法表示在图1及图2中。这里,由r、s所指定的原子轨道的标记内的R、S是被分配到某处理器的原子轨道。现在改写为式(12)。
(ab|cd)=ΣAΣB(cRARcSBS|cd)=ΣAΣB(AB|cd)---(12)]]>这里,需要注意的是因为A、B只由基于式(5)的关系相对于分子轨道a、b的原子轨道r、s的线性结合成分中的在各处理器中指定的R、S构成,所以,最后汇总(AB|cd)成为初步正确的(ab|cd)。基于该关系,各处理器中的计算顺序成为1)~5)1)相对于在各处理器中指定的R、S,对全部的t、u计算原子轨道基层的双电子积分(RS|tu);2)关于计算的双电子积分,进行从u向d的变换;3)进行从t向c的变换;4)进行从S向B的变换;
5)进行从R向A的变换。
这里应注意的是在实行1)~5)的步骤过程中完全不会产生处理器间的通信,且应计算的原子轨道基层的双电子积分将所有处理器合起来为N4个。最后,为求出(ab|cd),而汇总各处理器上的(AB|cd),但是,其传送量高为n4。n为10的基数,且是向主处理器的单方向传送,因此,传送时间不是问题。另外,可知在处理器台数少时,如果将R与S适当群组化,则同样能够并行化。对于整体的运算数,现有方式如上所述那样为nN4+n2N3+n3N2+n4N,但是,因为在本方式中步骤1~4的运算由N2个处理器产生,所以成为(nN2+n2N+n3+n4)+n4N2,通过仅n4N(N-1)+n4N2并行化就可增加运算数。
下面,关于分子轨道的系数c的决定对必要的式(10)的并行化进行叙述。若将式(10)的一部分用原子轨道基层来表记,则成为式(13)。
yac=ΣbΣdΣxΣy{(ab|xy)Γcdxy+2(ax|by)Γcxdy}ubd]]>=ΣbΣdΣxΣy{ΣRΣS(cRaRcSbS|xy)Γcdxy+2ΣRΣS(cRaRcSxS|by)Γcxdy}ubd]]>=ΣRΣSΣbΣdΣxΣy{(cRaRcSbS|xy)Γcdxy+2(cRaRcSxS|by)Γcxdy}ubd]]>=ΣRΣScRaΣbΣdΣxΣy{(RcSbS|xy)Γcdxy+2(RcSxS|by)Γcxdy}ubd]]>=ΣRΣScRaΣbΣdVcbd(RS)ubd]]>=ΣRΣSYac(RS)]]>并且,可知若将Yac(RS)设为由各处理器(CPUCentral ProcessingUnit)计算的部分,则根据从式(12)的推断,同样能够进行汇总。值得注意的是此时的传送数据量为N2。从而,r与s并行化,如果汇总由各处理器计算的Yac(RS),则求出yac。图3表示其数据的流程。这里,作为Vcbd(RS)保存在各处理器中,理由如下。因为式(10)的a、b原则上为全部的分子轨道故维数为N,与此相对,x、y为n。因而,其第1、2项的大小均为n2N2。通过不进行r变换地进行保存,而虽然导致运算数的增加,但是将工作区域抑制在n2N。另外,汇总(ab|xy),其数据量为n2N2,但是对于x、y由各处理器在传送前取和,而成为N2,减少传送数据量。
最后,对于能量梯度计算所必需的原子核坐标的双电子积分的并行化进行叙述。如上所述,因为在本计算中无需反复计算,所以将数据量少为n4的分子轨道基层的Γ传送给各处理器,并从分子轨道基层逆变换成原子轨道基层而进行并行化。图4表示其逆变换算法。这里,在r与s并行化,对全部的t与u进行计算的结构与通常的双电子积分的情况相同。但是,不同之处在于DO循环为7重。由各处理器计算的式(11)的第2项在加上由其处理器保存作用于原子核上的力的配列后进行汇总,但是,其配列的大小为3×原子数,并不成为传送瓶颈。另外,对于Γ的逆变换的运算数,与现有方法相同。
这里所述的并行算法,由于在原子轨道的标记r与s并行化,故相对处理器台数的增加能够均匀地保证粒度,能够维持高的计算机可扩缩性。另外,可以适应的处理器台数为N2,能够对应N=1000百万台的并行计算机。
在下述表1及表2中表示现有的计算方法与本方法的运算数与工作区域的计算式。由于并行化,虽然运算数多少会有所增加,但各处理器的工作区域为N2分之1,成为能够有效利用廉价的本地存储器的算法。
表1双电子积分变换的现有变换方式与本方式的运算量与工作区域的比较

注1)使用N2个处理器的情况表2

决定分子轨道系数的现有变换方式与本方式的运算量与工作区域的比较

注1)使用N2个处理器的情况如上所述,采用本发明,得到一种利用具有多个处理器的并行计算机的并行计算方法,其在从双电子积分的原子轨道基层(rs|tu)向分子轨道基层(ab|cd)变换时,对于上述多个处理器,指定应计算的原子轨道的标记r与s,并在上述多个处理器的每个上,对被指定的标记R与S、以及应计算的原子轨道的标记t与u全部的组合进行处理。由此,粒度均匀,能够保持高性能地连接多个常规处理器,可以降低高速运算计算机的费用,并且,灵活运用廉价的本地存储器,因此作为计算机整体能够确保大的主存储区域。
权利要求
1.一种并行计算方法,是利用具有多个处理器的并行计算机的计算方法,其特征在于在从双电子积分的原子轨道基层rs|tu向分子轨道基层ab|cd变换时,对于上述多个处理器,指定应计算的原子轨道的标记r与s,并在上述多个处理器的每个上,对被指定的标记R与S、以及应计算的原子轨道的标记t与u的全部组合进行处理。
2.一种并行计算方法,是利用具有多个处理器的并行计算机的计算方法,其特征在于在从双电子积分的原子轨道基层rs|tu向分子轨道基层ab|cd变换时,对于上述多个处理器,指定应计算的原子轨道的标记r与s,并在上述多个处理器的每个上,对被指定的标记R与S、以及应计算的原子轨道的标记t与u的全部组合进行处理,从而分割应处理的数据,以使表示上述多个处理器的工作量的粒度变得均匀。
3.如权利要求1所述的并行计算方法,其特征在于在上述双电子积分的计算中途在上述多个处理器之间不进行数据传送,在上述多个处理器的上述处理后只一次汇总,获取上述多个处理器的处理的数据的和。
4.如权利要求2所述的并行计算方法,其特征在于在上述双电子积分的计算中途在上述多个处理器之间不进行数据传送,在上述多个处理器的上述处理后只一次汇总,获取上述多个处理器的处理的数据的和。
5.如权利要求1所述的并行计算方法,其特征在于,上述多个处理器的每个均进行以下步骤(1)对于每个处理器中指定的R、S与t、u的全部组合计算原子轨道基层的双电子积分RS|tu;(2)对于计算的双电子积分,进行从u向d的变换;(3)对于经+上述(2)变换后的数据,进行从t向c的变换;(4)对于经上述(3)变换后的数据,进行从S向作为b的构成要素的B的变换;(5)对于经上述(4)变换后的数据,进行从R向作为a的构成要素的A的变换;(6)将经上述(5)变换后的数据保存在各处理器的本地存储器中;(7)最后进行汇总,求出分子轨道基层的双电子积分ab|cd。
6.如权利要求2所述的并行计算方法,其特征在于,上述多个处理器的每个均进行以下步骤(1)对于每个处理器中指定的R、S与t、u的全部组合计算原子轨道基层的双电子积分RS|tu;(2)对于计算的双电子积分,进行从u向d的变换;(3)对于经上述(2)变换后的数据,进行从t向c的变换;(4)对于经上述(3)变换后的数据,进行从S向作为b的构成要素的B的变换;(5)对于经上述(4)变换后的数据,进行从R向作为a的构成要素的A的变换;(6)将经上述(5)变换后的数据保存在各处理器的本地存储器中;(7)最后进行汇总,求出分子轨道基层的双电子积分ab|cd。
7.如权利要求1所述的并行计算方法,其特征在于,上述多个处理器的每个均进行以下步骤(1)对于每个处理器中指定的R、S与t、u的全部组合计算原子轨道基层的双电子积分RS|tu;(2)对于计算的双电子积分,进行从u向d的变换;(3)对于经上述(2)变换后的数据,进行从t向c的变换;(4)对于经上述(3)变换后的数据,进行从S向作为b的构成要素的B的变换;(5)对R不进行变换而作为Vcbd(RS)保存在上述多个处理器的各本地存储器中;(6)在作为决定分子轨道的系数所必要的量的yac的反复计算中,计算从R向a的变换系数、分子轨道间的变换系数与上述Vcbd(RS)的积和,并将计算结果保存在上述多个处理器的各本地存储器中。
8.如权利要求2所述的并行计算方法,其特征在于上述多个处理器的每个均进行以下步骤(1)对于每个处理器中指定的R、S与t、u的全部组合计算原子轨道基层的双电子积分RS|tu;(2)对于计算的双电子积分,进行从u向d的变换;(3)对于经上述(2)变换后的数据,进行从t向c的变换;(4)对于经上述(3)变换后的数据,进行从S向作为b的构成要素的B的变换;(5)对R不进行变换而作为Vcbd(RS)保存在上述多个处理器的各本地存储器中;(6)在作为决定分子轨道的系数所必要的量的yac的反复计算中,计算从R向a的变换系数、分子轨道间的变换系数与上述Vcbd(RS)的积和,并将计算结果保存在上述多个处理器的各本地存储器中。
9.一种并行计算方法,是利用具有多个处理器的并行计算机的计算方法,其特征在于将分子轨道基层的2维的密度行列Γ传送给上述多个处理器的每个,并在上述多个处理器的每个上,通过从分子轨道基层逆变换成原子轨道基层,而对于上述多个处理器,指定应计算的原子轨道的标记r与s,并在上述多个处理器的每个上,对被指定的标记R与S、以及应计算的原子轨道的标记t与u的全部组合进行处理,在双电子积分的原子核坐标的微分计算中,分割应处理的数据,以使表示上述多个处理器的工作量的粒度变得均匀。
全文摘要
一种并行计算方法,是利用具有多个处理器的并行计算机的计算方法,其在从双电子积分的原子轨道基层(rs|tu)向分子轨道基层(ab|cd)变换时,对于上述多个处理器,指定应计算的原子轨道的标记r与s,并在上述多个处理器的每个上,对被指定的标记R与S、以及应计算的原子轨道的标记t与u全部的组合进行处理。由此,粒度均匀,能够保持高性能地连接多个常规处理器,可以降低高速运算计算机的费用,并且,灵活运用廉价的本地存储器,因此作为计算机整体能够确保大的主存储区域。
文档编号C07B61/00GK1714349SQ0281870
公开日2005年12月28日 申请日期2002年9月25日 优先权日2001年9月25日
发明者高田俊和, 中田一人, 村濑匡, 佐久间俊广 申请人:独立行政法人科学技术振兴机构, 日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1