JP2008538441A - 距離制限のある対毎の粒子相互作用を評価するための拡張性の高い方法 - Google Patents
距離制限のある対毎の粒子相互作用を評価するための拡張性の高い方法 Download PDFInfo
- Publication number
- JP2008538441A JP2008538441A JP2008507847A JP2008507847A JP2008538441A JP 2008538441 A JP2008538441 A JP 2008538441A JP 2008507847 A JP2008507847 A JP 2008507847A JP 2008507847 A JP2008507847 A JP 2008507847A JP 2008538441 A JP2008538441 A JP 2008538441A
- Authority
- JP
- Japan
- Prior art keywords
- calculations
- objects
- calculation
- group
- data
- 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
Links
- 239000002245 particle Substances 0.000 title claims abstract description 494
- 238000000034 method Methods 0.000 title claims abstract description 442
- 230000003993 interaction Effects 0.000 title claims abstract description 382
- 230000008676 import Effects 0.000 claims abstract description 182
- 230000015654 memory Effects 0.000 claims abstract description 128
- 238000004891 communication Methods 0.000 claims abstract description 106
- 238000012545 processing Methods 0.000 claims abstract description 68
- 238000004364 calculation method Methods 0.000 claims description 419
- 238000004088 simulation Methods 0.000 claims description 57
- 230000036961 partial effect Effects 0.000 claims description 54
- 230000027455 binding Effects 0.000 claims description 32
- 238000009739 binding Methods 0.000 claims description 32
- 238000003860 storage Methods 0.000 claims description 28
- 238000009826 distribution Methods 0.000 claims description 19
- 238000009792 diffusion process Methods 0.000 claims description 18
- 238000005192 partition Methods 0.000 claims description 9
- 230000009881 electrostatic interaction Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 8
- 230000033001 locomotion Effects 0.000 claims description 6
- 238000000329 molecular dynamics simulation Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims 1
- 238000000354 decomposition reaction Methods 0.000 abstract description 64
- 238000013459 approach Methods 0.000 abstract description 47
- 230000008901 benefit Effects 0.000 abstract description 14
- 230000006870 function Effects 0.000 description 43
- 125000004429 atom Chemical group 0.000 description 27
- 239000006260 foam Substances 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 230000007717 exclusion Effects 0.000 description 18
- 108090000623 proteins and genes Proteins 0.000 description 18
- 102000004169 proteins and genes Human genes 0.000 description 18
- 239000011159 matrix material Substances 0.000 description 17
- 238000013519 translation Methods 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 15
- 238000009825 accumulation Methods 0.000 description 14
- 230000000694 effects Effects 0.000 description 14
- 238000001914 filtration Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 12
- 230000007423 decrease Effects 0.000 description 11
- 238000005457 optimization Methods 0.000 description 11
- 239000003446 ligand Substances 0.000 description 10
- 238000000324 molecular mechanic Methods 0.000 description 10
- 238000012937 correction Methods 0.000 description 8
- 239000013598 vector Substances 0.000 description 8
- 239000011449 brick Substances 0.000 description 7
- 238000013507 mapping Methods 0.000 description 7
- 230000002829 reductive effect Effects 0.000 description 7
- 230000007935 neutral effect Effects 0.000 description 6
- 230000007704 transition Effects 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 5
- 230000010354 integration Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 4
- 238000000342 Monte Carlo simulation Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 238000005421 electrostatic potential Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 229910052757 nitrogen Inorganic materials 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 238000005381 potential energy Methods 0.000 description 3
- 238000000455 protein structure prediction Methods 0.000 description 3
- IJGRMHOSHXDMSA-UHFFFAOYSA-N Atomic nitrogen Chemical compound N#N IJGRMHOSHXDMSA-UHFFFAOYSA-N 0.000 description 2
- 238000005411 Van der Waals force Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 229910052799 carbon Inorganic materials 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 125000004435 hydrogen atom Chemical group [H]* 0.000 description 2
- 150000002605 large molecules Chemical class 0.000 description 2
- 229920002521 macromolecule Polymers 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- VNWKTOKETHGBQD-UHFFFAOYSA-N methane Chemical compound C VNWKTOKETHGBQD-UHFFFAOYSA-N 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000012846 protein folding Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000007480 spreading Effects 0.000 description 2
- 238000003892 spreading Methods 0.000 description 2
- 229910052717 sulfur Inorganic materials 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- LFQSCWFLJHTTHZ-UHFFFAOYSA-N Ethanol Chemical compound CCO LFQSCWFLJHTTHZ-UHFFFAOYSA-N 0.000 description 1
- 108010052285 Membrane Proteins Proteins 0.000 description 1
- 241000053227 Themus Species 0.000 description 1
- 238000005076 Van der Waals potential Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000003281 allosteric effect Effects 0.000 description 1
- 150000001412 amines Chemical class 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008499 blood brain barrier function Effects 0.000 description 1
- 210000001218 blood-brain barrier Anatomy 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 150000001720 carbohydrates Chemical class 0.000 description 1
- 235000014633 carbohydrates Nutrition 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 210000001520 comb Anatomy 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- -1 for example Substances 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000036433 growing body Effects 0.000 description 1
- 230000036571 hydration Effects 0.000 description 1
- 238000006703 hydration reaction Methods 0.000 description 1
- 229910052739 hydrogen Inorganic materials 0.000 description 1
- 239000001257 hydrogen Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 238000012900 molecular simulation Methods 0.000 description 1
- 230000005405 multipole Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 125000004433 nitrogen atom Chemical group N* 0.000 description 1
- 102000039446 nucleic acids Human genes 0.000 description 1
- 108020004707 nucleic acids Proteins 0.000 description 1
- 150000007523 nucleic acids Chemical class 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 125000004430 oxygen atom Chemical group O* 0.000 description 1
- 229910052698 phosphorus Inorganic materials 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 238000005182 potential energy surface Methods 0.000 description 1
- 230000004853 protein function Effects 0.000 description 1
- 238000012887 quadratic function Methods 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000005476 size effect Effects 0.000 description 1
- 229910001415 sodium ion Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 231100000419 toxicity Toxicity 0.000 description 1
- 230000001988 toxicity Effects 0.000 description 1
- 231100000041 toxicology testing Toxicity 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/25—Design optimisation, verification or simulation using particle-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B15/00—ICT specially adapted for analysing two-dimensional or three-dimensional molecular structures, e.g. structural or functional relations or structure alignment
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C10/00—Computational theoretical chemistry, i.e. ICT specially adapted for theoretical aspects of quantum chemistry, molecular mechanics, molecular dynamics or the like
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Spectroscopy & Molecular Physics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Biotechnology (AREA)
- Crystallography & Structural Chemistry (AREA)
- Biophysics (AREA)
- Chemical & Material Sciences (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Multi Processors (AREA)
- Communication Control (AREA)
Abstract
Description
本出願は、すべて本願明細書に援用する、2005年4月19日に出願した米国仮出願第60/672,717号、2005年8月18日に出願した米国仮出願第60/709,184号、および2006年1月4日に出願した米国仮出願第60/756,448号の利益を主張するものである。
複数のインポート領域の組合せの少なくとも一部は、それぞれ、インポート領域の対からなる。
インポート領域から物体のデータを受け取ることは、計算システムのノードのうちの少なくとも2つを結合する通信媒体からデータを受け取ることを含む。
一群の計算の一部は、計算システムのメモリ制限に従って選択される。
この方法は、一群の計算の一部のそれぞれを計算フェーズの反復シーケンスにおける反復に関連付けることを含む。
一群の計算の一部のそれぞれは、計算領域の別の部分領域と関連付けられる。
複数の一群の計算の一部に関連付けられている部分領域は、計算領域のパーティションを形成する。例えば、これらの部分領域は、計算領域の正則パーティションおよび/または計算領域の直線パーティションを形成する。
一群の計算に含まれる計算のそれぞれは、その計算に関連付けられている物体の集合の相互作用を特徴付けるデータの計算を含む。
この方法は、さらに、データ構造体に記録された物体の複数の集合のそれぞれの相互作用を特徴付けるデータの計算を実行することを含む。
複数のインポート領域の組合せの選択された集合の少なくとも一部では、複数のインポート領域のそれぞれにおいて1つの物体のすべての組合せについて計算が実行される。
これらのステップは、一連の時間ステップ毎に反復され、それぞれの時間ステップで実行される計算は後続の時間ステップで使用する計算領域内の物体の位置を更新するために使用される。
空間的な広がりは、計算が実行される物体の対の間の距離閾値に基づいて決定される。
複数のゾーンのうちの1つのゾーンの空間境界は、ゾーンの集合の他のゾーン内の点までの最小の距離に従って決定される。
計算領域は、正則領域に分割され、ゾーンの集合の少なくとも1つのゾーンは、正則領域のうちの1つの領域の全部ではないとしても一部を含む。
近傍は、正則領域のうちの1つに対応する。
近傍は、2つのゾーンからなり、物体の対毎に、対の一方の物体が、この2つのゾーンのうちの異なる1つのゾーン内に配置される。
隣接ゾーンは、正則領域と隣接する。
これらのゾーンのうちの少なくとも2つのゾーンは、計算領域の1つの次元方向に伸長される。
他の態様では、方法は、一般に、計算領域内に配置されている物体に関連付けられている計算を実行するための方法である。この方法では、ローカル・メモリに結合されたプロセッサを使用する。この方法は、複数の一群の計算の一部を反復実行することを含む。反復毎に、複数の一群の計算の一部のうちの一部が実行される。一群の計算の一部を実行することは、一群の計算の一部に関連付けられているインポート領域の集合それぞれの領域に配置された物体のデータをローカル・メモリ内にロードすることを含む。インポート領域は、計算領域の一部である。プロセッサ上で、物体の対に関連付けられている計算が実行される。対毎に、その対の一方の物体が、インポート領域の第1の部分に配置され、その対の他方の物体が、インポート領域の第2の部分に配置される。
物体の対に関連付けられている計算の実行は、インポート領域の第1の部分と第2の部分の組合せの所定の集合に含まれるそれぞれの組合せについて行われる。
部分領域内の物体の対に関連付けられている計算の実行は、部分領域に対応する記憶領域に関連付けられているノードに対し実行される。
部分領域のそれぞれは、ホーム領域、およびホーム領域から少なくとも所定の距離だけ広がっている領域を含む。
この所定の距離は、物体間の対毎の相互作用について少なくとも半分の相互作用半径となっている。
中間位置は、複数の物体のそれぞれの物体の位置の幾何学的中間点に従って決定される。
計算ユニットのそれぞれは、マルチ・ノード計算システムのノードに関連付けられる。
計算ユニットのそれぞれは、複数のノードのうちの1つのノードに関連付けられる。
計算領域は、複数の正則領域に分割され、それぞれの領域は、複数の計算ユニットのうちの異なる1つの計算ニットに関連付けられる。
他の態様では、方法は、一般に、計算領域内に配置されている物体に関連付けられている一群の計算を実行するための方法である。一群の計算に含まれる計算はそれぞれ、物体の集合に関連付けられる。この方法は、複数の一群の計算の一部のうちの少なくともいくつかについて、一群の計算のその一部に含まれる計算を実行することを含む。その部分集合内で計算をこのように実行することは、一群の計算の一部に関連付けられている部分領域の付近に配置された物体のデータを受け取ることと、物体の複数の集合について計算を実行することとを含む。集合のそれぞれの物体は、部分領域の付近または部分領域内に配置される。その集合の物体とその部分領域の位置は、指定された判定基準を満たす。集合内の物体と部分領域の位置に対する指定された判定基準では、集合内の物体の中間位置が部分領域内にあることが要求される。
集合内の物体の中間位置は、複数の位置を囲む境界球体の中心に基づいて決定される。
集合内の物体の中間位置は、複数の位置の平均に基づいて決定される。
物体の複数の集合のうちの少なくともいくつかは、3つの物体からなる。
物体の複数の集合のうちの少なくともいくつかは、3つよりも多い物体を含む。
指定された判定基準には、隣接する部分領域の付近にある対の物体の分布に関する情報が組み込まれる。
他の態様では、一般に、幾何学的グリッド内に配列された複数の処理ノードの分子力学シミュレーションの計算方法は、相互作用半径未満の距離だけ離れている粒子のすべての対に対するデータが少なくとも1つの処理ノード上で利用できるように処理ノード間で粒子データを交換することを含む。2つまたはそれ以上の種類の計算が、処理ノードで利用可能な粒子の対について実行される。
2つまたはそれ以上の種類の計算は、静電気相互作用、結合力、粒子移動、電荷拡散、および力拡散計算のうちの少なくとも2つを含む。
他の態様では、一般に、アイテムの複数の集合を伴う計算を実行する方法は、複数のアイテムのそれぞれをそのアイテムが属するグループの集合に関連付けることを含む。アイテムの複数の集合は、それぞれの集合に関連付けられている計算を実行する候補として識別される。集合内の複数のアイテムのグループ帰属関係に応じて複数の集合が計算から除外される。
複数の集合を除外することは、ある1つの集合を、その複数のアイテムのうちのいくつかのアイテムが共通のグループに関連付けられている場合に除外することを含む。
これらのアイテムは、シミュレーション・システムにおいて複数の物体に関連付けられる。
物体の集合内の複数の物体に関連付けられているアイテムのそれぞれは、リンクされた集合に関連付けられているグループに関連付けられる。
アイテムの複数の集合を候補として識別することは、関連付けられている物体が所定の相互作用半径内にあるようにそれらの集合を識別することを含む。
通信システムは、トロイダル形状のメッシュを形成する。
通信システムは、分離コンポーネントを備え、それぞれのコンポーネントは計算ノードの異なる近傍をリンクする。
粒子データの少なくとも一部を複数の計算ノードの他のノードに送ることは、通信システムの複数の分離コンポーネントにわたって他の計算ノードを介してデータを渡すことを含む。
(i)計算にそのデータを必要とする複数の計算ノードの他のノードに粒子データを送り、
(ii)複数の計算ノードのうちの他のノードから送られた粒子データを受け取り、
(iii)受け取った粒子データを使用して計算を実行し、第1の結果を出力し、
(iv)第1の結果を複数の計算ノードの他のノードに送り、
(v)第1の結果を複数の計算ノードの他のノードから送られる第1の結果を受け取り、
(vi)受け取った第1の結果を使用してさらに計算を実行し、第2の結果を出力するように構成されている。
通信システムは、粒子データを分配するように近傍を構成するための記憶装置を備える。
計算サブシステムは、さらに、そのノードで処理サブシステムの介入なしで、第1の結果を複数の計算ノードのうちの他の計算ノードに送ることを目的とする。
メモリ・サブシステムは、さらに、受け取った第1の結果に基づくデータを処理サブシステムに供給することを目的とする。
粒子データは、粒子位置データを含む。
第2の結果は、粒子位置データを含む。
他の態様では、一般に、並列処理システムで使用する処理ノードは、サブシステムのグループを含む。サブシステムのこのグループは、プロセッサ・サブシステム、計算サブシステム、およびメモリ・サブシステムを含む。システムは、さらに、複数のサブシステムからなるグループに含まれるいくつかのサブシステムをリンクし、ノードのサブシステムと処理システムの他の処理ノードのサブシステムとの間にリンクの少なくとも一部を形成する通信サブシステムも含む。計算サブシステムは、空間的位置にそれぞれ関連付けられているデータ要素の間の対毎の計算を実行する回路を備える。
プロセッサ・サブシステムは、実質的に一般的な計算を行うようにプログラム可能である。
通信サブシステムは、一群のインターフェイス・ユニットを含み、それぞれのインターフェイス・ユニットはサブシステムのグループに含まれる1つのサブシステムにリンクされ、通信サブシステムは、さらに、他の複数の処理ノードのインターフェイス・ユニットとリンクするための1つまたは複数のインターフェイス・ユニットを備える。
通信システムは、同じ処理ノード上のサブシステムと異なる処理ノード上のサブシステムとの間でアドレス指定可能なメッセージ受け渡しを実現する。
計算サブシステムは、それぞれ粒子シミュレーション・システム内の粒子およびグリッド位置を伴う計算を行うように適合可能である。
メモリ・サブシステムは、集積回路の外部の記憶装置デバイスとのインターフェイスを備える。
他の態様では、一般に、計算システムは、処理モジュールの1つまたは複数の直列に相互接続された処理グループに配列された処理モジュールのアレイを備える。処理モジュールはそれぞれ、データ要素用の記憶装置を備え、データ要素の間の対毎の計算を実行する回路を備え、対毎の計算のそれぞれは、処理モジュールの記憶装置からのデータ要素および直列に相互接続された処理モジュールを通過するデータ要素を使用する。
処理モジュールのアレイは、2つまたはそれ以上の直列に相互接続された処理グループを含む。
このシステムは、さらに、処理グループ間にデータ要素を分配するための分配モジュールを備える。
他の態様では、一般に、方法は、データ要素の第1の集合を受け取ることと、データ要素の第1の集合を処理モジュールの1つまたは複数の直列に相互接続された処理グループに配列されている処理モジュールのアレイの記憶装置に分配することと、データ要素の第2の集合を受け取ることと、データ要素を直列に相互接続された処理グループに通すこととを含む。
第1の集合および第2の集合のデータ要素は、多体シミュレーション・システム内の物体に関連付けられる。
この方法は、さらに、複数の処理モジュールのうちの少なくともいくつかの処理モジュールのそれぞれにおいて、データ要素の全部ではなく一部を選択することを含み、データ要素は対毎の計算の実行に関して処理グループを通過する。
データ要素の複数の対を選択することは、データ要素に関連付けられている空間的位置の間の距離間隔に応じて対を選択することを含む。
モジュールは、受け取った一連のデータ要素を他のモジュールに送出するための出力を備える。
モジュールは、計算ユニットにより出力される結果と結果を受け取るための入力で受け取った結果とを組み合わせるマージ・ユニットを備える。
他の態様および特徴は、以下の説明および請求項から明らかである。
1 概要 18
1.1 分子力学 18
1.2 分子力場 20
1.3 対毎の相互作用 21
1.4 メッシュ・ベースの計算 23
1.5 文書の編成 25
2 NT、SH、およびHS法 25
2.1 HS法 26
2.2 NT法 27
2.3 SH法 28
3 一般化分解 28
3.1 畳み込み判定基準 30
3.2 割り当て規則 32
3.2.1 HS、NT、およびSHアナログ方式の割り当て規則 32
3.2.2 中間点割り当て規則 33
3.2.3 擬似ランダム割り当て規則 34
3.2.4 計算負荷分散 35
3.2.5 並進不変性 38
3.3 可換な相互作用 39
3.4 丸め判定基準 41
3.5 高次元での分解 42
4 共有通信 45
5 対リストおよび除外グループ 48
6 マルチ・ゾーン法 50
6.1 インポート体積の下限 55
6.2 最適化優先度 56
7 一般化分解の適用 56
7.1 1/8シェル法 57
7.2 スライス1/2シェル法 58
7.3 マルチ・ゾーンNTおよびSNT法 58
7.4 泡法 59
7.5 通信帯域幅要件の比較 60
7.6 多粒子相互作用 61
8 シリアル化実装 62
9 クラスタ・アーキテクチャ 67
10 並列実装 68
11 応用 82
12 代替え 82
請求項 209
1 概要
多体相互作用(「N体」問題と呼ばれることが多い)のシミュレーションは、天体力学および計算化学を含む多くの問題領域において有用である。例えば、生体分子または静電気粒子相互作用のシミュレーションは、系内の粒子間の相互作用の非常に詳しい図を描くことにより実験を補完するものである。シミュレーションにおける重要な課題は、シミュレーション速度である。
分子シミュレーションの1アプローチは、主に物理学に基づくものであり、分子系の物理学の数学モデルに基づいて構造を予測する。タンパク質は、原子レベルでモデル化され、個々の原子または原子の複数のグループはN体系内の点物体として表される。これらの方法のうちの1つは、それぞれの粒子に加わる力を計算し、ニュートンの法則の数値積分を用いて時間の経過とともに変わるそれぞれの原子の物理的軌道を予測する分子力学(MD)である。代替えの方法として、系のポテンシャル・エネルギー面の確率的サンプリングを行うモンテカルロ法の一種がある。物理学ベースの方法は、ホモロジー・モデルを精密化するために使用されるか、または単独で適用され、スクラッチからタンパク質構造を決定する。MDは、さらに、タンパク質折り畳みの過程を調査するためにも使用される。
構造ベースの問題に対する物理学ベースの方法では、これらの計算方法の「内側ループ」は、分子系が与えられた場合に、(a)系のポテンシャル・エネルギーを全体として計算するか、または(b)系の残り部分との相互作用によるそれぞれの粒子に対する力を計算するという問題を解くように選択することが可能である。((b)の力は、単に、(a)の3次元ベクトル勾配であり、問題の2つのバリエーションは計算に関して類似のものとなる。)これらの力およびエネルギーは、一般に、分子力場と呼ばれる特定のタイプのモデルに従って計算される。
多数の場におけるシミュレーションは、粒子の明示的な対毎の相互作用を計算することを必要とする。上述の生化学における分子力学およびモンテカルロ・シミュレーションに加えて、類似のシミュレーションを物質科学、宇宙物理学およびプラズマ物理学におけるN体シミュレーション、ならびに流体力学における状態シミュレーションの粒子ベースの流体力学および方程式に適用することが可能である。このようなシミュレーションの計算作業負荷を低減するために、粒子のすべての対の間の相互作用を計算する代わりに、1アプローチでは、ある相互作用半径R未満の距離だけ隔てられている対の間の相互作用のみを計算する。これらの相互作用は、「近距離相互作用」と呼ばれる。残りの相互作用(「遠距離相互作用」)は、無視されるか、または計算量の少ない方法で取り扱われる。相互作用半径を制限することに関連して無駄を省く場合であっても、近距離相互作用はそのまま計算コストに対し支配的である。この計算を並列処理および/または直列処理について分解する方法は、これらのシミュレーションに必要な総時間数および/またはこれらのシミュレーションに必要な計算または通信を低減するうえで有用と思われる。
上で導入されているように、粒子の間、例えば、最大相互作用半径よりも広く隔てられている粒子の間の遠距離相互作用は、計算量の少ない方法を使用して計算することができる。このようなアプローチの1つは、同時係属出願である米国出願第11/171,619号、米国出願第11/171,634号、国際出願第PCT/US2005/023184号において詳述されているようなEwald法に基づく。
フーリエ領域の計算を伴う部分の実装は、3つのフェーズに分割できる。第1に、(無限および周期的)連続3次元空間r上で定義されている離散型電荷分布
本明細書の残り部分は、以下のように編成される。第2節から第7節までは、粒子の間の範囲制限された対毎の相互作用を計算すること、またはより一般的には、空間内の点の対に関連付けられている範囲制限された計算を実行することに適用可能なアルゴリズムに関係するが、ただし、対は、N体問題における粒子の対に対応するか、または対は、例えば、電荷拡散または力補間法の一部として1つのグリッド点と1つの粒子点に対応しうる。
2 NT、SH、およびHS法
近年登場したNT法およびSH法は、従来の空間分解法の1例である、「1/2シェル」またはHS法とともに、以下の枠組み内で説明することができる。シミュレートされる粒子(物体)の系は、グローバル・セルと呼ばれる矩形のボックス内に入っていると仮定する。3つの方法すべてにおいて、このグローバル・セルを小さなボックスからなる正則な矩形3次元グリッドに分割する。これらの小さなボックスをホームボックスと呼ぶ。1並列実装では、ホームボックスとプロセッサとの間に1対1対応関係を割り当てるが、プロセッサとそのホームボックスは入れ換えて参照できる。これらの方法は、そのような実装の内容について以下で説明され、いくつかの代替え実装が、この説明の後に提示される。
従来の分解では、一般に、2つの粒子は、その一方が置かれているホームボックス内で相互作用する。特にHS法では、粒子の対が相互作用する位置は、粒子は小さなx基準座標とホームボックス内で相互作用すること、2つの粒子が同じx基準座標を有する場合、粒子は、小さなy基準座標とホームボックス内で相互作用すること、これらは、同じy基準座標を有する場合、小さなz基準座標とホームボックス内で相互作用することという規則に従って相互作用する。また、これらは、同じz基準座標を有する場合、同じホームボックス内にあり、相互作用はそこで完了する。同じホームボックス上の粒子間の相互作用は、「局所的相互作用」と呼ばれるが、異なるホームボックス上の粒子間の相互作用は、「遠隔相互作用」と呼ばれる。
NT法では、2つの粒子は、1つの粒子に関連付けられているxおよびy基準座標および他の粒子に関連付けられているz基準座標を有するホームボックス内で相互作用する。より具体的には、粒子同士が相互作用するホームボックスのxおよびy基準座標は、より小さなx基準座標を持つ粒子の基準座標であるか、または両方の粒子が同じx基準座標を有する場合には、より小さなy基準座標を持つ粒子の基準座標である。粒子同士が相互作用するホームボックスのz基準座標は、他の粒子のz基準座標である。2つの粒子が同じxおよびy基準座標を有する場合、それらの粒子は、低いz座標を持つ粒子のホームボックス上で相互作用する。
SH法では、辺長hの立方体ホームボックスを仮定する。ここで、
一般化クラスの方法では、それぞれのプロセッサは、2つの相互作用ゾーンから粒子をインポートし、一方のゾーンからの粒子と他方のゾーンからの粒子とを相互作用させる。ゾーンの対は、すべての近距離相互作用が必ず計算されるようにする方法の実装について選択される。囲まれた立方体内でそれぞれの粒子が他の粒子と相互作用する場合と、囲まれている球体内でそれぞれの粒子が他の粒子と相互作用する場合の両方について考察される。半径Rの球体領域は、辺長2Rの外接立方体の体積のおおよそ半分を有するため、「丸め」により、通信帯域幅要件を低減することができる。
A.粒子は、2次元x−y平面に制限される。
B.粒子の対は、x次元方向にはR未満の距離だけ隔てられ、y次元方向にはR未満の距離だけ隔てられている場合に、かつその場合に限り相互作用する(つまり、ユークリッド距離は、Rよりも大きくてもよい)。
C.ホームボックスは、辺長hの正方形であり、Rは、hの整数倍である。同様に、相互作用ゾーンは、完全なホームボックスのみからなる(「ボクセル化法」)。
D.相互作用は、非可換である。したがって、粒子aとbの対について、ここで、aのbに対する影響とbのaに対する影響を別々に計算しなければならない。(2つの粒子の間の力は、通常、ニュートンの第三法則により可換な相互作用として取り扱われ、粒子aに対する相互作用による力は、粒子bに対する力と等しく、反対の向きである。非可換な相互作用も、実用上興味深く、例えば、それぞれの粒子の、近くのメッシュ点に対する影響を計算したい場合がある。)
これらの単純化は、以下では、簡略化された問題の最初の説明の後、徐々に緩和される。
それぞれのホームボックスに関連付けられている並進不変性ゾーンの対が与えられた場合、すべての必要な相互作用が計算されたことの検証は、畳み込みベースの判定基準を用いて実行される。ここでは、方法の受け入れ領域を、ホームボックスに影響を及ぼす空間の領域として定義する。特に、受け入れ領域は、対のレベルでさらにフィルタ処理が使用されない場合に局所的粒子に影響を及ぼすすべての遠隔粒子を含むことを保証されている空間の最小体積である。判定基準は、ホームボックスの受け入れ領域が、相互作用近傍全体を確実に含むようにすることに基づく。
分解は、それぞれのホームボックスに関連付けられた相互作用ゾーンに関して記述できる。代替え記述は、割り当て規則の形を取り、一方の粒子の他方の粒子への影響をその位置の関数として、またはそれらの粒子が最初に置かれているプロセッサ上で、計算するプロセッサを指定する。このような記述は、すでに上で示されているHSおよびNT法を含む、方法のいくつかを記述する際に無意識のうちに使用されている。
図5に例示されている、HS法の簡略化されたアナログについては、割り当て規則は、(ia→b,ja→b)=(ib,jb)として表すことができる。図6に例示されている、NT法の簡略化されたアナログについては、割り当て規則は、(ia→b,ja→b)=(ia,jb)として表すことができる。
割り当て規則は、さらに、粒子aおよびbの位置に関しても指定される。例えば、mid(a,b)がaおよびbの座標の間の幾何学的中間点を表すために使用される場合(つまり、xmid(a,b)=(xa+xb)/2)、割り当て規則は、(ia→b,ja→b)=(imid(a,b),jmid(a,b))として表わされる。さらに一般的に、必ずしも点の幾何学的中間点ではない、粒子の座標から空間内の他の点(「中間位置」)への中間点マッピングm(a,b)を使用することができ、中間点規則は、「中間点」の適当な定義により3つまたはそれ以上の点に適用される。例えば、点の集合の中間点は、すべての点を含む最小球体の中心として定義される。他の実施例としては、平均位置がある(例えば、集合内の点の座標を平均するそれぞれの座標方向について)。
それぞれのホームボックスについて定義されている特定のインポート領域では、相互作用に必要な粒子データは、複数のノードにインポートされるか、または複数のノード上ですでに利用可能であることがきわめて頻繁にある。例えば、ホームボックスのサイズがh=8{A}、相互作用半径がR=10{A}である図36に示されている実施例では、粒子a 3631とb 3632との間の相互作用に必要なデータは、インポート領域3622を有する、ホームボックス3612のある、プロセッサからも利用できる。一般に、この実施例では、粒子の対に対するデータは、最大9=32個のホームボックス(3次元バージョンでは、27=33個のホームボックス)に関連付けられているノードから利用できる。この特定の場合の相互作用の大半について、相互作用を実行することが可能なノードが少なくとも2つあり、さらに多くがあることはきわめて頻繁なことである。
上述の擬似ランダム割り当て規則に関係するアプローチでは、一般に対毎のそれぞれの計算を実行するために複数のノードが利用可能であるという事実が負荷分散に使用され、ノード同士は連携してそれぞれの計算が1回だけ実行されるように、また計算の望ましい負荷分散が行われるようにどの計算がどのノードで実行されるかを決定する。ここでは、あるクラスの方法を「中間点保証法」と呼び、それぞれのプロセッサは、上述の中間点法でインポートされるのと同じデータをインポートするが、プロセッサへの相互作用計算の割り当ては、計算負荷がプロセッサ間により均等に分けられるように調整される。
次いで、それぞれのプロセッサは、半径R/2の球体内に入る、そのプロセッサから利用可能なm個の粒子のすべての組合せからなる、局所的計算可能相互作用の集合を見つける。それぞれのプロセッサiは、局所的に計算可能な相互作用の集合を、左の隣接要素(プロセッサi−1)上でも計算可能な相互作用、右の隣接要素(プロセッサi+1)上でも計算可能な相互作用、およびプロセッサi上でのみ計算可能な相互作用の、3つの重なり合わない部分集合に分割する。これらの部分集合をそれぞれLi、Ri、およびCiと表し、そのサイズをli、ri、およびciで表す。RiおよびLi+1は、ちょうど同じ要素、つまり、ボックスiとボックスi+1との間の境界の距離R/2の範囲内にあるm個の粒子のすべての組合せを含み、したがって、ri=li+1となる。
これまで説明してきた分解方式は、並進不変である。つまり、それぞれのホームボックスは、関連付けられている相互作用ゾーンと同じ空間関係を有する。割り当て規則により、必ずしも並進不変でない分解を記述することができる。
並進不変な方式の部分集合は、相互作用ホームボックスの論理x座標が粒子の論理x座標にのみ依存し、y座標についても同様に依存するという意味で分離可能である。本明細書で説明されている方式の大半は、ここでもまた、アプローチの多くは、分離不可能な場合にも直接に、またはある程度修正して適用可能であるということを理解したうえで、分離可能である。
上に示されている簡略化された問題における仮定の1つ(上でDのラベルが付けられている)は、粒子aとbの対について、aのbに対する影響とbのaに対する影響を別々に計算するというものであった。大半ではないとしても多くの応用において、これらの影響は対称性を有し、これにより、ただ1つの相互作用を計算すればよい。相互作用が可換でないとしても、計算には、粒子位置などの同じ入力が必要な場合がある。これを利用して、同じホームボックスで両方の非可換相互作用を計算することにより通信要件を低減することができる。
上で導入されたように、上記のアプローチは、相互作用半径である、Rよりも短いユークリッド距離だけ隔てられている粒子間の相互作用の計算に関係する。簡略化された2次元問題では、したがって、それぞれの粒子は、上の仮定Bで説明されているように、辺長2Rの正方形ではなく半径Rの円内に入る粒子と相互作用する。同様に、ホームボックスの相互作用近傍は、上で考察された正方形領域の部分領域であり(仮定Bの帰結として)、部分領域のコーナーは、少なくとも一部は相互作用近傍内に入るホームボックスの限界まで伸びるのではなく「丸め」られる。この丸めを通して体積を低減するそのような相互作用近傍の使用は、インポート領域のサイズを縮小し、それにより、相互作用すべき粒子に関する情報をインポートするために必要な通信の量を減らすために活かされる。インポート領域のサイズを縮小するこの技術は、「丸め」と呼ばれる。
上述の簡略化された技術は、高次元の場合に一般化される(上記の仮定Aを緩和する)。それぞれのホームボックスが一方の並進不変性相互作用ゾーン内の粒子を他方のゾーン内の粒子と相互作用させる方法が与えられた場合、畳み込み判定基準または割り当て規則を使用して、距離R内のすべての粒子対が相互作用するかどうかを決定し、次いで、丸め判定基準により相互作用ゾーンを丸めることができる。上述の3次元HS、SH、NT、およびSNT法は、この一般的なクラスの方式の具体的なインスタンスである。
A.一方のゾーンが単一のホームボックスのみを含み、他方のゾーンが相互作用近傍の端から端まで広がるホームボックスの1つの行を含む分解。これは、図12に例示されているHSアナログと図13に例示されているNTアナログの両方の次元、および図14に例示されているSHアナログの水平方向次元についての場合である。
B.一方のゾーンが複数の隣接ホームボックスからなり、他方のゾーンは相互作用近傍の端から端まで規則正しい間隔で並ぶ個々の非隣接ホームボックスの集合からなる。これは、図15に例示されている「泡」アナログの両方の次元、および図14に例示されているSHアナログの垂直次元の場合である。
それぞれの次元について以下の4つの選択肢のうちの1つを選択することによりそのような方法の1つのゾーンを構成することができる。
・a’.単一のホームボックス、
・b.その次元にわたって規則正しい間隔で並べられた個別のホームボックスの集合、
・b’.複数の隣接ホームボックスからなるブロック。
3つの次元では、この記述に適合する一意的な分解は20ある。ただし、1つの次元にそって相互作用ゾーンのうちの1つを半分にすることにより相互作用の可換性を利用すると仮定する。
・一方または両方のゾーンが複数の非隣接断片(例えば、上記の分解b)を伴う方法では、断片の間の間隔を適宜選択する。これは、SH法により使用される技術である。
4 共有通信
上記の中間点法は、計算の複数の異なる成分で同じ通信される粒子データを利用し、これによりそれぞれの成分が別々に並列化される場合と比べて必要な総通信量が低減されるため、分子力学シミュレーションの並列化に特に適している。一般に、最大4個までの粒子の相互作用とともに、対毎の静電気およびファン・デル・ワールス項を伴う、結合力項の評価を並列化するために使用することが可能である。さらに、これにより、結合力項の評価を含む、MD計算の複数の成分は、隣接原子の対の間の静電気およびファン・デル・ワールス力の評価のため伝達される同じデータに頼ることができる。
相互作用する粒子の対を識別することを伴うアプローチでは、粒子の複数の対が識別された時点で相互作用の計算が実行されるように計算を分配される。それとは別に、NT法などのアプローチが、相互作用する粒子の対を識別するために使用されるが、対が識別されるときに計算を実行するのではなく、対のリストが生成される。次いで、必要な計算を反復するためにリストが使用される。例えば、対毎の計算が開始する前に対のリストが完全に計算されるか、または他のソフトウェアまたはさらに多くの対が計算されている間にハードウェア・モジュールがリストを受け取り、相互作用を計算するパイプライン化アプローチが使用される。いくつかのハードウェア・アーキテクチャでは、対毎の計算から対リストの生成を分離すると、例えば、より単純なハードウェアまたはより効率的にコーディングされた内側ソフトウェア・ループを使用して対毎の相互作用を計算できるようにすることにより、計算効率を高めることができる。
一般に、上で考察した方法では、2つの重なり合うゾーンが相互作用する−ホームボックス/シェル、タワー/プレート、ベース/コーム、レンガ/泡、または一般的に、青色/赤色。この節では、複数のゾーンを伴う方法を考察し、その対は、使用される特定の方法に応じて相互作用するように選択することができる。そのようマルチ・ゾーン法では、インポート領域およびホームボックスは、複数の潜在的に重なり合うゾーンの集合の和集合として取り扱われる。1つのゾーン内の粒子は、他のゾーンの部分集合内のすべての粒子と相互作用する。
(ia←→b,ja←→b)=(min(ia,ib),min(ja,jb))
に対応する。
計算する必要のある対毎の相互作用の数を考慮することによりマルチ・ゾーン法のインポート体積(Vimport)に下限を設けている。この下限は、
対称性により、有効長距離相互作用領域の体積は、立方体ホームボックスに関して最小化される(αx=αy=αz=1)。これにより、ホームボックス・アスペクト比とは無関係の緊密度の低い下限が
この節では、一般化アプローチの特定のインスタンスが提示される。ほとんどの方法は、特定の意味で最適であることが実証されていないが、多くの場合において、これらの方法は、意図された形態に対する帯域幅に関して最適であるか、または最適に非常に近いと考えられる。説明されているほとんどの方法において、適用される必要のある唯一の相互作用フィルタ処理は、相互作用半径および局所的相互作用フィルタ処理である。つまり、フィルタ処理は、一般的には、同じホームボックスから出る粒子の対の場合以外、系内で粒子の対を複数考慮することを避ける必要はない。
HS法のインポート領域は、4つのコーナー・インポート部分領域、6つの辺インポート部分領域、および3つ面インポート部分領域からなる。面部分領域は、1つの次元で異なるホームボックス、2つの次元で異なる辺部分領域、および3つの次元すべてで異なるコーナー部分領域を含む。直観的には、1/2シェル法は、低い並列度限界(αR<0.64)で実現可能な最良のものと思われる。しかし、この場合はそうではない。
(ia←→b,ja←→b,ka←→b)=(min(ia,ib),min(ja,jb),min(ka,kb))
により記述される。全インポート体積は、
範囲0.64<αR<1.20に対するあるクラスの方法は、最適化優先度によく合う場合がある。図30を参照すると、スライス1/2シェル(SHS)は、スライスされた半球配列の4つのコーナー・インポート部分領域3010(単一ゾーンC4として表される)と5つの面インポート3020(5つのゾーンN、S、E、W、Lとして表される)からなる。SおよびW面インポートは、ホームボックス3030と相互作用しないのでNおよびE面よりも遠くで丸めることが可能であることに留意されたい。図30に対応するスケジュールは、図31に示されている。
マルチ・ゾーンNT法のスケジュールは、上で説明され、図24に示されている。図32を参照すると、図18に例示されている2ゾーンSNT法のマルチ・ゾーンは、ホームボックス3210の下にある、拡張ベース3220からなる。コーム3230およびホームボックスと同じ高さのベースの部分3240は、4つのインポート領域を形成する。コーム3250の残り部分は、残りのインポート領域を形成する。マルチ・ゾーンSNT法は、図33に示されている比較的複雑なスケジュールを有する。
泡法は、図15に例示されている方法の3次元への一般化である。泡法のこのような変更形態は、多くの丸めの機会を有し、頂部がホームボックスの頂部と同じ高さであるホームボックス上のxおよびy方向に中心を置くs×s×s次元のホームボックスのレンガをインポートする。ホームボックスは、さらに、s×s×sの周期性を持つホームボックスの泡もインポートする。泡の底部は、ホームボックスの底部と同じ高さであり、泡はこのレンガに当てて丸められ、半球構造を形成する。(低並列度限界では、レンガも丸めることが可能であるが、この方法は、その限界については競合しない。)漸近的には、この方法のインポート体積は、
図34および35は、並列化パラメータの範囲にわたって上述の多くの方法のインポート体積をまとめたものである。立方体ホームボックスについては、ES法はαR<0.8の場合にこれらの方法のうちで最もよい。NT法は、0.8<αR<2.7の範囲内で最良である。SNT法は、2.7<αR<〜14の範囲内で最良である。それを超えると、泡法は次第に競合するようになる。これらの遷移は、並列化に使用されるプロセッサの数に関係しうる。例えば、N=25,000個の原子およびR=12{A}とした分子力学シミュレーションを考える。生体系は、おおよそD=0.1/{A}3の原子密度を有する。立方体ホームボックスが使用されており、それぞれの原子は、単一の粒子により表されると仮定すると、並列化パラメータは、これらのパラメータで
上の説明では、対毎の相互作用を計算するという背景状況において、さまざまなアプローチが説明されている。これらのアプローチは、さらに、2つよりも多い粒子からなる集合の間の相互作用を計算することに適用することが可能である。例えば、分子中の原子間の力は、これらのアプローチを使用して構成される。マルチ・ゾーン・アプローチでは、例えば、ES法を使用することで、2つよりも多いゾーンの特定の組合せをスケジューリングして、そのような複数の粒子相互作用を構成することができる。
1.座標次元のそれぞれについて、中間点の座標を粒子の座標の算術平均として近似する。
2.座標次元のそれぞれについて、中間点の座標を粒子の座標の算術平均として近似する。
上述のアルゴリズム技術のうちの1つまたは複数を含む、粒子相互作用を計算する1アプローチでは、シリアル化されたソフトウェア実装を使用する。このような実装では、処理ノードは、シリアル化の方法でホームボックスに対する計算を実行する。例えば、それぞれのホームボックスについて、ゾーンのそれぞれの対に含まれる粒子の対の間の相互作用がプロセッサにより計算されるマルチ・ゾーン法が実装される。このようなシリアル化実装の一バージョンでは、単一の処理ノードがシリアル化の方法ですべてのホームボックスに対するすべての計算を実行する。他のバージョンでは、複数の処理ノードの集合のうちの単一の処理ノードが、例えば、空間の1領域(例えば、立方体)を一緒に定義するホームボックスの集合に関わる。処理ノードは、少なくとも一部の共通メモリを共有する多数のプロセッサを備えていてもよい。例えば、1つのノードにある複数のプロセッサのそれぞれが、プライベート・キャッシュ・メモリを備え、全体としてノードのローカルにある共有メモリにアクセスすることができる。例えば、処理ノード間で共有される他のレベルのメモリもありえるが、それは以下の説明には直接的に重要であるわけではない。
上述のアルゴリズム技術のうちの1つまたは複数を含む、粒子相互作用を計算する他のアプローチでは、クラスタ・アーキテクチャを使用する。このアーキテクチャでは、多数のコンピュータが、通信ネットワーク、例えば、1つまたは複数のGigabit Ethernetセグメントにより結合される。それぞれのコンピュータは、例えば、オペレーティング・システム(例えば、Linux)を実行する汎用コンピュータとすることが可能である。
上述のアルゴリズム技術のうちの1つまたは複数を含むことができる、粒子相互作用を計算する他のアプローチでは、粒子相互作用を計算するために必要なさまざまな計算に特に適している専用ハードウェアを使用する。専用ハードウェアは、複数の処理ノードを含む並列アーキテクチャで配列され、それぞれの処理ノードは1つのホームボックスに関連付けられている計算を受け持つ。このアーキテクチャでは、ノード間通信が可能である。ノードを一配列は、3次元アレイであり、それぞれのノードは3本の直交軸にそってその6つの隣接要素と直接通信し、粒子データの通信は、複数のノードを通してデータを受け渡し宛先に届くようにすることを伴うことができる。
図41を参照し、単一の粒子−粒子相互作用モジュール(PPIM)4100を考えることにより、ミッドレンジ・サブシステムの動作を理解することができる。一般に、粒子間の相互作用を計算するため、反復毎に、反復の始めに、粒子の1つの集合に対する粒子データを最初にPPIM内のメモリにロードする。次いで、他の集合内の粒子はPPIMを超えてストリーミングされ、ストリーミングされる粒子に力の寄与分をもたらす。反復の終わりに、PPIMに入っていた粒子に対する力の寄与分がストリーミング出力される。
上述のアルゴリズム技術、またはハードウェアもしくはソフトウェア技術は、さまざまな用途に適用可能であり、そのうち一部は、生体分子シミュレーションに関係し、他はそうではない。応用例としては、例えば以下のものがある。
代替えとして、分散処理のさまざまな配列形態が上述の計算分解とともに使用される。
処理ノードとホームボックスとの間に一対一対応関係がある必要もない。例えば、それぞれのノードは、n×n×nの立方体のホームボックスなどの、ホームボックスの集合に関与しうる。ホームボックスのそのようなより細かな定義の用途の1つは、マルチ・ゾーン・スケジュール・アプローチであり、ゾーン間相互作用のスケジュールを使用することで重複計算の検査の必要をなくしたり、改善された丸めを通じて通信量を低減したりすることが可能である。そのようなより細かなホームボックスの他の用途は、相互作用ゾーンのそれぞれの対に関わる計算をシリアル化し、処理ノードのそれぞれにおける、ローカル・キャッシュ・メモリなどのローカル・メモリを有効に利用することである。メモリ利用の態様は、直列実装に関して以下で詳細に記載される、
並列実装の代替えバージョンでは、それぞれのノードは、ホームボックス内に配置されたものよりも多い粒子に対するデータを保持する。「クローン・バッファ」アプローチは、中間点割り当て規則アプローチとともに使用される。特に、それぞれのノードは、ホームボックスの境界を超えて距離R/2だけ伸びる領域から粒子データを格納する。それぞれの計算フェーズの後、拡張された領域内のすべての粒子に対する力がそのノードに送られ、これにより、粒子の新しい位置を冗長に計算することが可能になる。計算フェーズでは、例えば、中間点割り当て規則または擬似ランダム割り当て規則を使用して、粒子データをさらにインポートすることは必要ないが、その理由は、拡張領域が必要なすべての粒子を含むからである。
尚、国際出願の英文明細書中にJISコードで表記できない箇所があったため、この翻訳文では代替表記を使用した、具体的には、
{A}は、
Claims (81)
- 計算領域内に配置された物体に関連する計算を実行する方法であって、
該複数の一群の計算の一部のうちのそれぞれの一部について、一群の計算の該一部において該計算を実行することであって、
該一群の計算の該一部に関連付けられており、該計算領域の一部である複数のインポート領域のそれぞれに配置された物体のデータを受け取ること、
複数の該インポート領域の所定の複数の組合せのうちのそれぞれの組合せについて、物体の集合に関連付けられている計算を実行すること
を備え、物体の該集合のそれぞれについて、該集合の少なくとも1つの物体が該組合せの該それぞれのインポート領域に配置されている、方法。 - 複数の前記インポート領域の前記組合せの少なくとも一部は、それぞれ、前記インポート領域の対からなる、請求項1に記載の方法。
- 一群の計算の前記一部のそれぞれは、マルチ・ノード計算システムの異なるノード上で実行される、請求項1に記載の方法。
- 前記インポート領域から物体の前記データを受け取ることは、前記計算システムの前記ノードのうちの少なくとも2つを結合する通信媒体からデータを受け取ることを含む、請求項3に記載の方法。
- 一群の計算の前記一部のそれぞれは、計算システム上で順次実行される、請求項1に記載の方法。
- 一群の計算の前記一部は、前記計算システムのメモリ制限に従って選択される、請求項5に記載の方法。
- さらに、一群の計算の前記一部のそれぞれを計算フェーズの反復シーケンスにおける反復に関連付けることを備える、請求項1に記載の方法。
- 前記インポート領域から物体の前記データを受け取ることは、前記反復の前記計算を実行するプロセッサに関連付けられているローカル・メモリ内に前記データをロードすることを含む、請求項7に記載の方法。
- 一群の計算の前記一部のそれぞれは、前記計算領域の別の部分領域と関連付けられる、請求項1に記載の方法。
- 一群の計算の前記一部のそれぞれについて、前記インポート領域は、前記一部が関連付けられている前記計算領域の前記部分領域から分離している、請求項9に記載の方法。
- 一群の計算の前記複数の一部に関連付けられている前記部分領域は、前記計算領域のパーティションを形成する、請求項9に記載の方法。
- 前記部分領域は、前記計算領域の正則なパーティションを形成する、請求項9に記載の方法。
- 前記部分領域は、前記計算領域の直線的なパーティションを形成する、請求項12に記載の方法。
- 計算のそれぞれの一部における前記計算を実行することは、さらに、
物体の集合に関連付けられている計算を実行することであって、該集合のそれぞれの物体は一群の計算の前記一部に関連付けられている前記部分集合内に配置されている該集合のそれぞれについて、計算を実行すること、
物体の集合に関連付けられている計算を実行することであって、1つの物体が一群の計算の前記一部に関連付けられている前記部分集合内に配置され、該集合の他の物体が一群の計算の前記一部に関連付けられている前記インポート領域内に配置されている該複数の集合のそれぞれについて、計算を実行すること
を含む請求項9に記載の方法。 - 物体の前記集合のそれぞれの物体が一群の計算の前記一部に関連付けられている前記部分領域内に配置されている物体の該集合に関連付けられている計算を前記実行することは、前記インポート領域からの物体に対する前記データを受け取りながら遂行される、請求項14に記載の方法。
- 一群の計算のそれぞれの一部内の前記計算を実行することは、さらに、
物体の集合に関連付けられている計算を実行することであって、該集合のそれぞれの物体は一群の計算の前記一部に関連付けられている前記インポート領域の1つに配置され、該集合のどの物体も一群の計算の前記一部に関連付けられている前記部分領域内に配置されていない、計算を実行すること
を含む請求項9に記載の方法。 - 一群の計算のそれぞれの一部内で前記計算を実行することは、前記インポート領域に応じて指定された計算のスケジュールを適用することを含む請求項1に記載の方法。
- 前記一群の計算における前記計算のそれぞれは、その計算に関連付けられている物体の前記集合の相互作用を特徴付けるデータの計算を含む、請求項1に記載の方法。
- 前記一群の計算における前記計算のそれぞれは、その計算に関連付けられている物体の前記集合の識別をデータ構造体に記録することを含む、請求項1に記載の方法。
- さらに、前記データ構造体に記録された物体の前記複数の集合のそれぞれの相互作用を特徴付けるデータの計算を実行すること、を備える、請求項19に記載の方法。
- 一群の計算のそれぞれの前記一部内の前記計算を実行する際に、物体のどの集合についても、物体のその集合に対する計算は、前記部分集合の高々1つにおいて実行される、請求項1に記載の方法。
- 複数のインポート領域の選択された複数の組合せの少なくとも一部では、前記複数のインポート領域のそれぞれにおいて1つの物体のすべての組合せについて計算が実行される、請求項1に記載の方法。
- 一群の計算のそれぞれの前記一部内の前記計算を実行する際に、物体のどの集合についても、物体のその集合に対する計算は、前記部分集合の高々1つにおいて実行される、請求項22に記載の方法。
- 前記工程は、一連の時間ステップ毎に反復され、それぞれの時間ステップで実行される前記計算は後続の時間ステップで使用する前記計算領域内の前記物体の位置を更新するために使用される、請求項1に記載の方法。
- 計算領域内に配置された物体に関連付けられている一群の計算を実行する方法であって、該一群の計算内の該計算のそれぞれは該物体の対に関連付けられ、該方法は、
複数のゾーンからなる近傍内に配置された物体に対するデータを受け取ること、
該ゾーンと異なるゾーン内に配置されている物体の対に関連付けられている計算を実行すること
を備え、
少なくとも1つの該ゾーンの空間的な広がりは、該ゾーンのうちの他のゾーン内のすべての点からの最小の距離よりも遠く離れている該ゾーンのうちの1つのゾーン内の少なくとも一部の点を排除するように決定される、計算領域内に配置された物体に関連付けられている、方法。 - 前記空間的な広がりは、計算が実行される物体の対の間の距離閾値に基づいて決定される、請求項25に記載の方法。
- 前記複数のゾーンのうちの1つのゾーンの空間境界は、前記複数のゾーンのうちの他のゾーン内の点までの最小の距離に従って決定される、請求項25に記載の方法。
- 前記複数のゾーンのうちの少なくとも1つのゾーンは、非平面境界を含む、請求項25に記載の方法。
- 前記計算領域は、複数の正則領域に分割され、前記複数のゾーンのうちの少なくとも1つのゾーンは、該正則領域のうちの1つの領域の全部ではない一部を含む、請求項25に記載の方法。
- 前記計算領域は、複数の正則領域に分割され、それぞれの領域は、前記一群の計算の一部に関連付けられる、請求項25に記載の方法。
- 前記近傍は、前記複数の正則領域のうちの1つに対応する、請求項30に記載の方法。
- 計算領域内に配置された物体に関連付けられている一群の計算を実行する方法であって、該計算領域が複数の正則領域に分割され、該一群の計算内の該計算のそれぞれは該物体の集合に関連付けられ、該方法は、
該正則領域の少なくとも一部について、該正則領域の、複数のゾーンを含む近傍内に配置された物体に対するデータを受け取ること
を備え、
該複数のゾーンは、該計算領域の少なくとも2つの次元に分布している部分と隣接しない少なくとも1つのゾーンを含む、方法。 - 前記一群の計算に含おけるそれぞれの計算は、物体の対に関連付けられる、請求項32に記載の方法。
- 前記近傍は、2つのゾーンからなり、物体の前記対毎に、前記対の一方の物体が、前記2つのゾーンのうちの異なる1つのゾーン内に配置される、請求項33に記載の方法。
- 前記複数のゾーンは、少なくとも1つの隣接ゾーンを含む、請求項32に記載の方法。
- 前記隣接ゾーンは、前記正則領域に隣接する、請求項35に記載の方法。
- 前記複数のゾーンのうちの少なくとも2つのゾーンは、前記計算領域の1つの次元方向に伸長される、請求項32に記載の方法。
- 少なくとも1つの前記ゾーンは、前記計算領域の少なくとも1つの他の次元方向に拡がる、請求項37に記載の方法。
- ローカル・メモリに結合されたプロセッサを使用して計算領域内に配置された物体に関連付けられている計算を実行する方法であって、
複数の一群の計算の一部を反復実行することであって、それぞれの反復において、計算の一群の該複数の一部のうちの一部を実行することは、
一群の計算の該一部に関連付けられている、該計算領域の一部である複数のインポート領域のそれぞれに配置された物体のデータを該ローカル・メモリにロードすること、
物体の対に関連付けられている計算を該プロセッサ上で実行することを含み、対毎に、該対の一方の物体が、該インポート領域の第1の部分に配置され、該対の他方の物体が、該インポート領域の第2の部分に配置される、反復実行すること
を備える方法。 - 物体の対に関連付けられている前記計算を前記実行することは、前記インポート領域の前記第1の部分と前記第2の部分の所定の複数の組合せのそれぞれについて実行される、請求項39に記載の方法。
- 物体の前記対に関連付けられている前記計算を実行することは、前記対の一方の物体が前記インポート領域の前記第1の部分に配置され、前記対の他方の物体が前記インポート領域の前記第2の部分に配置されている物体の実質的にすべての対に関連付けられている計算を実行することを含む、請求項39に記載の方法。
- 計算領域内に配置された物体に関連付けられている計算を実行する方法であって、
該計算領域の複数の部分領域のそれぞれについて、対応する個別の記憶領域内に該部分領域内の物体のデータを保持することであって、該部分領域は、少なくともいくつかの物体が複数の該記憶領域内に保持されるように重なり合う、データを保持すること、
該部分領域のそれぞれについて、該対応する記憶領域からその部分領域内の物体の該データにアクセスし、且つその部分領域内の該物体のうちの2つまたはそれ以上の物体の集合に関連付けられている計算を実行すること
を備える、方法。 - 前記個別の記憶領域のそれぞれは、マルチ・ノード計算システムの1つのノードに関連付けられる、請求項42に記載の方法。
- 前記部分領域内の前記物体の複数の対に関連付けられている前記計算を実行することは、前記部分領域に対応する前記記憶領域に関連付けられている前記ノードに対し実行される、請求項43に記載の方法。
- 前記個別の記憶領域のそれぞれは、異なるノードに関連付けられる、請求項43に記載の方法。
- 前記部分領域のそれぞれは、ホーム領域、および前記ホーム領域から少なくとも所定の距離だけ広がっている領域を含む、請求項42に記載の方法。
- 前記ホーム領域は、前記計算領域の1つのパーティションを形成する、請求項46に記載の方法。
- 前記所定の距離は、物体間の対毎の相互作用について少なくとも相互作用半径の半分となっている、請求項46に記載の方法。
- 前記部分領域内の物体の前記複数の対に関連付けられている前記計算を実行することは、前記複数の物体の位置の中点が前記部分領域に対する前記ホーム領域内にある物体の対について計算を実行することを含む、請求項48に記載の方法。
- 計算領域内に配置されている物体の集合間の相互作用を計算する方法であって、
物体の複数の該集合のうちの1つに関連付けられているそれぞれの計算について、該複数の物体のそれぞれの位置から決定された該物体の該集合の中間位置に基づいて前記計算を実行するための複数の計算ユニットのうちから1つの計算ユニットを決定すること
を備える、方法。 - 前記中間位置は、前記複数の物体のそれぞれの物体の前記位置の幾何学的中点に従って決定される、請求項50に記載の方法。
- 前記中間位置は、前記複数の物体のそれぞれの物体の前記位置を囲む最小球体の中心に従って決定される、請求項50に記載の方法。
- 前記計算ユニットのそれぞれは、マルチ・ノード計算システムの1つのノードに関連付けられる、請求項50に記載の方法。
- 前記計算ユニットのそれぞれは、異なるノードに関連付けられる、請求項53に記載の方法。
- 前記計算ユニットのそれぞれは、前記複数のノードのうちの1つに関連付けられる、請求項53に記載の方法。
- 前記計算領域は、前記複数の計算ユニットのうちの1つの異なる計算ユニットにそれぞれ関連付けられる複数の正則領域に分割される、請求項50に記載の方法。
- 物体の前記複数の集合の少なくともいくつかに関連付けられている計算を実行するための前記計算ユニットを決定することは、前記集合の前記中間位置が前記計算ユニットに関連付けられている前記正則領域内にあるかどうかに基づく、請求項56に記載の方法。
- 物体の前記複数の集合の少なくともいくつかに関連付けられている計算を実行するための前記計算ユニットを決定することは、前記集合の前記中間位置が前記計算ユニットに関連付けられている前記正則領域内に入る前記計算ユニットを含む一群の計算ユニットから1つの計算ユニットを選択することを含む、請求項56に記載の方法。
- 前記一群の計算ユニットは、前記集合内の前記物体のそれぞれが、中間位置が前記少なくとも1つの他の計算ユニットの前記正則領域内に入る物体の少なくとも1つの他の集合に属すような、少なくとも1つの他の計算ユニットをさらに含む、請求項58に記載の方法。
- 前記計算ユニットを選択することは、前記複数の計算ユニット全体の計算負荷の分布に従って部分的に実行される、請求項58に記載の方法。
- 計算領域内に配置された物体に関連付けられている一群の計算を実行する方法であって、該一群の計算内の該計算のそれぞれは物体の集合に関連付けられ、該方法は、
複数の一群の計算の該一部のうちの少なくともいくつかについて、一群の計算の該一部における該計算を実行することであって、
一群の計算の該一部に関連付けられている該部分領域の付近に配置された物体のデータを受け取ること、
物体の該集合に対する計算を実行することであって、該集合のそれぞれの物体は該部分領域の付近または該部分領域内に配置され、該集合および該部分領域の該物体の配置は指定された基準を満たし、該集合および該部分領域内の該物体の該位置に対する該指定された基準は該集合内の該物体の中間位置が該部分領域内にあることを要求する基準である、物体の該集合に対する計算を実行することこと
を含む、一群の計算の該一部における該計算を実行すること
を備える、方法。 - 前記集合内の前記物体の前記中間位置は、前記配置を囲む境界球体の中心に基づいて決定される、請求項61に記載の方法。
- 前記集合内の前記物体の前記中間位置は、前記配置の平均に基づいて決定される、請求項61に記載の方法。
- 物体の前記複数の集合のうちの少なくともいくつかは、2つの物体からなる、請求項61に記載の方法。
- 物体の前記複数の集合のうちの少なくともいくつかは、3つの物体からなる、請求項61に記載の方法。
- 物体の前記複数の集合のうちの少なくともいくつかは、3つよりも多い物体を含む、請求項61に記載の方法。
- 計算領域内に配置された物体に関連付けられている一群の計算を実行する方法であって、該一群の計算内の該計算のそれぞれは物体の対に関連付けられ、該方法は、
一群の計算の該一部のうちの少なくともいくつかについて、一群の計算の該一部における該計算を実行することであって、
一群の計算の該一部に関連付けられている部分領域の付近に配置された物体のデータを受け取ること、
物体の対の計算を実行することであって、該対のそれぞれの物体は該部分領域の付近または該部分領域の中に配置され、該対および該部分領域の該複数の物体の該配置は指定された基準を満たす、物体の対の計算を実行すること
を含む、該実行すること
を備える、計算領域内に配置された物体に関連付けられている一群の計算を実行する方法。 - 前記指定された基準は、隣接する部分領域の付近にある複数の対の複数の物体の分布に関する情報を組み込む、請求項67に記載の方法。
- 対及び前記部分領域内の前記複数の物体の前記配置に対する前記指定された基準では、該対内の前記複数の物体の前記配置の中間点が前記部分領域内にあることが要求される、請求項67に記載の方法。
- 幾何学的グリッド内に配列された複数の処理ノードの分子動力学シミュレーションの計算方法であって、
相互作用半径未満の距離だけ離れている粒子のすべての対に対するデータが少なくとも1つの処理ノード上で利用できるように、処理ノード間で粒子データを交換すること、
処理ノードで利用可能な、粒子の対について2つまたはそれ以上の種類の計算を実行すること
を含む、方法。 - 前記2つまたはそれ以上の種類の計算は、静電気相互作用、結合力、粒子移動、電荷拡散、および力拡散計算のうちの少なくとも2つを含む、請求項70に記載の方法。
- 前記2つまたはそれ以上の種類の計算は、静電気相互作用計算を含む、請求項71に記載の方法。
- アイテムの集合を伴う計算を実行する方法であって、
複数のアイテムのそれぞれを、そのアイテムが属するグループの集合に関連付けること、
該アイテムの複数の集合を、それぞれの集合に関連付けられている計算を実行するための候補として識別すること、
該集合内の該複数のアイテムのグループ帰属関係に応じて集合を該計算から除外すること
を備える、方法。 - 前記集合を前記除外することは、うちの複数のアイテムが共通のグループに関連付けられている場合に、集合を除外することを含む、請求項73に記載の方法。
- 前記集合を前記除外することは、すべてのアイテムが共通のグループに関連付けられている場合に、集合を除外することを含む、請求項74に記載の方法。
- 前記アイテムは、シミュレーション・システムにおいて物体に関連付けられる、請求項73に記載の方法。
- 前記物体は、物体がリンクされた集合を形成し、前記グループの少なくとも一部は、それぞれ、物体がリンクされた集合に関連付けられ、物体の前記集合内の前記物体に関連付けられている前記アイテムのそれぞれは、該リンクされた集合に関連付けられている前記グループに関連付けられる、請求項76に記載の方法。
- 物体の前記リンクされた集合は、物体が結合された集合を含む、請求項77に記載の方法。
- 前記アイテムの前記複数の集合を候補として識別することは、前記関連付けられている物体が所定の相互作用半径内にあるように前記集合を識別することを含む、請求項76に記載の方法。
- 請求項1乃至79のいずれか1項に記載のすべての工程を実行するように適合されたソフトウェア製品。
- コンピュータ可読媒体上で実施される工程を実行するための命令を含む、請求項80に記載のソフトウェア製品。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US67271705P | 2005-04-19 | 2005-04-19 | |
US60/672,717 | 2005-04-19 | ||
US70918405P | 2005-08-18 | 2005-08-18 | |
US60/709,184 | 2005-08-18 | ||
US75644806P | 2006-01-04 | 2006-01-04 | |
US60/756,448 | 2006-01-04 | ||
PCT/US2006/014782 WO2006113825A1 (en) | 2005-04-19 | 2006-04-19 | Scalable method for the evaluation of distance-limited pairwise particle interactions |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013058442A Division JP5592523B2 (ja) | 2005-04-19 | 2013-03-21 | 多数の物体の相互作用を計算する計算ユニットを決定するための方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008538441A true JP2008538441A (ja) | 2008-10-23 |
JP5271699B2 JP5271699B2 (ja) | 2013-08-21 |
Family
ID=36685709
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008507847A Active JP5271699B2 (ja) | 2005-04-19 | 2006-04-19 | 粒子の相互作用の計算のためのゾーン法 |
JP2012015530A Active JP6047288B2 (ja) | 2005-04-19 | 2012-01-27 | 粒子相互作用を計算するための並行計算アーキテクチャ |
JP2013058442A Active JP5592523B2 (ja) | 2005-04-19 | 2013-03-21 | 多数の物体の相互作用を計算する計算ユニットを決定するための方法 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012015530A Active JP6047288B2 (ja) | 2005-04-19 | 2012-01-27 | 粒子相互作用を計算するための並行計算アーキテクチャ |
JP2013058442A Active JP5592523B2 (ja) | 2005-04-19 | 2013-03-21 | 多数の物体の相互作用を計算する計算ユニットを決定するための方法 |
Country Status (4)
Country | Link |
---|---|
US (4) | US8126956B2 (ja) |
EP (2) | EP2447852A3 (ja) |
JP (3) | JP5271699B2 (ja) |
WO (1) | WO2006113825A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012128793A (ja) * | 2010-12-17 | 2012-07-05 | Japan Agengy For Marine-Earth Science & Technology | 粒子状態計算装置及び粒子状態計算方法 |
JP2013026698A (ja) * | 2011-07-19 | 2013-02-04 | Jvc Kenwood Corp | 映像ノイズ低減装置及び映像ノイズ低減方法 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007022469A2 (en) | 2005-08-18 | 2007-02-22 | D.E. Shaw Research, Llc | Parallel computer architecture for computation of particle interactions |
EP2447852A3 (en) * | 2005-04-19 | 2015-01-07 | D.E. Shaw Research, LLC | Scalable method for the evaluation of distance-limited pairwise particle interactions |
US20070097970A1 (en) * | 2005-11-01 | 2007-05-03 | Georgios Margaritis | Packet retransmitter |
US7769573B2 (en) * | 2006-05-26 | 2010-08-03 | Zymeworks Inc. | System and method for modeling interactions |
WO2008118789A2 (en) * | 2007-03-23 | 2008-10-02 | D. E. Shaw Research, Llc | Computation of multiple body interactions |
US8223155B2 (en) * | 2007-04-27 | 2012-07-17 | Sony Corporation | Method for simulating large numbers of spherical bodies interacting |
US8203560B2 (en) * | 2007-04-27 | 2012-06-19 | Sony Corporation | Method for predictively splitting procedurally generated particle data into screen-space boxes |
US8279227B2 (en) * | 2008-04-04 | 2012-10-02 | Sony Corporation | Method for detecting collisions among large numbers of particles |
JP5417865B2 (ja) * | 2009-01-28 | 2014-02-19 | 富士ゼロックス株式会社 | 粒子挙動解析装置およびプログラム |
US9418182B2 (en) * | 2009-06-01 | 2016-08-16 | Paradigm Sciences Ltd. | Systems and methods for building axes, co-axes and paleo-geographic coordinates related to a stratified geological volume |
US8711140B1 (en) * | 2009-06-01 | 2014-04-29 | Paradigm Sciences Ltd. | Systems and methods for building axes, co-axes and paleo-geographic coordinates related to a stratified geological volume |
US8600708B1 (en) | 2009-06-01 | 2013-12-03 | Paradigm Sciences Ltd. | Systems and processes for building multiple equiprobable coherent geometrical models of the subsurface |
US8599804B2 (en) * | 2009-08-07 | 2013-12-03 | Broadcom Corporation | Distributed signal field for communications within multiple user, multiple access, and/or MIMO wireless communications |
US8743115B1 (en) | 2009-10-23 | 2014-06-03 | Paradigm Sciences Ltd. | Systems and methods for coordinated editing of seismic data in dual model |
US9098944B2 (en) * | 2010-03-04 | 2015-08-04 | Pixar | Scale separation in hair dynamics |
US20110310088A1 (en) * | 2010-06-17 | 2011-12-22 | Microsoft Corporation | Personalized navigation through virtual 3d environments |
US20120150496A1 (en) * | 2010-12-09 | 2012-06-14 | Jiun-Der Yu | Simplified Fast 3D Finite Difference Particulate Flow Algorithms for Liquid Toner Mobility Simulations |
US10795053B2 (en) | 2013-10-29 | 2020-10-06 | Emerson Paradigm Holding Llc | Systems and methods of multi-scale meshing for geologic time modeling |
WO2015066415A1 (en) * | 2013-11-01 | 2015-05-07 | University Of Florida Research Foundation, Inc. | Movable type method applied to protein-ligand binding |
JP6261130B2 (ja) | 2014-06-04 | 2018-01-17 | 国立研究開発法人海洋研究開発機構 | 粒子シミュレーション装置、粒子シミュレーション方法及び粒子シミュレーションプログラム |
JP6840668B2 (ja) | 2014-11-14 | 2021-03-10 | ディ.イー.ショー リサーチ, エルエルシーD.E.Shaw Research, Llc | 結合された粒子間の相互作用の抑制 |
US9690002B2 (en) | 2015-06-18 | 2017-06-27 | Paradigm Sciences Ltd. | Device, system and method for geological-time refinement |
US10466388B2 (en) | 2016-09-07 | 2019-11-05 | Emerson Paradigm Holding Llc | System and method for editing geological models by switching between volume-based models and surface-based structural models augmented with stratigraphic fiber bundles |
CN106788092B (zh) * | 2017-02-28 | 2019-03-05 | 南京工程学院 | 一种基于原子分解法的同步电机参数辨识方法 |
US10520644B1 (en) | 2019-01-10 | 2019-12-31 | Emerson Paradigm Holding Llc | Imaging a subsurface geological model at a past intermediate restoration time |
US11156744B2 (en) | 2019-01-10 | 2021-10-26 | Emerson Paradigm Holding Llc | Imaging a subsurface geological model at a past intermediate restoration time |
CA3183331A1 (en) * | 2020-06-19 | 2021-12-23 | Charlotte SENNERSTEN | Data model for mining |
JP7408533B2 (ja) | 2020-12-09 | 2024-01-05 | 株式会社東芝 | 情報処理装置、情報処理方法およびプログラム |
JP2024511077A (ja) * | 2021-03-19 | 2024-03-12 | ディ.イー.ショー リサーチ,エルエルシー | 多体シミュレーション |
CN113806994B (zh) * | 2021-09-23 | 2022-12-20 | 盐城师范学院 | 一种活性粒子时空分布监测方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03204758A (ja) * | 1990-01-06 | 1991-09-06 | Fujitsu Ltd | 粒子運動シミュレーション処理方式 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02249083A (ja) * | 1989-03-22 | 1990-10-04 | Fujitsu Ltd | アレイプロセッサによる粒子シミュレーション方式 |
US5377129A (en) * | 1990-07-12 | 1994-12-27 | Massachusetts Institute Of Technology | Particle interaction processing system |
JPH0477853A (ja) * | 1990-07-13 | 1992-03-11 | Fujitsu Ltd | 粒子運動シミュレーション方式 |
JP2976675B2 (ja) | 1992-02-21 | 1999-11-10 | 日本電気株式会社 | アレイプロセッサのルーティング方法 |
JPH05274277A (ja) * | 1992-03-30 | 1993-10-22 | Toshiba Corp | 分子動力学計算装置 |
JPH05324581A (ja) * | 1992-05-22 | 1993-12-07 | Hitachi Ltd | 並列多体問題シミュレータ及び当該シミュレータにおける負荷分散方法 |
JPH07140289A (ja) | 1993-11-17 | 1995-06-02 | Toshiba Corp | 中性子輸送シミュレータ |
WO1997019413A1 (en) * | 1995-11-21 | 1997-05-29 | The Trustees Of Columbia University In The City Of New York | Fast methods for simulating biomolecular systems with long-range electrostatic interactions by molecular dynamics |
FR2742560B1 (fr) * | 1995-12-19 | 1998-01-16 | Commissariat Energie Atomique | Architecture de systeme en tableau de processeurs a structures paralleles multiples |
US6407748B1 (en) * | 1998-04-17 | 2002-06-18 | Sandia Corporation | Method and apparatus for modeling interactions |
US6373849B1 (en) * | 1998-06-08 | 2002-04-16 | Excel Switching Corporation | Resource interface unit for telecommunications switching node |
US6678642B1 (en) * | 1998-10-08 | 2004-01-13 | Sandia Corporation | Method of and apparatus for modeling interactions |
US6373489B1 (en) | 1999-01-12 | 2002-04-16 | Schlumberger Technology Corporation | Scalable visualization for interactive geometry modeling |
US6600788B1 (en) * | 1999-09-10 | 2003-07-29 | Xilinx, Inc. | Narrow-band filter including sigma-delta modulator implemented in a programmable logic device |
US7177867B2 (en) * | 2000-10-23 | 2007-02-13 | Sri International | Method and apparatus for providing scalable resource discovery |
US7096167B2 (en) * | 2001-04-26 | 2006-08-22 | International Business Machines Corporation | System and method for molecular dynamic simulation |
JP3832431B2 (ja) * | 2002-12-25 | 2006-10-11 | ソニー株式会社 | 画像処理装置 |
US20040225711A1 (en) * | 2003-05-08 | 2004-11-11 | Spotware Technologies, Inc. | System for administering computers on a computing grid |
US7734456B2 (en) * | 2004-03-30 | 2010-06-08 | Osamu Fujita | Method and apparatus for priority based data processing |
EP2447852A3 (en) * | 2005-04-19 | 2015-01-07 | D.E. Shaw Research, LLC | Scalable method for the evaluation of distance-limited pairwise particle interactions |
US7610184B1 (en) * | 2006-01-23 | 2009-10-27 | Itt Manufacturing Enterprises, Inc. | Sector meshing and neighbor searching for object interaction simulation |
US20070233440A1 (en) * | 2006-03-29 | 2007-10-04 | International Business Machines Corporation | Reduced message count for interaction decomposition of N-body simulations |
US7769573B2 (en) * | 2006-05-26 | 2010-08-03 | Zymeworks Inc. | System and method for modeling interactions |
-
2006
- 2006-04-19 EP EP11176182.1A patent/EP2447852A3/en not_active Ceased
- 2006-04-19 WO PCT/US2006/014782 patent/WO2006113825A1/en active Application Filing
- 2006-04-19 EP EP06758413.6A patent/EP1880327B1/en active Active
- 2006-04-19 JP JP2008507847A patent/JP5271699B2/ja active Active
-
2007
- 2007-10-19 US US11/975,694 patent/US8126956B2/en active Active
-
2011
- 2011-12-19 US US13/329,852 patent/US10824422B2/en active Active
-
2012
- 2012-01-27 JP JP2012015530A patent/JP6047288B2/ja active Active
- 2012-11-19 US US13/680,962 patent/US9747099B2/en active Active
-
2013
- 2013-02-01 US US13/756,998 patent/US9612832B2/en active Active
- 2013-03-21 JP JP2013058442A patent/JP5592523B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03204758A (ja) * | 1990-01-06 | 1991-09-06 | Fujitsu Ltd | 粒子運動シミュレーション処理方式 |
Non-Patent Citations (2)
Title |
---|
CSNG200000926019; 林 亮子: '直鎖高分子の並列分子動力学法シミュレーション' 情報処理学会論文誌 Vol.36 No.6, 19980615, pp.1775-1781 * |
JPN6012000790; 林 亮子: '直鎖高分子の並列分子動力学法シミュレーション' 情報処理学会論文誌 Vol.36 No.6, 19980615, pp.1775-1781 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012128793A (ja) * | 2010-12-17 | 2012-07-05 | Japan Agengy For Marine-Earth Science & Technology | 粒子状態計算装置及び粒子状態計算方法 |
JP2013026698A (ja) * | 2011-07-19 | 2013-02-04 | Jvc Kenwood Corp | 映像ノイズ低減装置及び映像ノイズ低減方法 |
Also Published As
Publication number | Publication date |
---|---|
US8126956B2 (en) | 2012-02-28 |
EP1880327A1 (en) | 2008-01-23 |
JP2013168160A (ja) | 2013-08-29 |
US20120116737A1 (en) | 2012-05-10 |
EP2447852A2 (en) | 2012-05-02 |
EP2447852A3 (en) | 2015-01-07 |
US20130173889A1 (en) | 2013-07-04 |
US9612832B2 (en) | 2017-04-04 |
US20130091341A1 (en) | 2013-04-11 |
JP5271699B2 (ja) | 2013-08-21 |
JP5592523B2 (ja) | 2014-09-17 |
JP2012119008A (ja) | 2012-06-21 |
US20080243452A1 (en) | 2008-10-02 |
WO2006113825A1 (en) | 2006-10-26 |
EP1880327B1 (en) | 2021-09-08 |
US9747099B2 (en) | 2017-08-29 |
US10824422B2 (en) | 2020-11-03 |
JP6047288B2 (ja) | 2016-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5592523B2 (ja) | 多数の物体の相互作用を計算する計算ユニットを決定するための方法 | |
Dryden et al. | Improving strong-scaling of CNN training by exploiting finer-grained parallelism | |
Qiu et al. | Cloud technologies for bioinformatics applications | |
WO2008118789A2 (en) | Computation of multiple body interactions | |
JP2009505299A (ja) | 粒子相互作用を計算するための並行計算アーキテクチャ | |
Wu et al. | Upgrade of fpga range-limited molecular dynamics to handle hundreds of processors | |
Zhang et al. | Implementation of parallel genetic algorithm based on CUDA | |
JP6778728B2 (ja) | 粒子相互作用を計算するための並行計算アーキテクチャ | |
Koanantakool et al. | A computation-and communication-optimal parallel direct 3-body algorithm | |
Stone et al. | GPU Algorithms for Molecular Modeling. | |
Nuttall | Parallel implementation and application of the random finite element method | |
Koanantakool | Communication Avoidance for Algorithms with Sparse All-to-all Interactions | |
Kohnke | GPU fast multipole method with lambda-dynamics features | |
Abduljabbar | Communication reducing approaches and shared-memory optimizations for the hierarchical Fast Multipole Method on distributed and many-core systems | |
Lingg | Novel Parallel Algorithms and Performance Optimization Techniques for the Multi-Level Fast Multipole Algorithm | |
Deveci | Load-balancing and task mapping for exascale systems | |
Stevens | GPU-optimized graph theory analysis of allosteric protein signaling networks | |
Hu | Efficient data-parallel implementations of highly irregular problems | |
Abraham | Efficient load balancing strategies on a network of computers: a case study with two scientific computing problems | |
Succi et al. | A six lecture primer on parallel computing | |
Rao et al. | Cloud Technologies for Microsoft Computational Biology Tools | |
Edelman et al. | 6: 50s A Peek at Parallel Processing from an Applications Perspective | |
Fang | High scalable implementation of SPME using parallel spherical cutoff three-dimensional FFT on the six-dimensional torus QCDOC supercomputer | |
CHIU | ACCELERATING MOLECULAR DYNAMICS SIMULATIONS | |
Kristensen | Towards Parallel Execution of Sequential Scientific Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090327 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120117 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120417 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120424 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120717 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121120 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130321 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20130321 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20130412 |
|
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: 20130507 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130513 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5271699 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |