JPH06223052A - 多体問題用計算装置及び計算方法 - Google Patents

多体問題用計算装置及び計算方法

Info

Publication number
JPH06223052A
JPH06223052A JP1203293A JP1203293A JPH06223052A JP H06223052 A JPH06223052 A JP H06223052A JP 1203293 A JP1203293 A JP 1203293A JP 1203293 A JP1203293 A JP 1203293A JP H06223052 A JPH06223052 A JP H06223052A
Authority
JP
Japan
Prior art keywords
particle
particles
calculation
storage means
force
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.)
Granted
Application number
JP1203293A
Other languages
English (en)
Other versions
JP3196908B2 (ja
Inventor
Shinjiro Toyoda
新次郎 豊田
Hitoshi Ikeda
仁 池田
Takayoshi Hashimoto
栄利 橋本
Nobuaki Miyagawa
宣明 宮川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP1203293A priority Critical patent/JP3196908B2/ja
Priority to US08/186,029 priority patent/US5596511A/en
Publication of JPH06223052A publication Critical patent/JPH06223052A/ja
Application granted granted Critical
Publication of JP3196908B2 publication Critical patent/JP3196908B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【目的】 一つの計算回路当たりの近傍リストに記録す
べき粒子の数を減らすことにより、近傍リスト記憶用の
メモリとして小容量のものを使用できるようにするこ
と。 【構成】 複数の粒子からなる系の特定粒子に働く力
を、特定粒子と近傍粒子との相互作用の総和として計算
する多体問題用計算装置において、元の系を粒子密度が
疎らな複数の系に分割し、各系の計算回路9において、
元の系より少ない数の近傍粒子の番号を近傍リスト記憶
手段8に記憶させ、この近傍粒子の番号に基づいて粒子
座標記憶手段3から近傍粒子の座標を読み出し、この近
傍粒子の座標と特定粒子座標記憶手段5に格納されてい
る特定粒子の座標とから粒子間距離計算手段4により粒
子間距離rを計算し、粒子間距離rから計算手段6によ
り力を計算し、加算手段10により各系での力を合計し
て元の系における力を求める。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、分子動力学法における
力またはポテンシャルの計算を、効率良く扱うための専
用計算装置及び計算方法に関する。
【0002】
【従来の技術】液体や固体、或いは高分子などの挙動
を、それらを構成する原子の動きの結果として考え、そ
の動きを計算機でシミュレーションして研究する分野を
分子動力学法という。以下の説明では粒子という言葉
を、原子と同じ意味で用いる。分子動力学法では、実際
の物質の中から適当な領域を切り出して、そこに含まれ
る全ての原子の座標、質量、電荷量や速度等を計算機中
にモデル化する。例えば10,000個の粒子からなる
系(モデル)を考えると、或るi番目の粒子に働く力
は、それ以外の9,999個の粒子との間に働く力の総
和である。従って、力の計算を9,999回行い、それ
らの総和を計算しなければならない。更に、この計算を
全ての粒子について行うので、99,990,000回
の計算が必要になる。こうして求めた力から各粒子の加
速度を計算し、微小時間後の各粒子の速度や座標を計算
する。このように、各粒子の新しい速度や座標が求まる
ことを、計算が1ステップ進んだと呼ぶことにする。分
子動力学法では、数千から数万ステップの計算を行うこ
とが必要になる。
【0003】上の説明から明らかなように、一般にN個
の粒子からなる系では力の計算量はほぼN2 に比例し、
速度や座標の計算量はNに比例する。従って、Nが大き
くなると力の計算量が膨大になるので、スーパーコンピ
ュータを使っても計算が難しくなる。そこで、力の計算
を高速化するための専用計算機が必要になってくる。
【0004】このような分子動力学専用計算機として
は、文献“FASTRUN:A Special Pu
rpose, Hardwired Computer
for Molecular Simulatio
n”,PROTEINS:Structure, Fu
nction, and Genetics 11:2
42−253(1991)(以下、従来例1と呼ぶ)に
記載の装置が知られている。
【0005】原子間に働く力には幾つかの種類がある
が、ファンデルワールス力はどの原子間にも働く力であ
るから、必ず計算しなければならない物理量である。こ
の力は、良く知られたL−J(レナードジョーンズ)型
ポテンシャルで表されることが多い。この力をFLJ、粒
子間距離をrとすると、 FLJ=A(B6 -7−2B12-13 ) ・・・ (1) と表される。AとBは粒子の種類によって決まる定数で
ある。この式から明らかなように、rの次数が負で大き
いのでFLJはrが大きくなると急激に小さくなる。従っ
て、FLJに要求される計算精度に応じて、適当なカット
オフ距離rc が定まり、rc 以遠の粒子から働く力を0
とみなし計算しないことにする。この様子を図4に示
す。破線の内側が考えている系である。黒点で示す或る
i番目の粒子の周りに半径rc の球面を考え、その内側
に在る網がかかった粒子との間でのみ力を計算し、それ
以外の白点の粒子との間の力は計算しない。このよう
に、或るi粒子から半径rc の球面以内に存在する粒子
の番号をリストにしたものを、i粒子の近傍リストと呼
ぶことにする。
【0006】例えば、物質として水を考えると、rc
1nmにすれば、約340個の原子が球面の内側に含ま
れ、rc を2.8nmにすれば、約7,500個の原子
が球面の内側に含まれる。球面の内側に含まれる原子数
は、同じrc でも物質によって当然異なるし、温度や圧
力が変わっても変化するが、rc の値に応じて上で述べ
たオーダーの原子がリストに含まれると考えられる。前
述の10,000個の系で、rc を1nmにして力を計
算すると、粒子1個に働く力の計算が約340回になる
ので、340÷9999=0.034と計算量が1/3
0になる。逆に言えば、30倍速く計算できることにな
る。このように近傍リストを使用すると、力の計算を高
速に行うことができる。また、1つの粒子の周りに存在
する粒子数は、系に含まれる総粒子数Nによらずほぼ一
定と考えられるので、近傍リストを使用すれば力の計算
量はNに比例することになる。しかし、rc 以遠の粒子
の影響を無視するので、近傍リストを使うと打切り誤差
が発生する。これを少なくするにはrc を大きくすれば
良いが、そうすると近傍リストに含まれる粒子数が増え
てしまう。結局、計算時間と計算精度との兼ね合いから
c が決められる。
【0007】このような観点から、先に述べた従来例1
では、rc よりも近い粒子の組を粒子対表(ペアリス
ト)としてホストコンピュータ上で予め作り、それを基
に専用計算機で力を計算するようにしている。ところ
で、ペアリストを使う場合の課題として、リストを記憶
する為のメモリ容量がある。上記従来例1では、ペアリ
ストの個数の例として、系全体に含まれる粒子数が2,
204個で、rc を1.5nmとした場合に、粒子対が
583,267となっている。1つの粒子対の記憶に3
2ビット(4バイト)必要とすると、この場合は約2.
3メガバイトである。この程度のメモリ容量ならば実現
は容易である。ところで、生体膜などを扱おうとする
と、粒子数は100,000のオーダになる。また、計
算精度を上げるためにrc を2.8nmにすると、1つ
の粒子の周りに約7,500個の粒子が存在するので、
7,500×100,000×4÷2=1.5ギガバイ
トの容量が必要になり、実現困難になる。つまり、従来
例1の技術では粒子数が少ない系しか扱えず、しかも計
算精度を犠牲にしなければならない、という問題があっ
た。従来例1の別の問題として、クーロン力の扱いがあ
る。原子が少しでも電荷を帯びると、原子間にはクーロ
ン力が働く。クーロン力をFC とすると、 FC =CDr-2 ・・・ (2) と表される。CとDはそれぞれの原子の電荷量である。
クーロン力の場合はrの次数が小さいので、rが大きく
なってもFC は直ぐには小さくならない。このように、
クーロン力は遠くまで力が及ぶ長距離力なので、カット
オフ距離rc を導入すると、かなり大きな打切り誤差が
含まれてしまう。従って、従来例1の技術では、計算精
度を犠牲にしてカットオフ距離rc を導入するか、また
はN2 ÷2に相当する膨大なペアリストを用意しなけれ
ばならないという問題があった。
【0008】また、力を計算する別の装置として、“G
RAPE−2A:A Special Purpose
Computer for Simulations
of Many−Body Systems wit
h Arbitrary Central Forc
e”,Proceedings of the twe
nty−fifth HAWAII internat
ional conference on syste
m sciences,P171〜180(以下、従来
例2と呼ぶ)に記載の装置が知られている。この装置の
基本機能を図5に示す。1はアドレスを指定するための
アドレス手段であり、3は複数粒子の各座標を記憶する
ための座標記憶手段であり、5は特定粒子の座標を記憶
するための座標記憶手段であり、4は座標間距離を計算
する手段であり、6は距離から力を計算する手段であ
る。
【0009】座標記憶手段3には図示しない装置によっ
て、全ての粒子の座標が予め書き込まれている。座標記
憶手段5には図示しない装置によって、特定粒子の座標
が予め書き込まれている。計算が始まるとアドレス手段
1から座標記憶手段3にアドレスが与えられ、そこに格
納されている粒子の座標が読み出される。読み出された
座標は距離計算手段4に与えられ、距離計算手段4では
その座標と、座標記憶手段5から得られる座標とから、
二つの粒子間の距離を計算する。計算された粒子間距離
は力の計算手段6に与えられ、ここで力が計算される。
その後アドレス手段1からのアドレスが1増加し、次の
粒子のアドレスを生成する。このようにして、特定粒子
と、それ以外の全ての粒子との間の力が計算される。こ
の場合には特定粒子が変わっても、座標記憶手段3の内
容を書き換える必要が無い。
【0010】この装置を用いて特定粒子に働く力を、近
傍リストに従って計算するには、座標記憶手段3に図示
しない装置によって、近傍リストに記録された粒子の座
標だけを予め書き込めば良い。しかし、この場合には力
を計算する特定粒子が変わると、それに伴って近傍リス
トが変わるので、座標の記憶手段3を書き換えなければ
ならない。座標にはx,y,zの三つの成分があるの
で、それぞれが32ビットで表されるとすれば、1つの
粒子当たり12バイトのデータを書き換えなければなら
ない。近傍リストに7,500個の粒子が含まれるとす
れば、90キロバイトのデータを書き換えなければなら
ないことになり、データ転送時間が膨大にかかってしま
う。つまり、従来例2では、近傍リストを使うことによ
り力の計算量は減るが、近傍リストの転送時間が必要に
なるために、計算速度があまり速くならないという問題
があった。
【0011】
【発明が解決しようとする課題】上述したように、従来
の多体問題用計算装置においては、近傍リストに多量の
データを記録する必要があったため、近傍リスト記憶用
のメモリとして大容量のものを使用する必要がある。こ
のため、多体問題用計算装置を集積回路化する場合にL
SI内にメモリを内蔵させることが困難となって外付け
する必要がある。しかしながらメモリを外付けにした場
合、メモリ以外の計算装置部分を集積回路化しLSIを
構成したとしても、LSIとメモリとの間の接続のため
にLSIから多数のピンを導出しなければならず、集積
回路化の利点が生かされないという問題がある。また、
メモリの容量が大きい場合、メモリ内容の書き換えに時
間がかかってしまい、計算速度が遅くなるという問題が
ある。
【0012】そこで、本発明の目的は、元の系を粒子密
度が疎らな複数の系に分割し、一つの計算回路当たりの
近傍リストに記録すべき粒子の数を減らすことにより、
近傍リスト記憶用のメモリとして小容量のものを使用で
きるようにすることである。
【0013】
【課題を解決するための手段】本発明は、前記目的を達
成するため、N個(Nは2以上の整数)の粒子からなる
系の、或る特定粒子に働く力又はポテンシャルを、前記
特定粒子と該特定粒子の近傍のL個(Lは0または正の
整数)の近傍粒子との相互作用の総和として計算する多
体問題用計算装置において、約L/M個(Mは2以上の
整数)の近傍粒子の番号を記憶する粒子番号記憶手段
と、該粒子番号記憶手段に順次アドレスを供給するアド
レス手段と、約N/M個の粒子の座標を記憶する粒子座
標記憶手段と、前記特定粒子の座標を記憶する特定粒子
座標記憶手段と、該特定粒子座標記憶手段に格納されて
いる特定粒子の座標と前記アドレス手段のアドレスに応
じて前記粒子番号記憶手段から読み出される粒子番号に
従って前記粒子座標記憶手段から読み出された座標とか
ら粒子間距離rを計算する粒子間距離計算手段と、該粒
子間距離計算手段により計算された粒子間距離rから力
又はポテンシャルを計算する手段とからなる計算回路を
M回路分設け、更に、前記M回路分の計算回路により計
算された力又はポテンシャルを合計する加算手段を設け
たことを特徴とする。
【0014】前記粒子間距離rに代えて粒子間距離rの
2乗r2 を計算し、この値r2 から力又はポテンシャル
を計算するようにしてもよい。
【0015】前記各計算回路は、それぞれ独立して集積
回路化することができる。
【0016】また、本発明は、N個(Nは2以上の整
数)の粒子からなる系の、或る特定粒子に働く力又はポ
テンシャルを、その粒子の近傍のL個(Lは0または正
の整数)の粒子との相互作用の総和として計算する多体
問題用計算方法において、元の系を、分割後のそれぞれ
の系の粒子密度が、元の系の粒子密度のほぼ1/Mにな
るように、M個(Mは2以上の整数)の疎らな系に分割
し、M個の計算回路上で、それぞれの系が同一の特定粒
子に及ぼす力又はポテンシャルを計算し、それらの計算
結果を加算することにより、元の系における特定粒子に
働く力又はポテンシャルを求めることを特徴とする。
【0017】上記多体問題用計算方法において、N個の
粒子からなる系を、M個の系に分割するに際しては、分
割されたそれぞれの部分に含まれる粒子数が最大でも1
0M個程度になるよう、元の系をx軸方向にI個、y軸
方向にJ個、z軸方向にK個(I,J,Kは正整数)に
分割し、分割された部分に含まれる粒子を、x座標値、
又はy座標値、又はz座標値の大小の順にM個の系に分
類することにより、元の系のほぼ1/Mの粒子密度のM
個の系に分割することが望ましい。
【0018】
【作用】本発明においては、元の系が複数の系に分割さ
れるので分割された各系における粒子の密度は疎らにな
る。したがって、各系における計算の対象となる粒子の
数が減少し、特定粒子の近傍に位置する粒子の番号を記
憶するための粒子番号記憶手段として容量が少ないメモ
リを使用することができる。したがって、粒子番号記憶
手段を構成するメモリを集積化してLSI内に組み込む
ことが可能となる。
【0019】
【実施例】以下、図面を参照しながら実施例に基づいて
本発明の特徴を具体的に説明する。
【0020】図1は、本発明の多体問題用計算装置の実
施例を示すブロック図である。なお、図5に示す従来例
2のブロック図と対応する部材には同一符号を付してい
る。図1に示す多体問題用計算装置においては、2回路
分の力の計算回路9,9が設けられている。各計算装置
は同一構成を有しているので、一方の計算装置の構成に
ついてのみ説明する。
【0021】力の計算回路9は、粒子番号に対応するア
ドレスを指定する第1のアドレス手段1と、第1のアド
レス手段1からのアドレスと後述する近傍リスト記憶手
段8からの粒子番号を択一的に選択するアドレス選択手
段2と、計算の対象となる粒子の座標を記憶するための
粒子座標記憶手段3と、特定粒子と他の各粒子との粒子
間距離を計算する計算手段4と、特定粒子の座標を記憶
する特定粒子座標記憶手段5と、計算手段4により計算
された粒子間距離に基づいて力を計算する力の計算手段
6と、第2のアドレス手段7と、この第2のアドレス手
段7によりアドレスが指定される近傍リスト記憶手段8
とを有している。他方の力の計算回路9も同様な構成を
有している。二つの力の計算回路9でそれぞれ独立に計
算された力は、加算手段10で加算され最終的な力が計
算される。
【0022】初めに図1に示す計算装置の1回路分の作
用を説明し、次いで2回路分用意する理由を説明する。
図1に示す計算装置においては、特定のi番目の粒子に
働く力を計算するに際し、近傍リストを使用しない計算
と、近傍リストを使用した計算の双方が実行可能であ
る。
【0023】先ず、近傍リストを使わない場合について
説明する。特定粒子であるi粒子の座標(xi ,yi
i )は図示しない装置によって、予め特定粒子座標記
憶手段5に格納されている。また、全ての粒子の座標が
図示しない装置によって、粒子座標記憶手段3に予め格
納されている。各粒子には個別の粒子番号0〜jが割り
当てられている。第1のアドレス手段1には初めの粒子
番号j(最大粒子番号)が、図示しない装置によって設
定されている。この第1のアドレス手段1は、たとえ
ば、ダウンカウンタから構成され、外部からトリガパル
スが供給される度にアドレスが1だけデクリメントされ
る。また、アドレス選択手段2はA入力、すなわち、第
1のアドレス手段1からのアドレスを選んだ状態になっ
ている。なお、第2のアドレス手段7と近傍リスト記憶
手段8の状態は不定で良い。
【0024】計算が始まると、初めの粒子番号jが第1
のアドレス手段1からアドレス選択手段2を通して粒子
座標記憶手段3のアドレス入力に供給される。従って、
粒子座標記憶手段3からは初めの粒子座標(xj
j ,zj )が読み出されて、粒子間距離の計算手段4
に供給される。なお、粒子番号とアドレスとは1対1に
対応している。
【0025】粒子間距離の計算手段4では式 rj ={(xj −xi 2 +(yj −yi 2 +(zj
−zi 2 1/2 により、粒子間距離rj が計算される。rj は力の計算
手段6に供給される。力の計算手段6では、たとえば、
先に説明した式(1)或いは式(2)に基づいてrj
ら力が計算される。初めの粒子についての処理が終わる
と、第1のアドレス手段1からのアドレスを1減少さ
せ、次の粒子について処理をする。このようにして、全
ての粒子からi番目の粒子に働く力が計算される。
【0026】なお、粒子座標記憶手段3には全ての粒子
の座標が含まれているので、当然i番目の粒子に働く力
も計算される。しかし、これは実際には存在しない力で
あり、式(1)からその値は無限大となり、計算結果が
無意味なものとなる。そこで、j=iであるときは、r
j が0となることに着目して、rj =0が検出されたと
きには、力を無条件に0としている。
【0027】次に近傍リストを使う場合について説明す
る。i粒子から距離rc 以内に在る粒子の番号が、近傍
リスト記憶手段8に図示しない装置によって予め格納さ
れている。第2のアドレス手段7には近傍リストの最後
の番地が、図示しない装置によって予め格納されてい
る。第2のアドレス手段7は、たとえば、ダウンカウン
タから構成され、外部からトリガパルスが供給される度
にアドレスが1だけデクリメントされる。アドレス選択
手段2はB入力、すなわち、近傍リスト記憶手段8から
の粒子番号を選ぶように、図示しない装置によって切り
替えられる。
【0028】計算が始まると、第2のアドレス手段7か
ら近傍リストの最後の番地が、近傍リスト記憶手段8に
与えられる。従って、近傍リスト記憶手段8から近傍リ
ストの最後の番号nが読み出され、粒子座標記憶手段3
に供給される。粒子座標記憶手段3からは、粒子の座標
(xn ,yn ,zn )が読み出され、粒子間距離の計算
手段4に供給される。粒子間距離の計算手段4では粒子
間距離rn が計算され、rn が力の計算手段6に供給さ
れ力が計算される。近傍リストの最後の粒子についての
処理が終わると、第2のアドレス手段7からのアドレス
を1減少させ次の粒子について処理をする。このように
して、近傍リストに記憶されている全ての粒子について
力が計算される。
【0029】近傍リストを使う場合には、特定粒子が変
わると、特定粒子座標記憶手段5のデータと、近傍リス
ト記憶手段8の内容を書き換えなければならない。近傍
リストに記憶されているのは粒子番号なので、この粒子
番号が32ビット以内で表されるとすると、先に述べた
x,y,zの各座標成分を書き換える従来例2に比べて
データ転送量が1/3以下で済む。従って、1ステップ
の計算を高速に行うことができる。
【0030】次に前記計算装置が2回路分用意されてい
る理由について説明する。特定粒子に働く力の計算は、
他の粒子に働く力の計算とは独立に行うことができる。
従って、前記計算装置を2回路分並べて、二つの粒子に
働く力を同時に計算すれば、1ステップの計算時間を半
分に短縮できることになる。このように、分子動力学に
於ける力の計算は、基本的に並列計算機システムに向い
ている。
【0031】並列計算機を構成する場合には、装置全体
を小型で安価にしたいので、1つの計算装置はできるだ
け小さく、しかも低コストで実現する必要がある。この
目的を達成するためには、力の計算機能全体を1個の集
積回路にできれば都合が良い。ところが、粒子座標記憶
手段3には100,000個以上の粒子の座標を格納し
なければならないので、少なくとも1.2メガバイト程
度以上の容量が必要である。このような大容量のメモリ
を含む回路を1チップ化することは、現在の技術では実
用的ではない。また、扱う粒子数は将来ますます増加す
ると考えられるので、粒子座標記憶手段3は外部メモリ
で構成するのが良い。
【0032】扱える系の最大粒子数が100,000個
程度であり、近傍リストに記憶される粒子数が最大8,
000個程度であるとすると、近傍リスト記憶手段8に
は8K×17ビットのメモリが必要になる。近傍リスト
に記憶される粒子数は計算精度から決まるので、今後そ
れ程増えるとは考えられない。但し、後の説明から明ら
かになるように、近傍リストの粒子数が増える程、本発
明の計算方法が有効になる。また、扱う系の最大粒子数
が2倍になっても17ビットが18ビットになるだけで
ある。従って、この程度のメモリ容量であれば、近傍リ
スト記憶手段8は集積回路に内蔵することができる。こ
のメモリを外部メモリとすると、アドレス線に13本、
データ線に17本、チップセレクトとライトイネーブル
にそれぞれ1本で、合計32本の信号端子が必要にな
り、集積回路のパッケージが問題になる。また、実装す
るICの数が増え、回路全体を小型化する目的から外れ
てしまうことになる。
【0033】ところで、集積回路の製造コストを考える
と、内蔵するメモリの容量はできるだけ少ない方が良
い。しかし、内蔵するメモリの容量が少ないと、近傍リ
ストの粒子数が制限され、計算精度を高くできないこと
になる。
【0034】図1に示す構成は、この矛盾する要求を解
決する技術である。本発明の計算原理を図2を基に説明
する。図2(a)に示す図は先に説明した図4に対応し
ている。破線で囲まれた系Aに多数の粒子が含まれてお
り、黒丸で表される特定粒子の周りに半径rc の球面を
考え、その内部に在る網がかかった粒子が近傍リストに
入ることを表している。図2(b),(c)は、同図
(a)に示す元の系Aを二つの疎らな系B,Cに分割す
ることを示している。後述するように分割の方法を工夫
すれば、分割後の系の粒子密度が系の至る所で、元の系
の粒子密度のおよそ半分になるようにできる。それぞれ
の系B,Cは粒子密度がおよそ半分なので、近傍リスト
に入る粒子数もおよそ半分になる。ここで重要な点は、
カットオフ距離rc を変えていないので、計算精度を落
とさずに近傍リストの粒子数を約半分にできることであ
る。特定粒子に働く力は、近傍に在る粒子から個別に与
えられる力の総和であるから、このように二つに分割し
たそれぞれの系で、特定粒子に働く力を計算し、それを
ホストコンピュータ等に設けられた加算手段10で加え
れば、最終的に特定粒子に働く力が求められる。つま
り、このように系Aを二つの疎らな系B,Cに分割して
計算する方法を取れば、近傍リストに必要なメモリ容量
がおよそ半分で済むことになる。図1に示す実施例で
は、力の計算回路が二つあるので、図2(b),(c)
に示される二つの疎らな系B,Cを同時に扱うことがで
きる。
【0035】このように系を分割する方法を取る場合の
計算時間について考えてみると、系Aを二つの疎らな系
B,Cに分割するのは計算の最初に1度だけで良いか
ら、数千から数万ステップの計算を行う全体の計算時間
からみれば、無視できるレベルである。ところで、系A
を二つの系B,Cに分割する場合、図2(b)の近傍リ
ストに含まれる粒子数と、同図(c)の近傍リストに含
まれる粒子数とが、完全に同じになる確率は少ない。近
傍リストに含まれる粒子数に差が有る場合には、少ない
方が早く計算を終えてから、多い方が計算を終えるまで
の時間差が無駄になる。従って、全体を1つの計算回路
で処理する場合に比べて、差の分だけ余計に時間がかか
ることになる。しかし、分割を適当にすることにより、
全体の計算時間に占める無駄時間の割合は小さくでき
る。また、力の計算装置を小さく安く実装できれば、そ
れを多数個搭載することが容易になるので、結局全体の
計算時間を短くすることができる。
【0036】最後に、元の系Aを二つの疎らな系B、C
に分割する方法について説明する。図3は実際には3次
元の系を、説明の為に2次元で表したものである。先
ず、元の系をx軸方向でI等分、y軸方向でJ等分、z
軸方向でK等分する。I,J,Kは正整数であり、この
様にして区切られた1つのメッシュに含まれる粒子数
が、1個から20個程度になるように適当な値を選べば
良い。1つのメッシュに含まれる粒子数が20個、すな
わち、分割数×10個より多くなると、後述するよう
に、座標の値に応じて粒子を振り分けるときの処理が面
倒になるという不都合がある。このように分割されたメ
ッシュをD(i,j,k)で表すことにする。i,j,
kは(1≦i≦I,1≦j≦J,1≦k≦K)を満足す
る正整数である。次にD(1,1,1)(図3の網がか
かった部分)に含まれる粒子の中で、x座標が最も小さ
いものを系Bに含まれるとし、x座標が2番目に小さい
ものを系Cに含まれるとする。このようにx座標値の大
きさによって交互に振り分けていく。もしも複数粒子の
x座標値が同一であるならば、y座標値が小さいものを
先に振り分ける。もしもy座標値まで同じものが在る場
合には、z座標値が小さいものを先に振り分ける。ここ
でz座標値まで同一のものは無い。このようにしてD
(1,1,1)の分類が終わったならば、次にD(2,
1,1)を分類する。D(2,1,1)の最初に分けら
れる粒子は、D(1,1,1)の最後の粒子が系Bに入
れられた場合には系Cに、系Cに入れられた場合には系
Bに入れる。このようにして、順次全てのメッシュに含
まれる粒子を、二つの系B、Cに分類すれば、粒子密度
が元の系のほぼ1/2であるような、二つの疎らな系
B、Cが得られる。
【0037】このように本発明によれば、近傍リストを
使わずに長距離力が計算でき、また近傍リストを使って
力を高速に計算することもできる。更に、近傍リストを
使った場合の計算精度を上げたい時には、扱う系を二つ
の疎らな系に分割することにより、近傍粒子番号を二つ
の近傍リストに分散して格納できる。このため1つの計
算装置に内蔵する近傍リスト用メモリを少なくできるの
で、1つの計算装置を低いコストで集積回路にまとめる
ことができ、この集積回路を複数用いることにより、高
速で安価な分子動力学専用計算機が得られる、という効
果を奏する。
【0038】なお、上述した実施例では、力を計算する
回路が2回路であるとしているが、これに制限されるも
のではなく、一般に2以上の回路で良い。回路数を多く
用意すれば、それだけ計算速度を向上させることができ
る。
【0039】また、上述した実施例では、近傍リストを
使う場合には系を二つの疎らな系に分割して扱うとして
いるが、これに制限されるものではない。近傍リストが
計算回路二つ分の近傍リスト手段に入り切らず、しかも
力の計算回路が3回路以上ある場合には、三つ以上の疎
らな系に分割しても良い。逆に、近傍粒子数が少ない場
合には、系を分割しなくても良い。
【0040】また、上述した実施例では、粒子に働く力
を計算しているが、これに制限されるものではなく、粒
子のポテンシャルやビリアルを計算しても良い。
【0041】また、上述した実施例では、第1のアドレ
ス手段1にはダウンカウンタを用い、計算実行時に最大
粒子番号から減少させるとしているが、これに制限され
るものではなく、アップカウンタを用いても同様の機能
を実現できる。但し、その場合には、カウント値がカウ
ンタの最大カウント値になったら計算を終了するように
するか、または、最大粒子番号を記憶するレジスタを設
け、カウント値がそのレジスタに格納されている値と等
しくなったら計算を終了するようにする。
【0042】また、第2のアドレス手段7は、計算実行
時にダウンカウンタとして動作するとしているが、これ
に制限されるものではなく、第1のアドレス手段1と同
様に、アップカウンタを用いても同様の機能を実現でき
る。
【0043】また、距離計算手段4では粒子間距離rを
求めるとして説明しているが、距離rの2乗r2 を求め
ても良い。このようにすれば平方根を計算しなくても良
いので、ハードウェアが遥かに簡単になる。但し、この
場合には力の計算部6の入力が変わるので、力の計算部
6の内部を変えなければならない。
【0044】また、実施例では、第1のアドレス手段1
や第2のアドレス手段7からアドレスが出力されて、力
の計算部6で力が計算されるまでを一繋がりの動作とし
ているが、これに制限されるものではなく、これらの動
作を複数ステップに分割し、所謂パイプライン処理させ
ることもできる。
【0045】また、系の分割の仕方の説明では、x,
y,zそれぞれの方向で等分割するとしているが、これ
に制限されるものではなく、系の或る部分が他の部分に
比べて特に粒子密度が高い場合には、その部分だけ細か
く分割しても何ら問題はない。逆に粒子密度が低い部分
がある場合には、その部分だけ粗く分割しても良い。ま
た、D(1,1,1)から分類を始めるとしているが、
これに制限されるものではなく、メッシュのどれから始
めても良い。更に、x座標の小さいものから振り分ける
としているが、これに制限されるものではなく、y座標
の小さいものから、或いはz座標の小さいものから振り
分けても良いし、それぞれの座標の小さいものからでは
無く、大きいものから振り分けても良い。
【0046】
【発明の効果】以上述べたように、この発明によれば、
計算精度を上げるために多数の近傍粒子を扱わなければ
ならない場合に、力の計算回路を複数個用意し、元の系
を複数の疎らな系に分割して計算するようにしたので、
1つの系の近傍リストに含まれる粒子数を少なくするこ
とができる。従って近傍リストを格納するメモリの容量
が少なくて済むので、力の計算回路をLSIに集積化す
る場合に、このメモリを低いコストで内蔵でき、このL
SIを複数個使用することにより、力を高速に計算する
装置を安価に提供できるという効果を奏する。
【図面の簡単な説明】
【図1】 この発明の実施例を示す回路図である。
【図2】 この発明の計算方法を説明する図である。
【図3】 元の系を二つの疎らな系に分割する方法を説
明する図である。
【図4】 分子動力学法におけるカットオフ距離を説明
する図である。
【図5】 従来の技術を示す回路図である。
【符号の説明】
1…第1のアドレス手段、2…アドレス選択手段、3…
粒子座標記憶手段、4…距離計算手段、5…特定粒子座
標格納手段、6…力の計算手段、7…第2のアドレス手
段、8…近傍リスト記憶手段、9…力の計算回路、10
…加算手段
───────────────────────────────────────────────────── フロントページの続き (72)発明者 宮川 宣明 神奈川県海老名市本郷2274番地富士ゼロッ クス株式会社内

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 N個(Nは2以上の整数)の粒子からな
    る系の、或る特定粒子に働く力又はポテンシャルを、前
    記特定粒子と該特定粒子の近傍のL個(Lは0または正
    の整数)の近傍粒子との相互作用の総和として計算する
    多体問題用計算装置において、 約L/M個(Mは2以上の整数)の近傍粒子の番号を記
    憶する粒子番号記憶手段と、該粒子番号記憶手段に順次
    アドレスを供給するアドレス手段と、約N/M個の粒子
    の座標を記憶する粒子座標記憶手段と、前記特定粒子の
    座標を記憶する特定粒子座標記憶手段と、該特定粒子座
    標記憶手段に格納されている特定粒子の座標と前記アド
    レス手段のアドレスに応じて前記粒子番号記憶手段から
    読み出される粒子番号に従って前記粒子座標記憶手段か
    ら読み出された座標とから粒子間距離rを計算する粒子
    間距離計算手段と、該粒子間距離計算手段により計算さ
    れた粒子間距離rから力又はポテンシャルを計算する手
    段とからなる計算回路をM回路分設け、更に、前記M回
    路分の計算回路により計算された力又はポテンシャルを
    合計する加算手段を設けたことを特徴とする多体問題用
    計算装置。
  2. 【請求項2】 N個(Nは2以上の整数)の粒子からな
    る系の、或る特定粒子に働く力又はポテンシャルを、前
    記特定粒子と該特定粒子の近傍のL個(Lは0または正
    の整数)の近傍粒子との相互作用の総和として計算する
    多体問題用計算装置において、 約L/M個(Mは2以上の整数)の近傍粒子の番号を記
    憶する粒子番号記憶手段と、該粒子番号記憶手段に順次
    アドレスを供給するアドレス手段と、約N/M個の粒子
    の座標を記憶する粒子座標記憶手段と、前記特定粒子の
    座標を記憶する特定粒子座標記憶手段と、該特定粒子座
    標記憶手段に格納されている特定粒子の座標と前記アド
    レス手段のアドレスに応じて前記粒子番号記憶手段から
    読み出される粒子番号に従って前記粒子座標記憶手段か
    ら読み出された座標とから粒子間距離rの2乗r2 を計
    算する距離計算手段と、該距離計算手段により計算され
    た値r2 から力又はポテンシャルを計算する手段とから
    なる計算回路をM回路分設け、更に、前記M回路分の計
    算回路により計算された力又はポテンシャルを合計する
    加算手段を設けたことを特徴とする多体問題用計算装
    置。
  3. 【請求項3】 前記各計算回路が、それぞれ独立して集
    積回路化されていることを特徴とする請求項1又は請求
    項2記載の多体問題用計算装置。
  4. 【請求項4】 N個(Nは2以上の整数)の粒子からな
    る系の、或る特定粒子に働く力又はポテンシャルを、そ
    の粒子の近傍のL個(Lは0または正の整数)の粒子と
    の相互作用の総和として計算する多体問題用計算方法に
    おいて、 元の系を、分割後のそれぞれの系の粒子密度が、元の系
    の粒子密度のほぼ1/Mになるように、M個(Mは2以
    上の整数)の疎らな系に分割し、M個の計算回路上で、
    それぞれの系が同一の特定粒子に及ぼす力又はポテンシ
    ャルを計算し、それらの計算結果を加算することによ
    り、元の系における特定粒子に働く力又はポテンシャル
    を求めることを特徴とする多体問題用計算方法。
  5. 【請求項5】 N個の粒子からなる系を、M個の系に分
    割するに際し、 分割されたそれぞれの部分に含まれる粒子数が最大でも
    10M個程度になるよう、元の系をx軸方向にI個、y
    軸方向にJ個、z軸方向にK個(I,J,Kは正整数)
    に分割し、分割された部分に含まれる粒子を、x座標
    値、又はy座標値、又はz座標値の大小の順にM個の系
    に分類することにより、元の系のほぼ1/Mの粒子密度
    のM個の系に分割することを特徴とする請求項4記載の
    多体問題用計算方法。
JP1203293A 1993-01-27 1993-01-27 多体問題用計算装置 Expired - Fee Related JP3196908B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1203293A JP3196908B2 (ja) 1993-01-27 1993-01-27 多体問題用計算装置
US08/186,029 US5596511A (en) 1993-01-27 1994-01-25 Computing method and apparatus for a many-body problem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1203293A JP3196908B2 (ja) 1993-01-27 1993-01-27 多体問題用計算装置

Publications (2)

Publication Number Publication Date
JPH06223052A true JPH06223052A (ja) 1994-08-12
JP3196908B2 JP3196908B2 (ja) 2001-08-06

Family

ID=11794273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1203293A Expired - Fee Related JP3196908B2 (ja) 1993-01-27 1993-01-27 多体問題用計算装置

Country Status (1)

Country Link
JP (1) JP3196908B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7468510B2 (en) 2005-10-25 2008-12-23 Nec Corporation Speedup in coordinate difference calculation
US7587576B2 (en) 2005-10-21 2009-09-08 Nec Corporation Parameter storing method, parameter storage device, multi-body problem processing apparatus, and address generator circuit
US7653498B2 (en) 2005-10-31 2010-01-26 Nec Corporation Apparatus for and method of calculating many-body problem

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7587576B2 (en) 2005-10-21 2009-09-08 Nec Corporation Parameter storing method, parameter storage device, multi-body problem processing apparatus, and address generator circuit
US7468510B2 (en) 2005-10-25 2008-12-23 Nec Corporation Speedup in coordinate difference calculation
US7653498B2 (en) 2005-10-31 2010-01-26 Nec Corporation Apparatus for and method of calculating many-body problem

Also Published As

Publication number Publication date
JP3196908B2 (ja) 2001-08-06

Similar Documents

Publication Publication Date Title
JP5342761B2 (ja) 粒子法に基づく流体シミュレーションの表面構築方法、そのプログラム、およびそのプログラムを格納した記憶媒体
JP2000502200A (ja) 物理的プロセスをシミュレーションするコンピュータシステム
US20200090051A1 (en) Optimization problem operation method and apparatus
JP6568222B2 (ja) 半導体システムおよび計算方法
US5640335A (en) Collision operators in physical process simulation
Wang et al. A parallel multipole accelerated 3-D capacitance simulator based on an improved model
TWI782403B (zh) 具有平行載入儲存之共享高速暫存記憶體
WO2019074856A1 (en) COMPUTERIZED RENDERING OF ANIMATED OBJECTS USING A POLYNOMIAL METHOD OF CELL PARTICLES
US5596511A (en) Computing method and apparatus for a many-body problem
JPH06223052A (ja) 多体問題用計算装置及び計算方法
CN109635839B (zh) 一种基于机器学习的非平衡数据集的处理方法和装置
JP3528990B2 (ja) 多体問題用計算装置
Taiji et al. Special purpose computer system for Ising models
JP3164256B2 (ja) 多体問題用計算装置
US20220374496A1 (en) Techniques for accelerating matrix multiplication computations using hierarchical representations of sparse matrices
KR20110124834A (ko) 하드웨어를 이용한 케이디 트리 생성 방법 및 장치
Playne et al. Benchmarking multi-GPU communication using the shallow water equations
JPH09251449A (ja) 多体問題用計算装置
JPH06231114A (ja) 多体問題用計算装置及び計算方法
Playne et al. Simulating and Benchmarking the shallow-water fluid dynamical equations on multiple graphical processing units
KR102181979B1 (ko) Sph 기반의 유체 해석 시뮬레이션을 하는 장치, 방법 및 컴퓨터 프로그램
JP2001236342A (ja) 多体問題解析装置に用いるアドレス装置
Shirazi et al. Quantitative analysis of FPGA-based database searching
KR102181985B1 (ko) Sph 기반의 유체 해석 시뮬레이션을 하는 장치, 방법 및 컴퓨터 프로그램
JP2977422B2 (ja) 製品仕様推定方法、論理回路の分類評価装置、製品仕様データベース作成装置、製品仕様推定装置および論理回路自動階層生成装置

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080608

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090608

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100608

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100608

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110608

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees