JPH0477853A - 粒子運動シミュレーション方式 - Google Patents
粒子運動シミュレーション方式Info
- Publication number
- JPH0477853A JPH0477853A JP18597090A JP18597090A JPH0477853A JP H0477853 A JPH0477853 A JP H0477853A JP 18597090 A JP18597090 A JP 18597090A JP 18597090 A JP18597090 A JP 18597090A JP H0477853 A JPH0477853 A JP H0477853A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- particle
- particles
- processors
- block
- 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.)
- Pending
Links
- 239000002245 particle Substances 0.000 title claims abstract description 112
- 238000004088 simulation Methods 0.000 title claims abstract description 20
- 230000003993 interaction Effects 0.000 claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 23
- 230000002123 temporal effect Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 abstract description 31
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 7
- 238000000329 molecular dynamics simulation Methods 0.000 description 4
- XKRFYHLGVUSROY-UHFFFAOYSA-N Argon Chemical compound [Ar] XKRFYHLGVUSROY-UHFFFAOYSA-N 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004510 Lennard-Jones potential Methods 0.000 description 1
- 229910052786 argon Inorganic materials 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000007789 gas Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Landscapes
- Instructional Devices (AREA)
- Multi Processors (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
本発明は、近接した多数の粒子との間の力の相互作用に
よる粒子の時間的な動きを、粒子空間をブロックに分割
して並列計算システムのプロセッサに割当てて並列処理
により粒子毎に求める粒子運動シミュレーション方式に
関し、 重複した近接粒子間の力の計算を排除して計算量を低減
することを目的とし、 プロセッサに割当てるブロックの大きさを粒子間の相互
作用よる力が無視できるカットオフ距離以上とした場合
には、自己の右、上及び右上に位置する他のプロセッサ
の粒子データだけを参照し、計算した力のデータを同じ
右、上及び右上のプロセッサに返すことによって各粒子
毎の力のデータを重複することなく計算するように構成
する。 また分割ブロックをカットオフ距離未満の小ブロックに
再分割してプロセッサ毎に割当てた場合には、右、上、
及び右上のカットオフ距離以内の再分割ブロックを割当
てたプロセッサとの間で力のデータの参照して結果を返
し、再分割によりプロセッサの並列度を高めて高速処理
できるように構成する。
よる粒子の時間的な動きを、粒子空間をブロックに分割
して並列計算システムのプロセッサに割当てて並列処理
により粒子毎に求める粒子運動シミュレーション方式に
関し、 重複した近接粒子間の力の計算を排除して計算量を低減
することを目的とし、 プロセッサに割当てるブロックの大きさを粒子間の相互
作用よる力が無視できるカットオフ距離以上とした場合
には、自己の右、上及び右上に位置する他のプロセッサ
の粒子データだけを参照し、計算した力のデータを同じ
右、上及び右上のプロセッサに返すことによって各粒子
毎の力のデータを重複することなく計算するように構成
する。 また分割ブロックをカットオフ距離未満の小ブロックに
再分割してプロセッサ毎に割当てた場合には、右、上、
及び右上のカットオフ距離以内の再分割ブロックを割当
てたプロセッサとの間で力のデータの参照して結果を返
し、再分割によりプロセッサの並列度を高めて高速処理
できるように構成する。
本発明は、近接した多数の粒子間の力の相互作用による
粒子の時間的な動きを、アレイ状に接続された複数のプ
ロセッサ上で並列処理する粒子運動シミュレーション方
式に関する。 近接した多数の粒子間の力の相互作用によって運動する
粒子の時間的な位置と速度を求めるシミュレーションの
代表的なものとして分子動力学法(MD)が知られてお
り、物質の原子レベルでの運動を解析するため計算物理
学やデバイス研究の分野で広く用いられている。 分子動力学法による粒子運動シミュレーションのための
粒子に作用する力の計算は、多数の粒子との間に相互作
用による力を各粒子毎に計算することから、複数のプロ
セッサをアレイ状に接続した並列計算システムを使用し
ても計算量が膨大となり、可能なかぎり計算量を低減し
て高速処理できるようにすることが望まれる。
粒子の時間的な動きを、アレイ状に接続された複数のプ
ロセッサ上で並列処理する粒子運動シミュレーション方
式に関する。 近接した多数の粒子間の力の相互作用によって運動する
粒子の時間的な位置と速度を求めるシミュレーションの
代表的なものとして分子動力学法(MD)が知られてお
り、物質の原子レベルでの運動を解析するため計算物理
学やデバイス研究の分野で広く用いられている。 分子動力学法による粒子運動シミュレーションのための
粒子に作用する力の計算は、多数の粒子との間に相互作
用による力を各粒子毎に計算することから、複数のプロ
セッサをアレイ状に接続した並列計算システムを使用し
ても計算量が膨大となり、可能なかぎり計算量を低減し
て高速処理できるようにすることが望まれる。
従来、分子動力学法に従った粒子運動のシミュレーショ
ンを高速化するため、アレイ型の並列計算システムによ
る並列処理方法が提案されている。 例えば、分子動力学法は、粒子毎にニュートンの運動方
程式を数値的に解くことで粒子の位置と速度を時間を追
って求める。粒子の運動方程式は式(1)で表される。 Fl =m+ (d2L /d t2) (
1)ここで、Flは粒子iにかかる力ベクトル、m、は
粒子iの質量、X、は粒子iの位置ベクトルである。こ
れを時間ステップ△を間隔で数値積分することで、粒子
の位置と速度を求める。力ベクトルF1は、ポテンシャ
ルのグラデイエンド式(2)から求める。 Fl−一Σ1φ(xz(+)) (2)j≠ ここで、X11は、2粒子間の距離である。また、φは
2粒子間のポテンシャル関数であり、アルゴンなどの希
ガスでは(3)式のようなLennardJonesポ
テンシャルと呼ばれる半経験的な関数式で近似される。 φ(r)=4ε ((σ/r)” (σ/r)6)但し
、r=Xz(t) ε=帆167 * 10−13e+g σ=3. 4A ここで、r (=XI+)は2粒子間の距離、εはエネ
ルギーパラメータ、σはカットオ距離である。 2粒子間の距離がカットオフ距離σより十分大きい場合
は、2粒子間の力を無視することができるので、第9図
(a)に示すように、ある粒子J−2に加わる力は、限
られたカットオフ距離r、の範囲内にある粒子とのみ相
互作用を計算すればよい。 カットオフ距離内にある粒子を高速に検索するためブロ
ック分割法と呼ばれる方法がある。ブロック分割法は第
9図(b)に示すように、粒子の存在する直方体の領域
をブロックに分割し、ブロックの一辺の長さをカットオ
フ距離r、に等しく(或いは少し大きめに)とっておけ
ば、あるブロック内の粒子と相互作用する粒子は、この
ブロックに隣接するブロック内の粒子から選択すればよ
い。 このようなブロック分割法を用いると、並列計算システ
ムのアレイ状に接続された各プロセッサにブロック単位
で粒子空間を割り当てて並列化することができる。例え
ば第9図(b)の2次元空間のブロック分割にあっては
、各分割ブロックを2次元のプロセッサアレイにそのま
まマツピングする。 個々のプロセッサには、第1−0図に示すように、隣接
したプロセッサのブロックのデータを参照したときなど
の格納領域として、本来の割当ブロックの格納領域Aの
外側にガードブロックと呼ばれる余分の領域Bを周囲に
1ブロツク幅分用意している。尚、第10図の場合、プ
ロセッサ14台につき9ブロツクを割当てている。 粒子は時間の経過と共にブロック間を移動するので、図
示のようにリスト構造で粒子データを保持する。 任意のプロセッサ10−1にあっては、まず力の計算を
行なうために、第11図に示すようにガドブロック領域
Bの各ブロックに、隣接したプロセッサとの間で通信を
行なって隣接するプロセッサの割当ブロックの粒子デー
タをコピーする。 この場合、コーナのガートブロックについては縦横の隣
接するプロセッサとの間で2回の転送で行なう。 力の計算は、まずプロセッサ10− iの割当ブロック
領域A内の粒子同士の相互作用による力を計算する。同
一の粒子ペアの力の相互作用は、作用反作用の法則によ
り大きさが等しく、方向が逆なので計算は一回で済ます
ことができる。次に、ガードブロックにコピーしている
隣接するブロックの粒子との間の相互作用による力を計
算する。 この時、割当ブロック領域Aに属するガードブロックB
に隣接した境界ブロックの力の計算結果は、割当ブロッ
ク領域A側のみを更新する。 フ距離より小さくできないため、割当ブロック1つに含
まれる粒子数が多(なり、並列度が低いために処理時間
が長くなる問題点があった。 本発明は、このような従来の問題点に鑑みてなされたも
ので、重複した近接粒子間の力の計算を排除して計算量
を低減して高速化を図った粒子運動シミュレーション方
式を提供することを目的とする。
ンを高速化するため、アレイ型の並列計算システムによ
る並列処理方法が提案されている。 例えば、分子動力学法は、粒子毎にニュートンの運動方
程式を数値的に解くことで粒子の位置と速度を時間を追
って求める。粒子の運動方程式は式(1)で表される。 Fl =m+ (d2L /d t2) (
1)ここで、Flは粒子iにかかる力ベクトル、m、は
粒子iの質量、X、は粒子iの位置ベクトルである。こ
れを時間ステップ△を間隔で数値積分することで、粒子
の位置と速度を求める。力ベクトルF1は、ポテンシャ
ルのグラデイエンド式(2)から求める。 Fl−一Σ1φ(xz(+)) (2)j≠ ここで、X11は、2粒子間の距離である。また、φは
2粒子間のポテンシャル関数であり、アルゴンなどの希
ガスでは(3)式のようなLennardJonesポ
テンシャルと呼ばれる半経験的な関数式で近似される。 φ(r)=4ε ((σ/r)” (σ/r)6)但し
、r=Xz(t) ε=帆167 * 10−13e+g σ=3. 4A ここで、r (=XI+)は2粒子間の距離、εはエネ
ルギーパラメータ、σはカットオ距離である。 2粒子間の距離がカットオフ距離σより十分大きい場合
は、2粒子間の力を無視することができるので、第9図
(a)に示すように、ある粒子J−2に加わる力は、限
られたカットオフ距離r、の範囲内にある粒子とのみ相
互作用を計算すればよい。 カットオフ距離内にある粒子を高速に検索するためブロ
ック分割法と呼ばれる方法がある。ブロック分割法は第
9図(b)に示すように、粒子の存在する直方体の領域
をブロックに分割し、ブロックの一辺の長さをカットオ
フ距離r、に等しく(或いは少し大きめに)とっておけ
ば、あるブロック内の粒子と相互作用する粒子は、この
ブロックに隣接するブロック内の粒子から選択すればよ
い。 このようなブロック分割法を用いると、並列計算システ
ムのアレイ状に接続された各プロセッサにブロック単位
で粒子空間を割り当てて並列化することができる。例え
ば第9図(b)の2次元空間のブロック分割にあっては
、各分割ブロックを2次元のプロセッサアレイにそのま
まマツピングする。 個々のプロセッサには、第1−0図に示すように、隣接
したプロセッサのブロックのデータを参照したときなど
の格納領域として、本来の割当ブロックの格納領域Aの
外側にガードブロックと呼ばれる余分の領域Bを周囲に
1ブロツク幅分用意している。尚、第10図の場合、プ
ロセッサ14台につき9ブロツクを割当てている。 粒子は時間の経過と共にブロック間を移動するので、図
示のようにリスト構造で粒子データを保持する。 任意のプロセッサ10−1にあっては、まず力の計算を
行なうために、第11図に示すようにガドブロック領域
Bの各ブロックに、隣接したプロセッサとの間で通信を
行なって隣接するプロセッサの割当ブロックの粒子デー
タをコピーする。 この場合、コーナのガートブロックについては縦横の隣
接するプロセッサとの間で2回の転送で行なう。 力の計算は、まずプロセッサ10− iの割当ブロック
領域A内の粒子同士の相互作用による力を計算する。同
一の粒子ペアの力の相互作用は、作用反作用の法則によ
り大きさが等しく、方向が逆なので計算は一回で済ます
ことができる。次に、ガードブロックにコピーしている
隣接するブロックの粒子との間の相互作用による力を計
算する。 この時、割当ブロック領域Aに属するガードブロックB
に隣接した境界ブロックの力の計算結果は、割当ブロッ
ク領域A側のみを更新する。 フ距離より小さくできないため、割当ブロック1つに含
まれる粒子数が多(なり、並列度が低いために処理時間
が長くなる問題点があった。 本発明は、このような従来の問題点に鑑みてなされたも
ので、重複した近接粒子間の力の計算を排除して計算量
を低減して高速化を図った粒子運動シミュレーション方
式を提供することを目的とする。
【発明が解決しようとする問題点]
しかしながら、このような従来の並列計算システムを用
いた粒子運動シミュレーションのための粒子のカデータ
の計算処理にあっては、あるプロセッサにおけるカード
ブロックに隣接した境界部分の割当ブロックとその外側
のガードブロックとの相互作用の計算は、隣接した他の
プロセッサでも同じ計算を行なついる。このため隣接す
るプロセッサが各々重複した計算を行っており、計算量
が増加する問題があった。 またプロセッサに割当てるブロックはカットオ【問題点
を解決するための手段】 第1図は本発明の原理説明図である。 まず本発明は、近接した多数の粒子との間の力の相互作
用による粒子の時間的な動きを、アレイ状に接続された
複数のプロセッサ10−1〜1−Onの並列処理により
粒子毎に求める粒子運動シミュレーション方式を対象と
する。 このような粒子運動シミュレーション方式として本発明
にあっては、まず第17図(a)に示すように、粒子が
存在する空間を粒子間での相互作用が無視できるカット
オフ距離r5をもつブロックに分割し、]、又は複数ブ
ロック単位、例えば9ブロック単位にプロセッサ10−
1〜1.o−9i+、::割当てる。各プロッサ10−
1〜10−9は、自己の右、」二及び右上に位置する他
のプロセッサ、例えば中央のプロセッサ10−5を例に
とるとプロセッサ]、、O−2,1,0−3,1,0−
6の粒子データのみを参照して自己の割当ブロック内の
粒子データとの間の相互作用による力を計算する。各プ
ロセッサ10−1−〜10−9で計算した力のブタは粒
子データを参照した右、上及び右上のプロセッサに帰し
て各プロセッサに割当てられた計算済みの粒子のカデー
タに加算する処理を行うように構成する。 一方、粒子が存在する空間を粒子間での相互作用が無視
できるカットオフ距離r、をもっブロックに分割した後
、この分割ブロックを更に再分割してカットオフ距離r
、未満の小ブロックに分けて第1図(b)に示すように
プロセッサ10−1〜]0−25毎に1ブロツク毎に割
当て、各プロッサ10−1〜10−25は、自己の右、
上及び右上のカットオフ距離以内、例えばプロセッサ1
0−13を例にとるとプロセッサ2台分の距離、所謂距
離2以内の各プロセッサ10−3. 4. 5゜8、
9. 10. 14. 15の8台の粒子データのみを
参照して自己の割当ブロック内の粒子データとの間の相
互作用による力を計算し、計算した力のデータを粒子デ
ータを参照した前記布、上及び右上のカットオフ距離以
内の各プロセッサに帰して各プロセッサに割当てられた
計算済みの粒子のカデータに加算する処理を行うように
構成する。
いた粒子運動シミュレーションのための粒子のカデータ
の計算処理にあっては、あるプロセッサにおけるカード
ブロックに隣接した境界部分の割当ブロックとその外側
のガードブロックとの相互作用の計算は、隣接した他の
プロセッサでも同じ計算を行なついる。このため隣接す
るプロセッサが各々重複した計算を行っており、計算量
が増加する問題があった。 またプロセッサに割当てるブロックはカットオ【問題点
を解決するための手段】 第1図は本発明の原理説明図である。 まず本発明は、近接した多数の粒子との間の力の相互作
用による粒子の時間的な動きを、アレイ状に接続された
複数のプロセッサ10−1〜1−Onの並列処理により
粒子毎に求める粒子運動シミュレーション方式を対象と
する。 このような粒子運動シミュレーション方式として本発明
にあっては、まず第17図(a)に示すように、粒子が
存在する空間を粒子間での相互作用が無視できるカット
オフ距離r5をもつブロックに分割し、]、又は複数ブ
ロック単位、例えば9ブロック単位にプロセッサ10−
1〜1.o−9i+、::割当てる。各プロッサ10−
1〜10−9は、自己の右、」二及び右上に位置する他
のプロセッサ、例えば中央のプロセッサ10−5を例に
とるとプロセッサ]、、O−2,1,0−3,1,0−
6の粒子データのみを参照して自己の割当ブロック内の
粒子データとの間の相互作用による力を計算する。各プ
ロセッサ10−1−〜10−9で計算した力のブタは粒
子データを参照した右、上及び右上のプロセッサに帰し
て各プロセッサに割当てられた計算済みの粒子のカデー
タに加算する処理を行うように構成する。 一方、粒子が存在する空間を粒子間での相互作用が無視
できるカットオフ距離r、をもっブロックに分割した後
、この分割ブロックを更に再分割してカットオフ距離r
、未満の小ブロックに分けて第1図(b)に示すように
プロセッサ10−1〜]0−25毎に1ブロツク毎に割
当て、各プロッサ10−1〜10−25は、自己の右、
上及び右上のカットオフ距離以内、例えばプロセッサ1
0−13を例にとるとプロセッサ2台分の距離、所謂距
離2以内の各プロセッサ10−3. 4. 5゜8、
9. 10. 14. 15の8台の粒子データのみを
参照して自己の割当ブロック内の粒子データとの間の相
互作用による力を計算し、計算した力のデータを粒子デ
ータを参照した前記布、上及び右上のカットオフ距離以
内の各プロセッサに帰して各プロセッサに割当てられた
計算済みの粒子のカデータに加算する処理を行うように
構成する。
このような構成を備えた本発明の粒子運動シミュレーシ
ョン方式によれば、カットオフ距離で対象空間を分割し
た分割ブロックをアレイ状に接続された並列計算システ
ムの各プロセッサに割当てて粒子間に作用する力を計算
する際に、上、右及び右上のプロセッサのみを参照して
力を計算し、計算した結果を返すことで、隣接するプロ
セッサが相互に重複して同じブロックの力を計算してし
まうことを回避することができ、計算量を低減して並列
処理の高速化を達成できる。 更に、ブロックをカットオフ距離未満に再度分割してプ
ロセッサ毎に割当て、同様にカットオフ距離以内の上、
右及び右上の各プロセッサのみを参照して力を計算し、
計算した力を返すことで、各プロセッサの重複した計算
を回避すると同時に、カットオフ距離より小さいブロッ
クに分割することで並列度を高めることができ、並列度
の向上によりプロセッザJ−台当りの計算量を低減して
並列処理の計算速度を高速化できる。 [実施例] 第2図は本発明の粒子運動シミュレーションを実行する
並列計算システムの実施例構成図である。 第2図において、10−1〜10−1−6はプロセッサ
であり、プロセッサ10−1−〜10−1.6はアレイ
状に接続されており、全てのプロセッサ間で相互にデー
タのやり取りを行うことができる。 またプロセッサ1−0−1〜1. O−:1.6は通信
バス20を介してホスト計算機18に接続される。ホス
ト計算機18は、シミュレーション対象とする粒子空間
をカットオフ距離r、に従ってブロック分けし、1又は
複数ブロック単位でブロックをプロセッサ1−O−1〜
10−16にマツピングする。 第3図の本発明の第1実施例による力の計算に必要な隣
接ブロックの粒子座標データの参照状態を示した説明図
であり、この第1実施例では対象空間をカットオフ距離
rcにより91−ブロックに分割し、並列計算システム
とし9台のプロセッサを用いた場合を例にとっており、
従ってプロセッサ10−1〜r−0−9には9ブロツク
ずつのブロック割当が行われている。 第3図において、まず力の計算に必要な隣接ブロックの
座標データをガードブロックにコピーする。例えば第3
図の中央に位置するプロセッサ10−5に注目すると、
プロセッサr−0−5に割当てた9ブロツクの周囲には
16ブロツクでなるガードブロックが設けられている。 この状態でプロセッサr−0−5は上に位置するプロセ
ッサ10−2、右に位置するプロセッサ10−6及び右
上に位置するプロセッサ10−3との間で通信を行って
、右上側の隣接した3台のプロセッサ10−2.10−
3.1.0−6の隣接するブロック番号1.3. 14
. 15. 1.6. 12゜8.4で示す座標データ
をガードブロックの番号に示すようにコピーする。 このようなプロセッサ1(15における右上側に位置す
る3台のプロセッサからの座標データの通信によるコピ
ーは、同様に残り8台のプロセッサ10−1.〜10−
4.10−6〜1−0−9においても並列的に実行され
る。 次に粒子に作用する力を計算する。この力の4算は、第
3図のプロセッサ1−0−5に代表して示すように、各
ブロック内の粒子同士の計算と、矢印で示す隣接ブロッ
クの粒子同士の計算を行う。 このとき作用反作用の法則を使用し、重複した計算を避
ける。即ち、同一の粒子ベアの力の相互作用は、作用反
作用に法則により大きさが等しく、方向が反対であるこ
とから、計算を1回で済まし、方向を示す符号極性を逆
負の2つとすればよい。 次に計算された各プロセッサi−0−1〜109で計算
されたガードブロックの粒子の力を隣接するプロセッサ
の元のブロックの粒子の力に加算するために、−旦、元
のプロセッサのガードブロックにコピーしたのち、力の
加算処理を行なう。 例えば第4図の中央のプロセッサ10−5に注目すると
、第3図に示した力等の計算により得られたプロセッサ
10−4.1.0−7.i、、0−8ののブロック番号
1.2. 8. 4. 16. 1.3. 14゜1−
5で示すガードブロックの力のデータを、元のプロセッ
サ10−5のガードブロックに同じブロック番号で示す
ようにコピーする。 続いてガートブロックにコピーした力をガードブロック
に隣接するブロック番号9. 5.、1.、 2゜3の
割当ブロックで既に計算されている力に、太い矢印で示
すように加算する。尚、細い矢印で示す力の加算はプロ
セッサ10−4.10−7,1−0−8側での第3図に
示した力の計算の際に既に済んでいる。 他のプロセッサ]−0−1−〜10−4.10−6〜1
−0−9についても、ロセッザ10−5と同様にして加
算を並列的に実行する。 このような力の加算により、結局すべての隣接ブロック
間の相互作用の結果が反映され、プロセッサ1.0−1
〜10−9はトーラス状態に接続されているので、以上
の処理により異なるプロセッサ間の割当ブロック間の境
界条件は自動的に満足される。 次に本発明の第2実施例を説明する。この第2実施例は
、カットオフ距離r、で分割されたブロックを更に再度
分割してカットオフ距離rC未満の小ブロックに分け、
1ブロック単位にプロセッサに割当てることにより並列
度を高めるようにしたことを特徴とする。 第5図はブロック再度分割を行った本発明の第2実施例
における粒子座標データの参照説明図である。 第5図の第2実施例では、カットオフ距離をもつブロッ
クを更に6つの小さなブロックに再分割し各プロセッサ
に再分割されたブロックの1つずつを割当ており、25
台のプロセッサ1.0−1〜ICl−25をアレイ接続
した場合を示している。 プロセッサ10−1〜10−25には5×525のブロ
ックの領域を用意する。25個のブロックの内、真ん中
のブロックが各プロセッサ101−〜1. O−25自
身が担当する小ブロックである。 まず通信によって右、上、及び右上の側のカットオフ距
離r、以内、即ち、プロセッサ2台分の距離として定義
される距離2以内のプロセッサの担当する小ブロックの
粒子の座標データを通信によってガードブロックヘコピ
ーする。例えばプロセッサ1−0−13に注目すると、
上、右及び右上に位置する8台のプロセッサ1.0−3
.1o−4,。 10−5.10−9.1.0−10.10−14.。 1、0−15の番号7. 8. 9. 5. 6. 2
. 3で示す小ブロックの座標データを、プロセッサ]
−01−3のガードブロックの番号に示すように通信に
よりコピーする。他のプロセッサも同様である。 次に第6図のプロセッサ10−13に代表して示すよう
に、自己の担当小ブロック及びガートリングにコピーさ
れた小ブロックにつき、矢印で結ばれたブロック間の粒
子について力を計算する。 この場合、担当ブロックとガードブロックのコピーブロ
ック間のみならず、ガートブロックのコピーブロック間
でも粒子の力を計算している。即ち、番号2と7.3と
4.3と7のガードブロック間で粒子の力を計算する。 次にガードブロックのカデータを基の隣接プロセッサの
ガードブロックに通信を用いてコピーする。例えば第9
図のプロセッサ:l O−i−3に代表してして示すよ
うに、プロセッサi−0−13の左、下及び左下の8つ
のガードブロックには、プロセッサ1.0−1.3の左
、下及び左下の距離2以内のプロセッサ1.0−11.
1. C)−12,1−o−i、 61.0−1−7
.1.0−18.10−21.10−22.10−23
から送られてくるブロックのカデタを格納する。 力の計算後にプロセッサのガードブロックに送られた力
のデータの担当ブロックへの加算処理は、プロセッサ1
−0−13を代表して示した第8図に示すように、ガー
ドブロックにコピーされた力のデータを太い矢印で示す
ように計算済みの担当ブロックの粒子に加算する。この
時、細い矢印で示した方向の力の加算は、第6図の示し
た力の計算で済んでおり、結局、各プロセッサの担当す
る小ブロックに相互作用する全てのブロックとの間の力
が加算されたことになる。 尚、」二記の実施例は説明を簡単にするため2次元の粒
子空間のブロック分割を例にとるものであったが、同様
にして三次元空間のブロック分割にもそのまま適用でき
る。
ョン方式によれば、カットオフ距離で対象空間を分割し
た分割ブロックをアレイ状に接続された並列計算システ
ムの各プロセッサに割当てて粒子間に作用する力を計算
する際に、上、右及び右上のプロセッサのみを参照して
力を計算し、計算した結果を返すことで、隣接するプロ
セッサが相互に重複して同じブロックの力を計算してし
まうことを回避することができ、計算量を低減して並列
処理の高速化を達成できる。 更に、ブロックをカットオフ距離未満に再度分割してプ
ロセッサ毎に割当て、同様にカットオフ距離以内の上、
右及び右上の各プロセッサのみを参照して力を計算し、
計算した力を返すことで、各プロセッサの重複した計算
を回避すると同時に、カットオフ距離より小さいブロッ
クに分割することで並列度を高めることができ、並列度
の向上によりプロセッザJ−台当りの計算量を低減して
並列処理の計算速度を高速化できる。 [実施例] 第2図は本発明の粒子運動シミュレーションを実行する
並列計算システムの実施例構成図である。 第2図において、10−1〜10−1−6はプロセッサ
であり、プロセッサ10−1−〜10−1.6はアレイ
状に接続されており、全てのプロセッサ間で相互にデー
タのやり取りを行うことができる。 またプロセッサ1−0−1〜1. O−:1.6は通信
バス20を介してホスト計算機18に接続される。ホス
ト計算機18は、シミュレーション対象とする粒子空間
をカットオフ距離r、に従ってブロック分けし、1又は
複数ブロック単位でブロックをプロセッサ1−O−1〜
10−16にマツピングする。 第3図の本発明の第1実施例による力の計算に必要な隣
接ブロックの粒子座標データの参照状態を示した説明図
であり、この第1実施例では対象空間をカットオフ距離
rcにより91−ブロックに分割し、並列計算システム
とし9台のプロセッサを用いた場合を例にとっており、
従ってプロセッサ10−1〜r−0−9には9ブロツク
ずつのブロック割当が行われている。 第3図において、まず力の計算に必要な隣接ブロックの
座標データをガードブロックにコピーする。例えば第3
図の中央に位置するプロセッサ10−5に注目すると、
プロセッサr−0−5に割当てた9ブロツクの周囲には
16ブロツクでなるガードブロックが設けられている。 この状態でプロセッサr−0−5は上に位置するプロセ
ッサ10−2、右に位置するプロセッサ10−6及び右
上に位置するプロセッサ10−3との間で通信を行って
、右上側の隣接した3台のプロセッサ10−2.10−
3.1.0−6の隣接するブロック番号1.3. 14
. 15. 1.6. 12゜8.4で示す座標データ
をガードブロックの番号に示すようにコピーする。 このようなプロセッサ1(15における右上側に位置す
る3台のプロセッサからの座標データの通信によるコピ
ーは、同様に残り8台のプロセッサ10−1.〜10−
4.10−6〜1−0−9においても並列的に実行され
る。 次に粒子に作用する力を計算する。この力の4算は、第
3図のプロセッサ1−0−5に代表して示すように、各
ブロック内の粒子同士の計算と、矢印で示す隣接ブロッ
クの粒子同士の計算を行う。 このとき作用反作用の法則を使用し、重複した計算を避
ける。即ち、同一の粒子ベアの力の相互作用は、作用反
作用に法則により大きさが等しく、方向が反対であるこ
とから、計算を1回で済まし、方向を示す符号極性を逆
負の2つとすればよい。 次に計算された各プロセッサi−0−1〜109で計算
されたガードブロックの粒子の力を隣接するプロセッサ
の元のブロックの粒子の力に加算するために、−旦、元
のプロセッサのガードブロックにコピーしたのち、力の
加算処理を行なう。 例えば第4図の中央のプロセッサ10−5に注目すると
、第3図に示した力等の計算により得られたプロセッサ
10−4.1.0−7.i、、0−8ののブロック番号
1.2. 8. 4. 16. 1.3. 14゜1−
5で示すガードブロックの力のデータを、元のプロセッ
サ10−5のガードブロックに同じブロック番号で示す
ようにコピーする。 続いてガートブロックにコピーした力をガードブロック
に隣接するブロック番号9. 5.、1.、 2゜3の
割当ブロックで既に計算されている力に、太い矢印で示
すように加算する。尚、細い矢印で示す力の加算はプロ
セッサ10−4.10−7,1−0−8側での第3図に
示した力の計算の際に既に済んでいる。 他のプロセッサ]−0−1−〜10−4.10−6〜1
−0−9についても、ロセッザ10−5と同様にして加
算を並列的に実行する。 このような力の加算により、結局すべての隣接ブロック
間の相互作用の結果が反映され、プロセッサ1.0−1
〜10−9はトーラス状態に接続されているので、以上
の処理により異なるプロセッサ間の割当ブロック間の境
界条件は自動的に満足される。 次に本発明の第2実施例を説明する。この第2実施例は
、カットオフ距離r、で分割されたブロックを更に再度
分割してカットオフ距離rC未満の小ブロックに分け、
1ブロック単位にプロセッサに割当てることにより並列
度を高めるようにしたことを特徴とする。 第5図はブロック再度分割を行った本発明の第2実施例
における粒子座標データの参照説明図である。 第5図の第2実施例では、カットオフ距離をもつブロッ
クを更に6つの小さなブロックに再分割し各プロセッサ
に再分割されたブロックの1つずつを割当ており、25
台のプロセッサ1.0−1〜ICl−25をアレイ接続
した場合を示している。 プロセッサ10−1〜10−25には5×525のブロ
ックの領域を用意する。25個のブロックの内、真ん中
のブロックが各プロセッサ101−〜1. O−25自
身が担当する小ブロックである。 まず通信によって右、上、及び右上の側のカットオフ距
離r、以内、即ち、プロセッサ2台分の距離として定義
される距離2以内のプロセッサの担当する小ブロックの
粒子の座標データを通信によってガードブロックヘコピ
ーする。例えばプロセッサ1−0−13に注目すると、
上、右及び右上に位置する8台のプロセッサ1.0−3
.1o−4,。 10−5.10−9.1.0−10.10−14.。 1、0−15の番号7. 8. 9. 5. 6. 2
. 3で示す小ブロックの座標データを、プロセッサ]
−01−3のガードブロックの番号に示すように通信に
よりコピーする。他のプロセッサも同様である。 次に第6図のプロセッサ10−13に代表して示すよう
に、自己の担当小ブロック及びガートリングにコピーさ
れた小ブロックにつき、矢印で結ばれたブロック間の粒
子について力を計算する。 この場合、担当ブロックとガードブロックのコピーブロ
ック間のみならず、ガートブロックのコピーブロック間
でも粒子の力を計算している。即ち、番号2と7.3と
4.3と7のガードブロック間で粒子の力を計算する。 次にガードブロックのカデータを基の隣接プロセッサの
ガードブロックに通信を用いてコピーする。例えば第9
図のプロセッサ:l O−i−3に代表してして示すよ
うに、プロセッサi−0−13の左、下及び左下の8つ
のガードブロックには、プロセッサ1.0−1.3の左
、下及び左下の距離2以内のプロセッサ1.0−11.
1. C)−12,1−o−i、 61.0−1−7
.1.0−18.10−21.10−22.10−23
から送られてくるブロックのカデタを格納する。 力の計算後にプロセッサのガードブロックに送られた力
のデータの担当ブロックへの加算処理は、プロセッサ1
−0−13を代表して示した第8図に示すように、ガー
ドブロックにコピーされた力のデータを太い矢印で示す
ように計算済みの担当ブロックの粒子に加算する。この
時、細い矢印で示した方向の力の加算は、第6図の示し
た力の計算で済んでおり、結局、各プロセッサの担当す
る小ブロックに相互作用する全てのブロックとの間の力
が加算されたことになる。 尚、」二記の実施例は説明を簡単にするため2次元の粒
子空間のブロック分割を例にとるものであったが、同様
にして三次元空間のブロック分割にもそのまま適用でき
る。
以上説明したように発明によれば、粒子間の力の計算を
アレイ型並列計算システムのプロセッサ上で並列処理す
る際に、隣接プロセッサで境界ブロックの力の計算を重
複させずにでき、計算量の低減によ処理速度を向上でき
る。 また、カットオフ距離をもつブロックを再分割してさら
に小さなブロックに分けてプロセッサ毎に割当てること
で、最低でも並列度を2次元の場合で4倍、三次元の場
合で8倍に増やすことが可能になり、より多くのプロセ
ッサを用いいることで処理速度を更に向上することがで
きる。
アレイ型並列計算システムのプロセッサ上で並列処理す
る際に、隣接プロセッサで境界ブロックの力の計算を重
複させずにでき、計算量の低減によ処理速度を向上でき
る。 また、カットオフ距離をもつブロックを再分割してさら
に小さなブロックに分けてプロセッサ毎に割当てること
で、最低でも並列度を2次元の場合で4倍、三次元の場
合で8倍に増やすことが可能になり、より多くのプロセ
ッサを用いいることで処理速度を更に向上することがで
きる。
第1図は本発明の原理説明図;
第2図は本発明の粒子運動シミュレーションを実行する
並列計算システムの実施例構成図;第3図は本発明の第
1実施例における粒子座標データの参照説明図; 第4図は本発明の第1実施例にによる力の加算説明図; 第5図は本発明の第2実施例における粒子座標データの
参照説明図; 第6図は本発明の第2実施例における力計算説明図; 第7図は本発明の第2実施例における力の参照説明図; 第8図は本発明の対2実施例における力の加算説明図; 第9図は粒子シミュレーションのカットオフ距離とブロ
ック分割法の説明図; 第1−0図はプロセッサ内のデータ構造説明図:第1−
1図は従来方式の力の計算説明図である。 図中、 10−1〜10−n:プロセッサ 18:ホスト計算機 20:通信バス
並列計算システムの実施例構成図;第3図は本発明の第
1実施例における粒子座標データの参照説明図; 第4図は本発明の第1実施例にによる力の加算説明図; 第5図は本発明の第2実施例における粒子座標データの
参照説明図; 第6図は本発明の第2実施例における力計算説明図; 第7図は本発明の第2実施例における力の参照説明図; 第8図は本発明の対2実施例における力の加算説明図; 第9図は粒子シミュレーションのカットオフ距離とブロ
ック分割法の説明図; 第1−0図はプロセッサ内のデータ構造説明図:第1−
1図は従来方式の力の計算説明図である。 図中、 10−1〜10−n:プロセッサ 18:ホスト計算機 20:通信バス
Claims (2)
- (1)近接した多数の粒子との間の力の相互作用による
粒子の時間的な動きを、アレイ状に接続された複数のプ
ロセッサ(10−1〜10−n)の並列処理により粒子
毎に求める粒子運動シミュレーション方式に於いて、 粒子が存在する空間を粒子間での相互作用が無視できる
カットオフ距離(r_c)をもつサイズのブロックに分
割して1又は複数ブロック単位に前記プロセッサ(10
−1〜10−9)毎に割当て、各プロセッサ(10−1
〜10−9)は、自己に対し右、上及び右上に位置する
他のプロセッサの粒子データのみを参照して自己の割当
ブロック内の粒子データとの間の相互作用による力を計
算し、計算した力のデータを粒子データを参照した前記
右、上及び右上のプロセッサに帰して各プロセッサに割
当てられた計算済みの粒子の力データに加算する処理を
行うことを特徴とする粒子運動シミュレーション方式。 - (2)近接した多数の粒子との間の力の相互作用による
粒子の時間的な動きを、アレイ状に接続された複数のプ
ロセッサ(10−1〜10−n)の並列処理により粒子
毎に求める粒子運動シミュレーション方式に於いて、 粒子が存在する空間を粒子間での相互作用が無視できる
カットオフ距離(r_c)をもつブロックに分割した後
に更に再分割して前記カットオフ距離(r_c)以下の
小ブロックに分けて1ブロック単位に前記プロセッサ(
10−1〜10−25)毎に割当て、各プロセッサ(1
0−1〜10−25)は、自己に対し右、上及び右上の
カットオフ距離以内に位置する他のプロセッサの粒子デ
ータのみを参照して自己の割当ブロック内の粒子データ
との間の相互作用による力を計算し、計算した力のデー
タを粒子データを参照した前記右、上及び右上のカット
オフ距離以内の各プロセッサに帰して各プロセッサに割
当てられた計算済みの粒子の力データに加算する処理を
行うことを特徴とする粒子運動シミュレーション方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18597090A JPH0477853A (ja) | 1990-07-13 | 1990-07-13 | 粒子運動シミュレーション方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18597090A JPH0477853A (ja) | 1990-07-13 | 1990-07-13 | 粒子運動シミュレーション方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0477853A true JPH0477853A (ja) | 1992-03-11 |
Family
ID=16180065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18597090A Pending JPH0477853A (ja) | 1990-07-13 | 1990-07-13 | 粒子運動シミュレーション方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0477853A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006236256A (ja) * | 2005-02-28 | 2006-09-07 | Institute Of Physical & Chemical Research | 数値計算処理装置 |
JP2009524161A (ja) * | 2006-01-23 | 2009-06-25 | アイティーティー マニュファクチャリング エンタープライジーズ, インコーポレイテッド | 物体相互作用シミュレーションのための区分メッシュ化および近傍検索 |
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 |
JP2012128793A (ja) * | 2010-12-17 | 2012-07-05 | Japan Agengy For Marine-Earth Science & Technology | 粒子状態計算装置及び粒子状態計算方法 |
JP2013168160A (ja) * | 2005-04-19 | 2013-08-29 | D.E. Shaw Research LLC | 多数の物体の相互作用を計算する計算ユニットを決定するための方法 |
-
1990
- 1990-07-13 JP JP18597090A patent/JPH0477853A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006236256A (ja) * | 2005-02-28 | 2006-09-07 | Institute Of Physical & Chemical Research | 数値計算処理装置 |
JP4740610B2 (ja) * | 2005-02-28 | 2011-08-03 | 独立行政法人理化学研究所 | 数値計算処理装置 |
JP2013168160A (ja) * | 2005-04-19 | 2013-08-29 | D.E. Shaw Research LLC | 多数の物体の相互作用を計算する計算ユニットを決定するための方法 |
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 |
JP2009524161A (ja) * | 2006-01-23 | 2009-06-25 | アイティーティー マニュファクチャリング エンタープライジーズ, インコーポレイテッド | 物体相互作用シミュレーションのための区分メッシュ化および近傍検索 |
JP2012128793A (ja) * | 2010-12-17 | 2012-07-05 | Japan Agengy For Marine-Earth Science & Technology | 粒子状態計算装置及び粒子状態計算方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Preston Jr et al. | Modern cellular automata: theory and applications | |
Astley et al. | Multirate haptic simulation achieved by coupling finite element meshes through norton equivalents | |
US10007742B2 (en) | Particle flow simulation system and method | |
Lomdahl et al. | 50 GFlops molecular dynamics on the Connection Machine 5 | |
Kung | Computational models for parallel computers | |
Zhou et al. | Parallel simulation of group behaviors | |
JPH0477853A (ja) | 粒子運動シミュレーション方式 | |
Redon et al. | CONTACT: Arbitrary in-between motions for collision detection | |
US12020035B2 (en) | Programmatically controlled data multicasting across multiple compute engines | |
Stewman et al. | Direct construction of the perspective projection aspect graph of convex polyhedra | |
Alade et al. | Global stability of a class of virus dynamics models with general incidence rate and multitarget cells | |
Mackerras | A fast parallel marching-cubes implementation on the Fujitsu AP1000 | |
Agarwal et al. | Lower bounds for kinetic planar subdivisions | |
US10572969B2 (en) | Method and device for processing data | |
Kuester et al. | Visualization of particle traces in virtual environments | |
Capasso et al. | Global attractivity for reaction-diffusion systems. The case of nondiagonal diffusion matrices | |
CN116362966A (zh) | 图像处理方法和装置 | |
Wozny et al. | Computer science in manufacturing | |
Chang et al. | Support for Distributed Dynamic Data Structures in C+ | |
CN103593492A (zh) | 渲染将在计算机显示器上显示的计算机模型的有效方法 | |
Raghupathi et al. | QP-Collide: A new approach to collision treatment | |
Weems Jr | Real-time considerations in the design of the image understanding architecture | |
Kaufmann et al. | Accurate Real-time Physics Simulation for Large Worlds. | |
Crossno et al. | A heterogeneous graphics procedure for visualization of massively parallel solutions | |
Varalakshmi et al. | Fast proximity graph generation with spark |