JP4612546B2 - 並列計算方法及び装置 - Google Patents
並列計算方法及び装置 Download PDFInfo
- Publication number
- JP4612546B2 JP4612546B2 JP2005514078A JP2005514078A JP4612546B2 JP 4612546 B2 JP4612546 B2 JP 4612546B2 JP 2005514078 A JP2005514078 A JP 2005514078A JP 2005514078 A JP2005514078 A JP 2005514078A JP 4612546 B2 JP4612546 B2 JP 4612546B2
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- computer
- partial
- matrices
- representing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
- G06F17/13—Differential equations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Operations Research (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Complex Calculations (AREA)
- Multi Processors (AREA)
Description
[1] MO係数Cの初期推測値を求める;
[2] 密度行列DをMO係数Cから求める;
[3] 得られた密度行列Dを使い、フォック行列Fを求める;
[4] フォック行列Fを対角化し、固有値εと固有ベクトルを求める;
[5] 得られた固有ベクトルから、新しいMO係数Cと密度行列Dを求める;
[6] 密度行列Dが変化しなくなるまで、[3]から[5]までをくり返す;
という手順で計算が行われる。
ます、巡回密度行列法と呼ぶ実施形態について説明する。再びフォック行列Fを式(7)のように表す。
[2] ノードP(i)は、自らが格納している部分密度行列をP(i+1)へ送信する;
[3] ノードP(i)は、P(i−1)が格納していた部分密度行列を受け取る;
[4] [1]〜[3]をノードの数だけ繰り返す。
次に、二重巡回密度行列法と呼ぶ形態について説明する。ここでは、密度行列Dの複製を用いることにより、積分計算を半数に減らし、計算時間を短縮するようにしている。ここでの記号は、上述した巡回密度行列法と同様のものを使用する。この方法では、式(7)を式(16)のように分解する。
[1] K(RU)の転送は、P(i,j),(i,j={1,2})のiが等しいノードとの間でのみ行われ、また、
[2] D(TS)の転送は、P(i,j),(i,j={1,2})のjが等しいノードとの間でのみ行われる。
[2] P(i,j)は、転送条件が成立するとき、自らが格納するK(RU)をP(i,j+1)へ送信する;
[3] P(i,j)は、転送条件が成立するとき、P(i,j−1)が格納していたK(RU)を受け取る;
[4] P(i,j)は、自らが格納するD(TS)をP(i+1,j)に送信する;
[5) P(i,j)は、P(i−1,j)が格納していたD(TS)を受け取る;
[6] P(k)は、自らが格納するD(TU)をP(k+1)へ送信する;
[7] P(k)は、P(k−1)が格納していたD(TU)を受け取る;
[8] [1]〜[7]をノードの数だけ繰り返す;
[9] フォック行列Fを計算する。
次に、四重巡回密度行列法と呼ぶ形態について説明する。ここでは、密度行列Dとその複製とを合計4個用意し、さらに、2電子積分における(rs|tu)⇔(tu|rs)の対称性を用いることで、二重巡回密度行列法よりもさらに積分計算を減らし、計算時間の短縮を図っている。ここでの記号は、上述した巡回密度行列法と同様のものを使用する。この方法では、式(7)を式(22)〜(24)のように分解する。
[2] P(i,j)は、転送条件が成立するとき、自らが格納するK1(RU),D(RU)をP(i,j+1)へ送信する;
[3] P(i,j)は、転送条件が成立するとき、P(i,j−1)が格納していたK1(RU),D(RU)を受け取る;
[4] P(i,j)は、自らが格納するK2(TS),D(TS)をP(i+1,j)に送信する;
[5] P(i,j)は、P(i−1,j)が格納していたK2(TS),D(TS)を受け取る;
[6] P(k)は、自らが格納するJ2(TU),D(TU)をP(k+1)へ送信する;
[7] P(k)は、P(k−1)が格納していたJ2(TU),D(TU)を受け取る;
[8] [1]〜[7]をノードの数だけ繰り返す;
[9] J,Kを計算する;
[10] Fを計算する。
次に、四重巡回密度行列法と呼ぶ形態の別の例について説明する。
[2] P(i,j)は、転送条件が成立するとき、自らが格納するK1(RU),D(RU)をP(i,j+1)へ送信する;
[3] P(i,j)は、転送条件が成立するとき、P(i,j−1)が格納していたK1(RU),D(RU)を受け取る;
[4] P(i,j)は、自らが格納するK2(TS),D(TS)をP(i+2,j)に送信する;
[5] P(i,j)は、P(i−2,j)が格納していたK2(TS),D(TS)を受け取る;
[6] P(k)は、自らが格納するJ2(TU),D(TU)をP(k+2)へ送信する;
[7] P(k)は、P(k−2)が格納していたJ2(TU),D(TU)を受け取る;
[8] [1]〜[7]を(ノード数/2)に相当する回数繰り返す;
[9] J1,J2,K1,K2の一部分を計算する;
[10] P(i,j)は、転送条件が成立するとき、自らが格納するK1(RU),D(RU)をP(i,j+1)へ送信する;
[11] P(i,j)は、転送条件が成立するとき、P(i,j−1)が格納していたK1(RU),D(RU)を受け取る;
[12] P(i,j)は、自らが格納するK2(TS),D(TS)をP(i+1,j)に送信する;
[13] P(i,j)は、P(i−1,j)が格納していたK2(TS),D(TS)を受け取る;
[14] P(k)は、自らが格納するJ2(TU),D(TU)をP(k+1)へ送信する;
[15] P(k)は、P(k−1)が格納していたJ2(TU),D(TU)を受け取る;
[16] J,Kを計算する;
[17] Fを計算する。
上述した各種の巡回密度行列法は、ノード数N、分割数M(>N)の場合でも計算することができるが、各行列の分割方法は揃えておく必要がある。すなわち、領域RとTの個数が一致し、領域SとUの個数が一致していなければならない。「四重巡回密度行列法その2」では、一般化すると次のようなアルゴリズムになる。
[2] P(i,j)は、転送条件が成立するとき、自らが格納するK1(RU),D(RU)をP(i,j+1)へ送信する;
[3] P(i,j)は、転送条件が成立するとき、P(i,j−1)が格納していたK1(RU),D(RU)を受け取る;
[4] P(i,j)は、自らが格納するK2(TS),D(TS)をP(i+2,j)に送信する;
[5] P(i,j)は、P(i−2,j)が格納していたK2(TS),D(TS)を受け取る;
[6] P(k)は、自らが格納するJ2(TU),D(TU)をP(k+2)へ送信する;
[7] P(k)は、P(k−2)が格納していたJ2(TU),D(TU)を受け取る;
[8] J1,J2,K1,K2の一部分を計算する;
[9] P(i,j)は、転送条件が成立するとき、自らが格納するK1(RU),D(RU)をP(i,j+1)へ送信する;
[10] P(i,j)は、転送条件が成立するとき、P(i,j−1)が格納していたK1(RU),D(RU)を受け取る;
[11] P(i,j)は、自らが格納するK2(TS),D(TS)をP(i+2,j)に送信する;
[12] P(i,j)は、P(i−2,j)が格納していたK2(TS),D(TS)を受け取る;
[13] P(k)は、自らが格納するJ2(TU),D(TU)をP(k+2)へ送信する;
[14] P(k)は、P(k−2)が格納していたJ2(TU),D(TU)を受け取る;
[15] [8]〜[14]を{(ノード数/2)−1}に相当する回数繰り返す;
[16] J1,J2,K1,K2の一部分を計算する;
[17] P(i,j)は、転送条件が成立するとき、自らが格納するK1(RU),D(RU)をP(i,j+1)へ送信する;
[18] P(i,j)は、転送条件が成立するとき、P(i,j−1)が格納するK1(RU),D(RU)を受け取る;
[19] P(i,j)は、自らが格納するK2(TS),D(TS)をP(i+1,j)に送信する;
[20] P(i,j)は、P(i−1,j)が格納するK2(TS),D(TS)を受け取る;
[21] P(k)は、自らが格納するJ2(TU),D(TU)をP(k+1)へ送信する;
[22] P(k)は、P(k−1)が格納していたJ2(TU),D(TU)を受け取る;
[23] J,Kを計算する;
[24] Fを計算する。
Claims (6)
- 通信機器を介し相互に接続された複数の計算機からなる計算機クラスタを使用し、分子軌道法におけるハートリー・フォック法の計算を下記の式(a1)に基づくフォック行列Fを用いて計算する方法であり、前記計算機クラスタのノード数をmとして、前記式(a1)を分解して得られる下記の式(a2)に基づくフォック行列を計算するための並列計算方法であって、
r,tの分割数が等しく、かつ、s,uの分割数が等しくなるように、行列F,H,D,J,Kは分割数Mの部分行列に分割され、二電子積分はM 2 個の部分に分割され、
分割された1以上N以下の整数r,s,t,uの各範囲を前記各計算機に割り当て、
割り当てられた範囲にしたがって前記部分行列は前記各計算機に重複なく格納され、
割り当てられた範囲にしたがって前記各計算機は二電子積分を計算することとし、
前記各計算機は、前記行列を分割した前記部分行列を格納する行列格納部と、前記計算機クラスタ中の他の計算機に対して前記部分行列を送受信する転送制御部と、前記行列格納部に格納された前記部分行列に関する演算を実行する演算処理部と、演算と転送との繰り返しの制御を行う制御部と、を備え、
前記複数の計算機のおのおのを識別する指標をi,jとして前記各計算機をP(i,j)で表し、i及びjの最大値をそれぞれimax及びjmaxとし、
部分行列の個数が分割数Mとなるように分割された1以上N以下の整数r,s,t,uが前記各計算機に割り当てられた範囲をR,S,T,Uで表し、
前記密度行列の要素がD tu 及びD ts で表される前記密度行列Dの分割された部分密度行列をそれぞれD(TU)及びD(TS)とし、
行列要素がJ rs で表されるクーロン積分を表す前記行列Jの分割された部分行列をJ(RS)とし、
行列要素がK ru で表される交換積分を表す前記行列Kの分割された部分行列をK(RU)とし、
前記密度行列Dを複数の部分密度行列D(TU)及びD(TS)に分割して該複数の部分密度行列D(TU)及びD(TS)を前記複数の計算機の各々の行列格納部に分散して格納する段階と、
前記各計算機において当該計算機の演算処理部が前記行列格納部に格納された前記部分密度行列D(TU)及びD(TS)を用いて前記行列J及び前記行列Kの一部分を計算する第1の段階と、
前記各計算機P(i,j)において当該計算機の転送制御部が、転送条件が成立するときに、前記行列格納部に格納されている部分行列K(RU)を計算機P(i,j+1)に送信し、かつ、計算機P(i,j−1)から転送されてきた前記部分行列K(RU)を前記行列格納部に格納する第2の段階と、
前記各計算機P(i,j)において当該計算機の転送制御部が、前記行列格納部に格納されている前記部分密度行列D(TS)を計算機P(i+1,j)に送信し、かつ、計算機P(i−1,j)から転送されてきた前記部分密度行列D(TS)を前記行列格納部に格納する第3の段階と、
k=(j−1)imax+iとして計算機P(i,j)を計算機P(k)と表すことにして、前記各計算機P(k)において当該計算機の転送制御部が、前記行列格納部に格納されている前記部分密度行列D(TU)を計算機P(k+1)に送信し、かつ、計算機P(k−1)から転送されてきた前記部分密度行列D(TU)を前記行列格納部に格納する第4の段階と、
を有し、
nを部分密度行列D(TS)が転送されるたびに1増加する0から始まる番号とし、t=m/jmaxとして、前記転送条件はi=(n mod t)+1が成り立つときであり、
前記制御部が、前記転送制御部と前記演算処理部とに前記第1乃至第4の段階を前記ノード数mだけ繰り返させ、これにより前記フォック行列を計算する、並列計算方法。 - 通信機器を介し相互に接続された複数の計算機からなる計算機クラスタを使用し、分子軌道法におけるハートリー・フォック法の計算を下記の式(a1)に基づくフォック行列Fを用いて計算する方法であり、前記計算機クラスタのノード数をmとして、前記式(a1)を分解して得られる下記の式(a3)に基づくフォック行列を計算するための並列計算方法であって、
r,tの分割数が等しく、かつ、s,uの分割数が等しくなるように、行列F,H,D,J,J1,J2,K,K1,K2は分割数Mの部分行列に分割され、二電子積分はM 2 個の部分に分割され、
分割された1以上N以下の整数r,s,t,uの各範囲を前記各計算機に割り当て、
割り当てられた範囲にしたがって前記部分行列は前記各計算機に重複なく格納され、
割り当てられた範囲にしたがって前記各計算機は二電子積分を計算することとし、
前記各計算機は、前記行列を分割した前記部分行列を格納する行列格納部と、前記計算機クラスタ中の他の計算機に対して前記部分行列を送受信する転送制御部と、前記行列格納部に格納された前記部分行列に関する演算を実行する演算処理部と、演算と転送との繰り返しの制御を行う制御部と、を備え、
前記複数の計算機のおのおのを識別する指標をi,jとして前記各計算機をP(i,j)で表し、i及びjの最大値をそれぞれimax及びjmaxとし、
部分行列の個数が分割数Mとなるように分割された1以上N以下の整数r,s,t,uが前記各計算機に割り当てられた範囲をR,S,T,Uで表し、
前記密度行列の要素がD tu ,D rs ,D ts 及びD ru で表される前記密度行列Dの分割された部分密度行列をそれぞれD(TU),D(RS),D(TS)及びD(RU)とし、
行列要素がJ1 rs で表されるクーロン積分の一部を表す前記行列J1の分割された部分行列をJ1(RS)とし、
行列要素がJ2 tu で表されるクーロン積分の一部を表す前記行列J2の分割された部分行列をJ2(TU)とし、
行列要素がK1 ru で表される交換積分の一部を表す前記行列K1の分割された部分行列をK1(RU)とし、
行列要素がK2 ts で表される交換積分の一部を表す前記行列K2の分割された部分行列をK2(TS)とし、
前記密度行列Dを複数の前記部分密度行列D(TU),D(RS),D(TS)及びD(RU)に分割して該複数の部分密度行列D(TU),D(RS),D(TS)及びD(RU)を前記複数の計算機の各々の行列格納部に分散して格納する段階と、
前記各計算機において当該計算機の演算処理部が、第1乃至第4の条件のいずれかが満たされるときに、前記行列格納部に格納された前記部分密度行列D(TU),D(RS),D(TS)及びD(RU)を用いて前記行列J1,J2,K1及びK2の一部分を計算する第1の段階と、
前記各計算機P(i,j)において当該計算機の転送制御部が、転送条件が成立するときに、前記行列格納部に格納されている前記部分行列K1(RU)及びD(RU)を計算機P(i,j+1)に送信し、かつ、計算機P(i,j−1)から転送されてきた前記部分行列K1(RU)及びD(RU)を前記行列格納部に格納する第2の段階と、
前記各計算機P(i,j)において当該計算機の転送制御部が、前記行列格納部に格納されている前記部分行列K2(TS)及びD(TS)を計算機P(i+1,j)に送信し、かつ、計算機P(i−1,j)から転送されてきた前記部分行列K2(TS)及びD(TS)を前記行列格納部に格納する第3の段階と、
k=(j−1)imax+iとして計算機P(i,j)を計算機P(k)と表すことにして、前記各計算機P(k)において当該計算機の転送制御部が、前記行列格納部に格納されている前記部分行列J2(TU)及びD(TU)を計算機P(k+1)に送信し、かつ、計算機P(k−1)から転送されてきた前記部分行列J2(TU)及びD(TU)を前記行列格納部に格納する第4の段階と、
を有し、
nを部分密度行列D(TS)が転送されるたびに1増加する0から始まる番号とし、t=m/jmaxとして、前記転送条件はi=(n mod t)+1が成り立つときであり、
μ=(j−1)imax+i (i,j={1,2}),
ν=(l−1)kmax+k (k,l={a,b})として、
前記第1の条件はμ≧νであり、
前記第2の条件はμ≦νであり、
前記第3の条件は
μ=ν, μ+ν=奇数 for μ<ν, μ+ν=偶数 for μ>ν
であり、
前記第4の条件は、
μ=ν, μ+ν=奇数 for μ>ν, μ+ν=偶数 for μ<ν
であり、
前記制御部が、前記転送制御部と前記演算処理部とに前記第1乃至第4の段階を前記ノード数だけ繰り返させ、これにより前記行列J,K及び前記フォック行列を計算する、並列計算方法。 - 通信機器を介し相互に接続された複数の計算機からなる計算機クラスタを使用し、分子軌道法におけるハートリー・フォック法の計算を下記の式(a1)に基づくフォック行列Fを用いて計算する方法であり、前記計算機クラスタのノード数をmとして、前記式(a1)を分解して得られる下記の式(a3)に基づくフォック行列を計算するための並列計算方法であって、
r,tの分割数が等しく、かつ、s,uの分割数が等しくなるように、行列F,H,D,J,J1,J2,K,K1,K2は分割数Mの部分行列に分割され、二電子積分はM 2 個の部分に分割され、
分割された1以上N以下の整数r,s,t,uの各範囲を前記各計算機に割り当て、
割り当てられた範囲にしたがって前記部分行列は前記各計算機に重複なく格納され、
割り当てられた範囲にしたがって前記各計算機は二電子積分を計算することとし、
前記各計算機は、前記行列を分割した前記部分行列を格納する行列格納部と、前記計算機クラスタ中の他の計算機に対して前記部分行列を送受信する転送制御部と、前記行列格納部に格納された前記部分行列に関する演算を実行する演算処理部と、演算と転送との繰り返しの制御を行う制御部と、を備え、
前記複数の計算機のおのおのを識別する指標をi,jとして前記各計算機をP(i,j)で表し、i及びjの最大値をそれぞれimax及びjmaxとし、
部分行列の個数が分割数Mとなるように分割された1以上N以下の整数r,s,t,uが前記各計算機に割り当てられた範囲をR,S,T,Uで表し、
前記密度行列の要素がD tu ,D rs ,D ts 及びD ru で表される前記密度行列Dの分割された部分密度行列をそれぞれD(TU),D(RS),D(TS)及びD(RU)とし、
行列要素がJ1 rs で表されるクーロン積分の一部を表す前記行列J1の分割された部分行列をJ1(RS)とし、
行列要素がJ2 tu で表されるクーロン積分の一部を表す前記行列J2の分割された部分行列をJ2(TU)とし、
行列要素がK1 ru で表される交換積分の一部を表す前記行列K1の分割された部分行列をK1(RU)とし、
行列要素がK2 ts で表される交換積分の一部を表す前記行列K2の分割された部分行列をK2(TS)とし、
前記密度行列Dを複数の部分密度行列D(TU),D(RS),D(TS)及びD(RU)に分割して該複数の部分密度行列D(TU),D(RS),D(TS)及びD(RU)を前記複数の計算機の各々の行列格納部に分散して格納する段階と、
前記各計算機において当該計算機の演算処理部が、計算条件が満たされるときに、前記行列格納部に格納された前記部分密度行列D(TU),D(RS),D(TS)及びD(RU)を用いて前記行列J1,J2,K1及びK2の一部分を計算する第1の段階と、
前記各計算機P(i,j)において当該計算機の転送制御部が、転送条件が成立するときに、前記行列格納部に格納されている前記部分行列K1(RU)及びD(RU)を計算機P(i,j+1)に送信し、かつ、計算機P(i,j−1)から転送されてきた前記部分行列K1(RU)及びD(RU)を前記行列格納部に格納する第2の段階と、
前記各計算機P(i,j)において当該計算機の転送制御部が、前記行列格納部に格納されている前記部分行列K2(TS)及びD(TS)を計算機P(i+2,j)に送信し、かつ、計算機P(i−2,j)から転送されてきた前記部分行列K2(TS)及びD(TS)を前記行列格納部に格納する第3の段階と、
k=(j−1)imax+iとして計算機P(i,j)を計算機P(k)と表すことにして、前記各計算機P(k)において当該計算機の転送制御部が、前記行列格納部に格納されている前記部分行列J2(TU)及びD(TU)を計算機P(k+2)に送信し、かつ、計算機P(k−2)から転送されてきた前記部分行列J2(TU)及びD(TU)を前記行列格納部に格納する第4の段階と、
前記制御部が、前記転送制御部と前記演算処理部とに前記第1乃至第4の段階を(ノード数/2)に相当する回数だけ繰り返させることによって、前記行列J1,J2,K1,K2の一部分を計算する第5の段階と、
前記第5の段階による繰り返しののち、各計算機P(i,j)において当該計算機の転送制御部が、転送条件が成立するときに、前記行列格納部に格納されている前記部分行列K1(RU)及びD(RU)を計算機P(i,j+1)に送信し、かつ、計算機P(i,j−1)から転送されてきた前記部分行列K1(RU)及びD(RU)を前記行列格納部に格納する第6の段階と、
前記第5の段階による繰り返しののち、前記各計算機P(i,j)において当該計算機の転送制御部が、前記行列格納部に格納されている前記部分行列K2(TS)及びD(TS)を計算機P(i+1,j)に送信し、かつ、計算機P(i−1,j)から転送されてきた前記部分行列K2(TS)及びD(TS)を前記行列格納部に格納する第7の段階と、
前記第5の段階による繰り返しののち、前記各計算機P(k)において当該計算機の転送制御部が、前記行列格納部に格納されている前記部分行列J2(TU)及びD(TU)を計算機P(k+1)に送信し、かつ、計算機P(k−1)から転送されてきた前記部分行列J2(TU)及びD(TU)を前記行列格納部に格納する第8の段階と、
を有し、
nを部分密度行列D(TS)が転送されるたびに1増加する0から始まる番号とし、t=m/jmaxとして、前記転送条件はi=(n mod t)+1が成り立つときであり、
μ=(j−1)imax+i (i,j={1,2}),
ν=(l−1)kmax+k (k,l={a,b})として、
前記計算条件は
μ=ν, μ+ν=奇数 for μ<ν, μ+ν=偶数 for μ>ν
である、前記行列J,K及び前記フォック行列を計算する、並列計算方法。 - 分子軌道法におけるハートリー・フォック法の計算を下記の式(a1)に基づくフォック行列Fを用いて計算する並列計算装置であり、前記式(a1)を分解して得られる下記の式(a2)に基づくフォック行列を計算するための並列計算装置であって、
通信機器を介し相互に接続された複数の計算機を備える計算機クラスタを有し、
前記計算機クラスタのノード数をmとし、
r,tの分割数が等しく、かつ、s,uの分割数が等しくなるように、行列F,H,D,J,Kは分割数Mの部分行列に分割され、二電子積分はM 2 個の部分に分割され、
分割された1以上N以下の整数r,s,t,uの各範囲が前記各計算機に割り当てられ、
割り当てられた範囲にしたがって前記部分行列は前記各計算機に重複なく格納され、
割り当てられた範囲にしたがって前記各計算機は二電子積分を計算することとし、
前記各計算機は、前記行列を分割した部分行列を格納する行列格納部と、前記計算機クラスタ中の他の計算機に対して前記部分行列を送受信する転送制御部と、前記行列格納部に格納された前記部分行列に関する演算を実行する演算処理部と、を有し、
前記複数の計算機のおのおのを識別する指標をi,jとして前記各計算機をP(i,j)で表し、i及びjの最大値をそれぞれimax及びjmaxとし、
部分行列の個数が分割数Mとなるように分割された1以上N以下の整数r,s,t,uが前記各計算機に割り当てられた範囲をR,S,T,Uで表し、
前記密度行列の要素がD tu 及びD ts で表される前記密度行列Dの分割された部分密度行列をそれぞれD(TU)及びD(TS)とし、
行列要素がJ rs で表されるクーロン積分を表す前記行列Jの分割された部分行列をJ(RS)とし、
行列要素がK ru で表される交換積分を表す前記行列Kの分割された部分行列をK(RU)とし、
前記密度行列Dが前記部分密度行列D(TU)及びD(TS)に分割されて該複数の部分密度行列D(TU)及びD(TS)が前記複数の計算機の各々の行列格納部に分散して格納され、
前記各計算機において当該計算機の演算処理部が前記行列格納部に格納された前記部分密度行列D(TU)及びD(TS)を用いて前記行列J及び前記行列Kの一部分を計算する処理を第1の処理とし、
前記各計算機P(i,j)において当該計算機の転送制御部が、転送条件が成立するときに、前記行列格納部に格納されている前記部分行列K(RU)を計算機P(i,j+1)に送信し、かつ、計算機P(i,j−1)から転送されてきた前記部分行列K(RU)を前記行列格納部に格納する処理を第2の処理とし、
前記各計算機P(i,j)において当該計算機の転送制御部が、前記行列格納部に格納されている前記部分密度行列D(TS)を計算機P(i+1,j)に送信し、かつ、計算機P(i−1,j)から転送されてきた前記部分密度行列D(TS)を前記行列格納部に格納する処理を第3の処理とし、
k=(j−1)imax+iとして計算機P(i,j)を計算機P(k)と表すことにして、前記各計算機P(k)において当該計算機の転送制御部が、前記行列格納部に格納されている前記部分密度行列D(TU)を計算機P(k+1)に送信し、かつ、計算機P(k−1)から転送されてきた前記部分密度行列D(TU)を前記行列格納部に格納する処理を第4の処理とし、
nを部分密度行列D(TS)が転送されるたびに1増加する0から始まる番号とし、t=m/jmaxとして、前記転送条件はi=(n mod t)+1が成り立つときであり、
前記第1乃至第4の処理が前記ノード数mだけ繰り返され、これにより前記フォック行列が算出される、並列計算装置。 - 分子軌道法におけるハートリー・フォック法の計算を下記の式(a1)に基づくフォック行列Fを用いて計算する並列計算装置であり、前記式(a1)を分解して得られる下記の式(a3)に基づくフォック行列を計算するための並列計算装置であって、
通信機器を介し相互に接続された複数の計算機を備える計算機クラスタを有し、
前記計算機クラスタのノード数をmとし、
r,tの分割数が等しく、かつ、s,uの分割数が等しくなるように、行列F,H,D,J,J1,J2,K,K1,K2は分割数Mの部分行列に分割され、二電子積分はM 2 個の部分に分割され、
分割された1以上N以下の整数r,s,t,uの各範囲が前記各計算機に割り当てられ、
割り当てられた範囲にしたがって前記部分行列は前記各計算機に重複なく格納され、
割り当てられた範囲にしたがって前記各計算機は二電子積分を計算することとし、
前記各計算機は、前記行列を分割した部分行列を格納する行列格納部と、前記計算機クラスタ中の他の計算機に対して前記部分行列を送受信する転送制御部と、前記行列格納部に格納された前記部分行列に関する演算を実行する演算処理部と、を有し、
前記複数の計算機のおのおのを識別する指標をi,jとして前記各計算機をP(i,j)で表し、i及びjの最大値をそれぞれimax及びjmaxとし、
部分行列の個数が分割数Mとなるように分割された1以上N以下の整数r,s,t,uが前記各計算機に割り当てられた範囲をR,S,T,Uで表し、
前記密度行列の要素がD tu ,D rs ,D ts 及びD ru で表される前記密度行列Dの分割された部分密度行列をそれぞれD(TU),D(RS),D(TS)及びD(RU)とし、
行列要素がJ1 rs で表されるクーロン積分の一部を表す前記行列J1の分割された部分行列をJ1(RS)とし、
行列要素がJ2 tu で表されるクーロン積分の一部を表す前記行列J2の分割された部分行列をJ2(TU)とし、
行列要素がK1 ru で表される交換積分の一部を表す前記行列K1の分割された部分行列をK1(RU)とし、
行列要素がK2 ts で表される交換積分の一部を表す前記行列K2の分割された部分行列をK2(TS)とし、
前記密度行列Dが複数の前記部分密度行列D(TU),D(RS),D(TS)及びD(RU)に分割されて該複数の部分密度行列D(TU),D(RS),D(TS)及びD(RU)が前記複数の計算機のそれぞれの行列格納部に分散して格納され、
前記各計算機において当該計算機の演算処理部が、第1乃至第4の条件のいずれかが満たされるときに、前記行列格納部に格納された前記部分密度行列D(TU),D(RS),D(TS)及びD(RU)を用いて前記行列J1,J2,K1及びK2の一部分を計算する処理を第1の処理とし、
前記各計算機P(i,j)において当該計算機の転送制御部が、転送条件が成立するときに、前記行列格納部に格納されている前記部分行列K1(RU)及びD(RU)を計算機P(i,j+1)に送信し、かつ、計算機P(i,j−1)から転送されてきた前記部分行列K1(RU)及びD(RU)を前記行列格納部に格納する処理を第2の処理とし、
前記各計算機P(i,j)において当該計算機の転送制御部が、前記行列格納部に格納されている前記部分行列K2(TS)及びD(TS)を計算機P(i+1,j)に送信し、かつ、計算機P(i−1,j)から転送されてきた前記部分行列K2(TS)及びD(TS)を前記行列格納部に格納する処理を第3の処理とし、
k=(j−1)imax+iとして計算機P(i,j)を計算機P(k)と表すことにして、前記各計算機P(k)において当該計算機の転送制御部が、前記行列格納部に格納されている前記部分行列J2(TU)及びD(TU)を計算機P(k+1)に送信し、かつ、計算機P(k−1)から転送されてきた前記部分行列J2(TU)及びD(TU)を前記行列格納部に格納する処理を第4の処理とし、
nを部分密度行列D(TS)が転送されるたびに1増加する0から始まる番号とし、t=m/jmaxとして、前記転送条件はi=(n mod t)+1が成り立つときであり、
μ=(j−1)imax+i (i,j={1,2}),
ν=(l−1)kmax+k (k,l={a,b})として、
前記第1の条件はμ≧νであり、
前記第2の条件はμ≦νであり、
前記第3の条件は
μ=ν, μ+ν=奇数 for μ<ν, μ+ν=偶数 for μ>ν
であり、
前記第4の条件は、
μ=ν, μ+ν=奇数 for μ>ν, μ+ν=偶数 for μ<ν
であり、
前記第1乃至第4の処理が前記ノード数だけ繰り返され、これにより前記行列J,K及び前記フォック行列が計算される、並列計算装置。 - 分子軌道法におけるハートリー・フォック法の計算を下記の式(a1)に基づくフォック行列Fを用いて計算する並列計算装置であり、前記式(a1)を分解して得られる下記の式(a3)に基づくフォック行列を計算するための並列計算装置であって、
通信機器を介し相互に接続された複数の計算機を備える計算機クラスタを有し、
前記計算機クラスタのノード数をmとし、
r,tの分割数が等しく、かつ、s,uの分割数が等しくなるように、行列F,H,D,J,J1,J2,K,K1,K2は分割数Mの部分行列に分割され、二電子積分はM 2 個の部分に分割され、
分割された1以上N以下の整数r,s,t,uの各範囲が前記各計算機に割り当てられ、
割り当てられた範囲にしたがって前記部分行列は前記各計算機に重複なく格納され、
割り当てられた範囲にしたがって前記各計算機は二電子積分を計算することとし、
前記各計算機は、前記行列を分割した部分行列を格納する行列格納部と、前記計算機クラスタ中の他の計算機に対して前記部分行列を送受信する転送制御部と、前記行列格納部に格納された前記部分行列に関する演算を実行する演算処理部と、を有し、
前記複数の計算機のおのおのを識別する指標をi,jとして前記各計算機をP(i,j)で表し、i及びjの最大値をそれぞれimax及びjmaxとし、
部分行列の個数が分割数Mとなるように分割された1以上N以下の整数r,s,t,uが前記各計算機に割り当てられた範囲をR,S,T,Uで表し、
前記密度行列の要素がD tu ,D rs ,D ts 及びD ru で表される前記密度行列Dの分割された部分密度行列をそれぞれD(TU),D(RS),D(TS)及びD(RU)とし、
行列要素がJ1 rs で表されるクーロン積分の一部を表す前記行列J1の分割された部分行列をJ1(RS)とし、
行列要素がJ2 tu で表されるクーロン積分の一部を表す前記行列J2の分割された部分行列をJ2(TU)とし、
行列要素がK1 ru で表される交換積分の一部を表す前記行列K1の分割された部分行列をK1(RU)とし、
行列要素がK2 ts で表される交換積分の一部を表す前記行列K2の分割された部分行列をK2(TS)とし、
前記密度行列Dが複数の前記部分密度行列D(TU),D(RS),D(TS)及びD(RU)に分割されて該複数の部分密度行列D(TU),D(RS),D(TS)及びD(RU)が前記複数の計算機のそれぞれの行列格納部に分散して格納され、
前記各計算機において当該計算機の演算処理部が、計算条件が満たされるときに、前記行列格納部に格納された前記部分密度行列D(TU),D(RS),D(TS)及びD(RU)を用いて前記行列J1,J2,K1及びK2の一部分を計算する処理を第1の処理とし、
前記各計算機P(i,j)において当該計算機の転送制御部が、転送条件が成立するときに、前記行列格納部に格納されている前記部分行列K1(RU)及びD(RU)を計算機P(i,j+1)に送信し、かつ、計算機P(i,j−1)から転送されてきた前記部分行列K1(RU)及びD(RU)を前記行列格納部に格納する処理を第2の処理とし、
前記各計算機P(i,j)において当該計算機の転送制御部が、前記行列格納部に格納されている前記部分行列K2(TS)及びD(TS)を計算機P(i+2,j)に送信し、かつ、計算機P(i−2,j)から転送されてきた前記部分行列K2(TS)及びD(TS)を前記行列格納部に格納する処理を第3の処理とし、
k=(j−1)imax+iとして計算機P(i,j)を計算機P(k)と表すことにして、前記各計算機P(k)において当該計算機の転送制御部が、前記行列格納部に格納されている前記部分行列J2(TU)及びD(TU)を計算機P(k+2)に送信し、かつ、計算機P(k−2)から転送されてきた前記部分行列J2(TU)及びD(TU)を前記行列格納部に格納する処理を第4の処理とし、
前記第1乃至第4の処理を(ノード数/2)に相当する回数だけ繰り返すことによって前記行列J1,J2,K1,K2の一部分を計算する処理を第5の処理とし、
前記第5の段階による繰り返しののち、前記各計算機P(i,j)において当該計算機の転送制御部が、転送条件が成立するときに、前記行列格納部に格納されている前記部分行列K1(RU)及びD(RU)を計算機P(i,j+1)に送信し、かつ、計算機P(i,j−1)から転送されてきた前記部分行列K1(RU)及びD(RU)を前記行列格納部に格納する処理を第6の処理とし、
前記第5の段階による繰り返しののち、前記各計算機P(i,j)において当該計算機の転送制御部が、前記行列格納部に格納されている前記部分行列K2(TS)及びD(TS)を計算機P(i+1,j)に送信し、かつ、計算機P(i−1,j)から転送されてきた前記部分行列K2(TS)及びD(TS)を前記行列格納部に格納する処理を第7の処理とし、
前記第5の段階による繰り返しののち、前記各計算機P(k)において当該計算機の転送制御部が、前記行列格納部に格納されている前記部分行列J2(TU)及びD(TU)を計算機P(k+1)に送信し、かつ、計算機P(k−1)から転送されてきた前記部分行列J2(TU)及びD(TU)を前記行列格納部に格納する処理を第8の処理とし、
nを部分密度行列D(TS)が転送されるたびに1増加する0から始まる番号とし、t=m/jmaxとして、前記転送条件はi=(n mod t)+1が成り立つときであり、
μ=(j−1)imax+i (i,j={1,2}),
ν=(l−1)kmax+k (k,l={a,b})として、
前記計算条件は
μ=ν, μ+ν=奇数 for μ<ν, μ+ν=偶数 for μ>ν
であり、前記第1乃至第8の処理が実行されて前記行列J,K及び前記フォック行列が計算される、並列計算装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003330290 | 2003-09-22 | ||
JP2003330290 | 2003-09-22 | ||
PCT/JP2004/013734 WO2005029352A1 (ja) | 2003-09-22 | 2004-09-21 | 並列計算方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2005029352A1 JPWO2005029352A1 (ja) | 2006-11-30 |
JP4612546B2 true JP4612546B2 (ja) | 2011-01-12 |
Family
ID=34372986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005514078A Expired - Fee Related JP4612546B2 (ja) | 2003-09-22 | 2004-09-21 | 並列計算方法及び装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7885796B2 (ja) |
JP (1) | JP4612546B2 (ja) |
WO (1) | WO2005029352A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8386193B2 (en) * | 2004-09-27 | 2013-02-26 | Japan Science And Technology Agency | Molecular orbital computing device for elongation method |
US8065503B2 (en) * | 2006-12-15 | 2011-11-22 | International Business Machines Corporation | Iteratively processing data segments by concurrently transmitting to, processing by, and receiving from partnered process |
KR101472417B1 (ko) * | 2013-07-09 | 2014-12-12 | 주식회사 엘지화학 | 순차적 블록 구성을 통한 분자 오비탈 특성 해석 방법 및 이를 이용한 시스템 |
US9836563B2 (en) * | 2013-09-26 | 2017-12-05 | Synopsys, Inc. | Iterative simulation with DFT and non-DFT |
US10516725B2 (en) | 2013-09-26 | 2019-12-24 | Synopsys, Inc. | Characterizing target material properties based on properties of similar materials |
US10489212B2 (en) | 2013-09-26 | 2019-11-26 | Synopsys, Inc. | Adaptive parallelization for multi-scale simulation |
US20160162625A1 (en) | 2013-09-26 | 2016-06-09 | Synopsys, Inc. | Mapping Intermediate Material Properties To Target Properties To Screen Materials |
US10402520B2 (en) | 2013-09-26 | 2019-09-03 | Synopsys, Inc. | First principles design automation tool |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6158076A (ja) * | 1984-08-29 | 1986-03-25 | Sumitomo Electric Ind Ltd | 連立一次方程式シミユレ−タ |
JPS63238653A (ja) * | 1986-11-27 | 1988-10-04 | Nippon Telegr & Teleph Corp <Ntt> | データ処理装置とその処理方法 |
JP2000020501A (ja) * | 1998-07-03 | 2000-01-21 | Toshiba Corp | 並列計算機システム及びその演算処理装置間の通信方法 |
JP2000298658A (ja) * | 1999-04-13 | 2000-10-24 | Fuji Xerox Co Ltd | 並列処理方法および並列処理装置 |
JP2000305923A (ja) * | 1999-04-21 | 2000-11-02 | Fuji Xerox Co Ltd | 行列要素の並列計算方法および分子軌道計算方法 |
JP2003099408A (ja) * | 2001-09-25 | 2003-04-04 | Japan Science & Technology Corp | 並列計算方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0950428A (ja) | 1995-08-10 | 1997-02-18 | Hitachi Ltd | 分子軌道解析用計算システム |
JPH0950458A (ja) | 1995-08-10 | 1997-02-18 | Hitachi Ltd | 分子軌道に関する2電子積分の計算方法 |
JP2000293494A (ja) | 1999-04-09 | 2000-10-20 | Fuji Xerox Co Ltd | 並列計算装置および並列計算方法 |
JP4475614B2 (ja) | 2000-04-28 | 2010-06-09 | 大正製薬株式会社 | 並列処理方法におけるジョブの割り当て方法および並列処理方法 |
-
2004
- 2004-09-21 US US10/572,745 patent/US7885796B2/en not_active Expired - Fee Related
- 2004-09-21 JP JP2005514078A patent/JP4612546B2/ja not_active Expired - Fee Related
- 2004-09-21 WO PCT/JP2004/013734 patent/WO2005029352A1/ja active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6158076A (ja) * | 1984-08-29 | 1986-03-25 | Sumitomo Electric Ind Ltd | 連立一次方程式シミユレ−タ |
JPS63238653A (ja) * | 1986-11-27 | 1988-10-04 | Nippon Telegr & Teleph Corp <Ntt> | データ処理装置とその処理方法 |
JP2000020501A (ja) * | 1998-07-03 | 2000-01-21 | Toshiba Corp | 並列計算機システム及びその演算処理装置間の通信方法 |
JP2000298658A (ja) * | 1999-04-13 | 2000-10-24 | Fuji Xerox Co Ltd | 並列処理方法および並列処理装置 |
JP2000305923A (ja) * | 1999-04-21 | 2000-11-02 | Fuji Xerox Co Ltd | 行列要素の並列計算方法および分子軌道計算方法 |
JP2003099408A (ja) * | 2001-09-25 | 2003-04-04 | Japan Science & Technology Corp | 並列計算方法 |
Also Published As
Publication number | Publication date |
---|---|
US20060271301A1 (en) | 2006-11-30 |
JPWO2005029352A1 (ja) | 2006-11-30 |
US7885796B2 (en) | 2011-02-08 |
WO2005029352A1 (ja) | 2005-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111582491B (zh) | 一种量子线路的构建方法及装置 | |
Pan et al. | An effective hybrid discrete differential evolution algorithm for the flow shop scheduling with intermediate buffers | |
CN112068798B (zh) | 一种实现网络节点重要性排序的方法及装置 | |
CN114764549B (zh) | 基于矩阵乘积态的量子线路模拟计算方法、装置 | |
CN114080614A (zh) | 用于量子计算的交换网络 | |
CN111914378B (zh) | 一种单振幅量子计算模拟方法及装置 | |
US20200090051A1 (en) | Optimization problem operation method and apparatus | |
CN114492814B (zh) | 基于量子计算模拟目标体系能量的方法、装置及介质 | |
CN114418105B (zh) | 一种基于量子线路处理量子应用问题的方法及装置 | |
JP4612546B2 (ja) | 並列計算方法及び装置 | |
WO2020221583A1 (en) | System and method for molecular design on a quantum computer | |
CN114528996B (zh) | 一种目标体系试验态初始参数的确定方法、装置及介质 | |
CN114492815B (zh) | 一种基于量子化学计算目标体系能量的方法、装置及介质 | |
Novoselsky et al. | Coefficients of fractional parentage in the L–S coupling scheme | |
CN113222151B (zh) | 一种量子态的变换方法及装置 | |
JP7087871B2 (ja) | 最適化問題演算プログラム、最適化問題演算方法および最適化問題演算装置 | |
CN113222160A (zh) | 一种量子态的转换方法及装置 | |
CN115809705A (zh) | 基于量子计算的流体动力学计算***及量子计算机 | |
CN114692880B (zh) | 一种量子线路中量子态振幅的模拟方法及装置 | |
CN116052759A (zh) | 一种哈密顿量构造方法及相关装置 | |
JP7004937B2 (ja) | 最適化装置、最適化装置の制御方法および最適化装置の制御プログラム | |
CN114519429A (zh) | 获取目标体系的可观测量的方法、装置及介质 | |
CN115511094B (zh) | 量子线路执行结果确定方法、装置及量子计算机操作*** | |
CN115907016B (zh) | 一种基于量子计算搜索目标范围值的方法及相关装置 | |
Seal | An accelerated recursive doubling algorithm for block tridiagonal systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070813 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100426 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100602 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100831 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100908 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100929 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101015 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131022 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |