【手続補正書】
【提出日】平成26年12月8日(2014.12.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
シミュレーション体積における粒子相互作用を計算するための並行処理システムであって、前記シミュレーション体積は幾何学的に区画され、前記並行処理システムは、
三次元に配列された複数の計算ノード（３７２０）であって、前記計算ノードのそれぞれは近傍の前記計算ノードに直接に通信し、前記計算ノードのそれぞれは前記シミュレーション体積の区画に関連し、それぞれ前記計算ノードは前記シミュレーション体積の対応領域（３７１０）内の粒子の粒子データ用の記憶装置（３９５４）を備えることと；
前記計算ノードそれぞれに関連するプロセッサ・サブシステム（３９１２，３９１４，３９１６）と；
複数の前記計算ノード（３７２０）を相互接続するリンク（３７３０）を含む通信システム（３９２０，３９２２，３７３０，３９３０）と
を備え、
複数の前記計算ノードを相互接続する前記リンクは、複数の前記プロセッサ・サブシステムが前記粒子相互作用の計算を調整することで、前記シミュレーション体積の前記区画に生じる前記粒子相互作用を前記プロセッサ・サブシステムが計算するようにし、
前記シミュレーション体積の前記区画は、前記計算ノードに関連付けられている、
並行処理システム。
【請求項２】
前記通信システムは、トロイダル形状のメッシュを形成する、
請求項１記載の並行処理システム。
【請求項３】
前記通信システムは、第１コンポーネントと第２コンポーネントとを備え、
前記第１コンポーネントは前記計算ノードの第１近傍にリンクし、
前記第２コンポーネントは前記計算ノードの第２近傍にリンクし、
前記第２近傍は前記第１近傍とは異なる、
請求項１または２記載の並行処理システム。
【請求項４】
前記通信システムの前記第１コンポーネントと前記第２コンポーネントとは、複数の前記計算ノードのうちの２つの前記計算ノードの間の２地点間リンクを含む、
請求項３記載の並行処理システム。
【請求項５】
複数の前記計算ノードは、第１計算ノードと第２計算ノードとを備え、
前記通信システムの前記第１コンポーネントと前記第２コンポーネントとのうちの少なくとも一方を含む複数のコンポーネントにわたって他の計算ノードを介して前記粒子データを渡すことによって、前記並行処理システムは前記第１計算ノードから前記第２計算ノードに粒子データを送るように構成される、
請求項３記載の並行処理システム。
【請求項６】
複数の前記計算ノードは、第１計算ノードと第２計算ノードとを備え、
前記第１計算ノードと前記第２計算ノードとのそれぞれはさらに、前記通信システムのサブシステムである通信サブシステムを備え、
前記通信サブシステムは、前記プロセッサ・サブシステムによる介入なしで、前記第１計算ノードから前記第２計算ノードに前記粒子データを渡すように構成される、
請求項１記載の並行処理システム。
【請求項７】
それぞれの前記計算ノードは、
（ｉ）計算に前記粒子データを必要とする他の複数の計算ノードに、粒子データを送ることと；
（ｉｉ）前記他の複数の計算ノードから送られた粒子データを、受取ることと；
（ｉｉｉ）受取った前記粒子データを使用して計算を実行することで、第１結果を出力することと；
（ｉｖ）前記第１結果を、他の複数の計算ノードに送ることと；
（ｖ）前記他の複数の計算ノードから送られる前記第１結果を、受取ることと；
（ｖｉ）受取った第１結果を使用してさらに計算を実行することで、第２結果を出力することと
を実行するように構成されている、
請求項１〜６の何れか一項記載の並行処理システム。
【請求項８】
前記並行処理システムは、シミュレーションの繰返しを複数回にわたって実行するように構成され、
シミュレーションの前記繰返しは毎回、前記（ｉ）〜（ｖｉ）を含む、
請求項７記載の並行処理システム。
【請求項９】
複数の前記計算ノードは、第１計算ノードと第２計算ノードとを備え、
前記通信システムは、前記第１計算ノードから粒子データを受取り、前記粒子データを前記第２計算ノードの近傍の複数の計算ノードに分配するように構成される、
請求項７記載の並行処理システム。
【請求項１０】
前記通信システムは、前記粒子データを分配するための近傍を構成する記憶装置を備える、
請求項７記載の並行処理システム。
【請求項１１】
前記計算ノードのそれぞれはさらに、受取った前記粒子データを使用して計算を実行し前記第１結果を出力するため計算サブシステムを備える、
請求項７記載の並行処理システム。
【請求項１２】
前記計算サブシステムはさらに、当該計算ノードにおける前記プロセッサ・サブシステムによる介入なしで、前記第１結果を他の複数の計算ノードに送るように構成されている、
請求項１１記載の並行処理システム。
【請求項１３】
前記計算ノードのそれぞれはさらに、前記プロセッサ・サブシステムによる介入なしで、他の複数の計算ノードから送られる前記第１結果を受取るためのメモリ・サブシステムを備える、
請求項７記載の並行処理システム。
【請求項１４】
前記メモリ・サブシステムはさらに、複数の特定粒子について受取った複数の前記第１結果を蓄積するように構成されている、
請求項１３記載の並行処理システム。
【請求項１５】
前記メモリ・サブシステムはさらに、受取った前記第１結果に基づくデータを、前記プロセッサ・サブシステムに供給するように構成されている、
請求項１３記載の並行処理システム。
【請求項１６】
前記プロセッサ・サブシステムはさらに、受取った前記第１結果を使用してさらに計算を実行し、前記第２結果を出力するように構成されている、
請求項７記載の並行処理システム。
【請求項１７】
前記粒子データは、粒子位置データを含む、
請求項７記載の並行処理システム。
【請求項１８】
前記第１結果は、粒子力データを含む、
請求項７記載の並行処理システム。
【請求項１９】
並行処理システムにおいて使用される処理ノード（３７２０）であって、前記並行処理システムはシミュレーション体積における粒子相互作用を計算し、前記シミュレーション体積は幾何学的に区画され、
前記処理ノードはサブシステムのグループを含み、
前記グループはプロセッサ・サブシステム（３９１２）、計算サブシステム（３９１４，３９１６）、およびメモリ・サブシステム（３９５０，３９５４）を含み、
前記メモリ・サブシステムは、前記シミュレーション体積の選択領域における粒子の粒子データを記憶するように構成され、
前記処理ノードはさらに通信サブシステム（３９２０，３９２２）を有し、
前記通信サブシステムは前記グループに含まれるいくつかのサブシステムをリンクし、
前記通信サブシステムは、前記処理ノードのサブシステムと、前記並行処理システムの他の処理ノードのサブシステムとの間に、リンクの少なくとも一部を形成し、
前記他の処理ノードは、前記処理ノードの周りに３次元配置される近傍の処理ノードを含み、
前記計算サブシステムは、複数のデータ要素の間の対毎の計算を実行する回路を備え、
前記データ要素は、それぞれ粒子位置に関連付けられ、
前記計算サブシステムは、それぞれ前記データ要素に関連付けられる空間的位置同士の間の分離に基づき、前記データ要素を選択する選択回路を備える、
処理ノード。
【請求項２０】
前記プロセッサ・サブシステムは、一般的な計算を行うようにプログラムされる、
請求項１９記載の処理ノード。
【請求項２１】
前記プロセッサ・サブシステムは、複数の独立にプログラム可能なプロセッサ（４４１４）を備える、
請求項１９記載の処理ノード。
【請求項２２】
前記通信サブシステムは、一群のインターフェイス・ユニット（３９１９）を含み、
それぞれの前記インターフェイス・ユニットは、前記グループに含まれるサブシステムにリンクされ、
前記通信サブシステムはさらに、他の複数の処理ノードのインターフェイス・ユニットにリンクする１つまたは複数のインターフェイス・ユニットを備える、
請求項１９記載の処理ノード。
【請求項２３】
前記通信サブシステムは、前記グループに含まれる複数のサブシステムをリンクする通信リングを備える、
請求項１９記載の処理ノード。
【請求項２４】
前記通信サブシステムは、同じ処理ノード上のサブシステムと、異なる処理ノード上のサブシステムとの間を送受される、アドレス指定可能なメッセージを供給する、
請求項１９記載の処理ノード。
【請求項２５】
前記計算サブシステムは、粒子シミュレーション・システム内の粒子の対を伴う計算を行うように構成されている、
請求項１９記載の処理ノード。
【請求項２６】
前記計算サブシステム（３９１４）は、それぞれ粒子シミュレーション・システム内の粒子およびグリッド位置を伴う計算を行うように構成されている、
請求項１９記載の処理ノード。
【請求項２７】
サブシステムの前記グループおよび前記通信サブシステムは、単一の集積回路上に集積化される、
請求項１９記載の処理ノード。
【請求項２８】
前記メモリ・サブシステムは、集積回路の外部の記憶装置とのインターフェイス（３９５４）を備える、
請求項２７記載の処理ノード。
【請求項２９】
前記通信サブシステムは、他の集積回路上の通信サブシステムに通信するためのインターフェイスを備える、
請求項２７記載の処理ノード。
【請求項３０】
多体シミュレーションの相互作用を計算するために処理モジュール（４１００）のアレイを備える計算システムであって、
複数の前記処理モジュール（４１００）が直列に相互接続されることによって処理グループが構成され、
前記アレイは第１処理モジュールと、最終処理モジュールとを備え、
前記第１処理モジュールはデータ要素を受取り、前記最終処理モジュールはデータ要素を出力し、
前記最終処理モジュールによって出力された前記データ要素は、前記第１処理モジュールによって受取られるデータ要素に同じであり、
それぞれ前記処理モジュール（４１００）は：
それぞれ空間的位置が関連付けられたデータ要素を記憶する記憶装置（４１３０）と；
前記データ要素の間の対毎の計算を実行する計算回路（４１４０）であって、前記対毎の計算は、前記記憶装置（４１３０）からのデータ要素と；前記直列に相互接続された複数の処理モジュール（４１００）を通過する前記データ要素とを使用し、前記計算回路（
４１４０）は第１出力と第２出力とを備え、前記計算回路（４１４０）は前記第１出力の前記データ要素を通過させ、前記計算回路（４１４０）は前記第２出力の前記データ要素を前記対毎の計算の結果として出力することと；
前記データ要素にそれぞれ関連付けられている空間的位置の間の分離に応じて前記データ要素の対を選択する選択回路（４３５０）と
を備えることを特徴とする、計算システム。
【請求項３１】
多体シミュレーションの粒子相互作用を計算するための処理モジュール（４１００）であって、前記処理モジュール（４１００）は、空間的位置にそれぞれ関連付けられているデータ要素の間の対毎の相互作用の計算を実行するように構成され、対毎の計算はそれぞれ、データ要素の第１集合からのデータ要素と、データ要素の第２集合からのデータ要素とを用い、
前記処理モジュール（４１００）は：
前記第１集合の互いに異なる部分集合に対する記憶装置にそれぞれ関連付けられるマッチング・ユニット（４３５０）の集合であって、それぞれ前記マッチング・ユニット（４３５０）は、前記データ要素に関連付けられた位置同士の間の分離に応じて、前記第１集合から得られたデータ要素と、前記第２集合から得られたデータ要素との対であるデータ要素対を選択するように構成されていることと；
前記第２集合内の一連の前記データ要素を受取る入力（４１１０）であって、前記入力（４１１０）は、受取った前記データ要素を前記マッチング・ユニット（４３５０）それぞれに渡すようにこれら前記マッチング・ユニット（４３５０）に結合されていることと；
前記データ要素対を受取るために前記マッチング・ユニット（４３５０）に結合された計算ユニット（４３４４）と；
前記計算ユニット（４３４４）から出力された結果を送出するための出力（４１２２）と
を備えることを特徴とする、処理モジュール。
【請求項３２】
多体シミュレーションの相互作用を計算するための方法であって、
前記方法は：
それぞれ対応する空間的位置に関連付けられているデータ要素の第１集合を受取ることと；
前記第１集合を、処理モジュール（４１００）のアレイの記憶装置に分配することによって、前記第１集合の互いに異なる部分を複数のうちの前記処理モジュール（４１００）にそれぞれ記憶させることであって、複数の前記処理モジュール（４１００）が直列に相互接続されることによって処理グループが構成されることと；
それぞれ対応する空間的位置に関連付けられているデータ要素の第２集合を受取ることと；
前記データ要素を前記処理グループに通すことであって、それぞれ前記処理モジュール（４１００）は、受取った前記データ要素の全部ではなく一部を選択することと；前記記憶装置に記憶されていた前記第１集合からのデータ要素と、前記処理グループを通過する前記第２集合からの前記データ要素との対であるデータ要素対の計算を実行することと；前記データ要素対毎の前記計算の結果である計算結果を前記処理グループに通すこととを、前記データ要素対毎の計算の実行に関して備えることと；
前記データ要素対毎の前記計算結果を組合わせることと；
組合わせた前記計算結果を送ることと
を備えることを特徴とする、方法。
【請求項３３】
多体シミュレーションの相互作用を計算するために処理モジュール（４１００）のアレイを備える計算システムであって、
複数の前記処理モジュール（４１００）が直列に相互接続されることによって処理グループが構成され、
前記アレイは第１処理モジュールと、最終処理モジュールとを備え、
前記第１処理モジュールはデータ要素を受取り、前記最終処理モジュールはデータ要素を出力し、
前記最終処理モジュールによって出力された前記データ要素は、前記第１処理モジュールによって受取られるデータ要素に同じであり、
それぞれ前記処理モジュール（４１００）は：
それぞれ空間的位置が関連付けられたデータ要素を記憶する記憶装置（４１３０）と；
前記データ要素の間の対毎の計算を実行する計算回路（４１４０）であって、前記対毎の計算は、前記記憶装置（４１３０）からのデータ要素と；前記直列に相互接続された複数の処理モジュール（４１００）を通過する前記データ要素とを使用することと；
前記データ要素にそれぞれ関連付けられている空間的位置の間の分離に応じて前記データ要素の対を選択する選択回路（４３５０）と
を備えることを特徴とする、計算システム。
【請求項３４】
多体シミュレーションの相互作用を計算するために処理モジュール（４１００）のアレイを備える計算システムであって、
複数の前記処理モジュール（４１００）が直列に相互接続されることによって処理グループが構成され、
それぞれ前記処理モジュール（４１００）は：
それぞれ空間的位置が関連付けられたデータ要素を記憶する記憶装置（４１３０）と；
前記データ要素の間の対毎の計算を実行する計算回路（４１４０）であって、前記対毎の計算は、前記記憶装置（４１３０）からのデータ要素と；前記直列に相互接続された複数の処理モジュール（４１００）を通過する前記データ要素とを使用し、前記計算回路（４１４０）は第１出力と第２出力とを備え、前記計算回路（４１４０）は前記第１出力の前記データ要素を通過させ、前記計算回路（４１４０）は前記第２出力の前記データ要素を前記対毎の計算の結果として出力することと；
前記データ要素にそれぞれ関連付けられている空間的位置の間の分離に応じて前記データ要素の対を選択する選択回路（４３５０）と
を備えることを特徴とする、計算システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０３４１
【補正方法】変更
【補正の内容】
【０３４１】
ＰＰＩＭの第１の１つの行を考えて、それぞれのＰＰＩＭは入力４１１０（図４１を参照）上でデータを修正することなく出力４１１２に渡し、計算の第２のフェーズで、１行の中のそれぞれのＰＰＩＭが粒子の同じ集合に対するデータを受け取るようにする。第１のフェーズで、第１の集合内の粒子に対するデータは、さらに、ＰＰＩＭからＰＰＩＭに渡されるが、それぞれのＰＰＩＭは、データの別の部分のみを格納する。第２のフェーズで、それぞれのＰＰＩＭの出力４１２２は、入力４１１０で入力されたそれぞれの粒子に対する１つの累算された力を含む。それぞれのＰＰＩＭ（最初の後、一番左）、ＰＰＩＭは、入力４１２０でそれぞれの粒子に対する部分的に累算された力を受け取り、その粒子に対する入力の寄与分を計算要素により計算される寄与分とともに内部的に総和し、これにより出力４１２２は再び入力４１１０上で粒子毎に１つの力を有する。したがって、ＰＰＩＭのそれぞれの行は、単一のＰＰＩＭとして機能するが、さらに多くの計算を並列に実行し、したがって、より高いスループットが得られる。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図４１
【補正方法】変更
【補正の内容】
【図４１】
2014170556.tif 000001
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図４３
【補正方法】変更
【補正の内容】
【図４３】
2014170556.tif 000002