(57)【要約】【課題】  例えば、効率的な多体問題演算システムを提供する。【解決手段】  対となる２個の粒子の種類により特定される相互作用パラメータデータを記憶する記憶装置３と、記憶装置３から読み出した相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する演算装置２を有し、演算装置２は、記憶装置３に記憶された相互作用パラメータデータの一部を読み出す読出手段と、読み出された相互作用パラメータデータを記憶する記憶手段１２と、記憶された相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する演算手段１３、１４を備えた。【選択図】  図１
2005309605.tif 000002
【特許請求の範囲】
【請求項１】
対となる２個の粒子の種類により特定される相互作用パラメータデータを記憶する相互作用パラメータデータ記憶装置と、前記相互作用パラメータデータ記憶装置から読み出した相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する粒子間相互作用演算装置を有した演算システムにおいて、
前記粒子間相互作用演算装置は、前記相互作用パラメータデータ記憶装置に記憶された相互作用パラメータデータの一部を読み出す相互作用パラメータデータ読出手段と、
前記相互作用パラメータデータ読出手段により読み出された相互作用パラメータデータを記憶する相互作用パラメータデータ記憶手段と、
前記相互作用パラメータデータ記憶手段に記憶された相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する相互作用演算手段と、を備えた、
ことを特徴とする演算システム。
【請求項２】
請求項１に記載の演算システムにおいて、
前記粒子間相互作用演算装置は、注目する粒子の種類を特定するデータを記憶する注目粒子種記憶手段を備え、
前記粒子間相互作用演算装置の相互作用パラメータデータ読出手段は、前記注目粒子種記憶手段に記憶されたデータにより特定される注目する粒子の種類を対となる２個の粒子のうちの一方の粒子の種類とする複数の相互作用パラメータデータを前記相互作用パラメータデータ記憶装置から読み出し、
前記粒子間相互作用演算装置の相互作用演算手段は、前記相互作用パラメータデータ記憶手段から注目する粒子の種類及び演算対象となる他の粒子の種類の対に対応した相互作用パラメータデータを読み出して当該相互作用パラメータデータを用いて当該注目する粒子と当該他の粒子との間の相互作用を演算する、
ことを特徴とする演算システム。
【請求項３】
請求項１に記載の演算システムにおいて、
前記粒子間相互作用演算装置は、前記相互作用パラメータデータ記憶手段により記憶された相互作用パラメータデータに対応した粒子の種類の対を特定するデータを記憶する既存粒子種対記憶手段を備え、
前記粒子間相互作用演算装置の相互作用パラメータデータ読出手段は、前記既存粒子種対記憶手段により記憶されたデータを参照して、相互作用パラメータデータが未記憶である粒子の種類の対についてのみ、前記相互作用パラメータデータ記憶装置から相互作用パラメータデータを読み出す、
ことを特徴とする演算システム。
【請求項４】
請求項１乃至請求項３のいずれか１項に記載の演算システムにおいて、
粒子の種類を特定するデータを含む粒子に関するデータを記憶する粒子データ記憶装置と、
前記粒子間相互作用演算装置に対して粒子に関するデータを出力する制御装置と、を有した、
ことを特徴とする演算システム。
【請求項５】
請求項４に記載の演算システムにおいて、
ホスト装置を有し、
前記制御装置と前記粒子データ記憶装置と前記粒子間相互作用演算装置と前記相互作用パラメータデータ記憶装置を有する相互作用演算ユニットと前記ホスト装置とが接続され、
前記ホスト装置から前記相互作用演算ユニットへ粒子に関するデータを提供し、前記相互作用演算ユニットから前記ホスト装置へ相互作用の演算結果に関するデータを提供する、
ことを特徴とする演算システム。
【請求項６】
対となる２個の粒子の種類により特定される相互作用パラメータデータを記憶する相互作用パラメータデータ記憶装置と、相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する複数の粒子間相互作用演算装置を有した演算システムにおいて、
前記相互作用パラメータデータ記憶装置から相互作用パラメータデータを読み出して当該相互作用パラメータデータを前記粒子間相互作用演算装置へ配付する相互作用パラメータデータ配付装置を設けた、
ことを特徴とする演算システム。
【請求項７】
請求項６に記載の演算システムにおいて、
前記相互作用パラメータデータ配付装置は、前記各粒子間相互作用演算装置について注目する粒子の種類を特定するデータを記憶する各注目粒子種記憶手段と、
注目する粒子に対して演算対象となる他の粒子の種類を対となる２個の粒子のうちの一方の粒子の種類とする複数の相互作用パラメータデータを前記相互作用パラメータデータ記憶装置から読み出す相互作用パラメータデータ読出手段と、
前記相互作用パラメータデータ読出手段により読み出された相互作用パラメータデータを記憶する相互作用パラメータデータ記憶手段と、
前記各注目粒子種記憶手段に記憶されたデータを参照して、前記相互作用パラメータデータ記憶手段から前記各粒子間相互作用演算装置について注目する粒子の種類及び演算対象となる他の粒子の種類の対に対応した相互作用パラメータデータを読み出し、当該読み出した各相互作用パラメータデータを前記各粒子間相互作用演算装置へ出力する相互作用パラメータデータ出力手段と、を備えた、
ことを特徴とする演算システム。
【請求項８】
請求項７に記載の演算システムにおいて、
前記相互作用パラメータデータ配付装置は、前記相互作用パラメータデータ記憶手段により記憶された相互作用パラメータデータに対応した粒子の種類を特定するデータを記憶する既存粒子種記憶手段を備え、
前記相互作用パラメータデータ配付装置の相互作用パラメータデータ読出手段は、既存粒子種記憶手段により記憶されたデータを参照して、相互作用パラメータデータが未記憶である粒子の種類についてのみ、前記相互作用パラメータデータ記憶装置から相互作用パラメータデータを読み出す、
ことを特徴とする演算システム。
【請求項９】
請求項８に記載の演算システムにおいて、
前記粒子間相互作用演算装置は、前記相互作用パラメータデータ配付装置から出力される相互作用パラメータデータを記憶する相互作用パラメータデータ記憶手段と、
前記相互作用パラメータデータ記憶手段に記憶された相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する相互作用演算手段と、を備えた、
ことを特徴とする演算システム。
【請求項１０】
請求項６乃至請求項９のいずれか１項に記載の演算システムにおいて、
粒子の種類を特定するデータを含む粒子に関するデータを記憶する粒子データ記憶装置と、
前記粒子間相互作用演算装置に対して粒子に関するデータを出力する制御装置と、を有した、
ことを特徴とする演算システム。
【請求項１１】
請求項１０に記載の演算システムにおいて、
ホスト装置を有し、
前記制御装置と前記粒子データ記憶装置と前記複数の粒子間相互作用演算装置と前記相互作用パラメータデータ記憶装置と前記相互作用パラメータデータ配付装置を有する相互作用演算ユニットと前記ホスト装置とが接続され、
前記ホスト装置から前記相互作用演算ユニットへ粒子に関するデータを提供し、前記相互作用演算ユニットから前記ホスト装置へ相互作用の演算結果に関するデータを提供する、
ことを特徴とする演算システム。
【請求項１２】
相互作用パラメータデータ記憶装置が対となる２個の粒子の種類により特定される相互作用パラメータデータを記憶し、粒子間相互作用演算装置が前記相互作用パラメータデータ記憶装置から読み出した相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する演算方法において、
前記粒子間相互作用演算装置は、前記相互作用パラメータデータ記憶装置に記憶された相互作用パラメータデータの一部を読み出し、当該読み出した相互作用パラメータデータをメモリに記憶し、当該メモリに記憶した相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する、
ことを特徴とする演算方法。
【請求項１３】
相互作用パラメータデータ記憶装置が対となる２個の粒子の種類により特定される相互作用パラメータデータを記憶し、複数の粒子間相互作用演算装置がそれぞれ相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する演算方法において、
相互作用パラメータデータ配付装置が前記相互作用パラメータデータ記憶装置から相互作用パラメータデータを読み出して当該相互作用パラメータデータを前記粒子間相互作用演算装置へ配付する、
ことを特徴とする演算方法。
【請求項１４】
相互作用パラメータデータ記憶装置が対となる２個の粒子の種類により特定される相互作用パラメータデータを記憶し、粒子間相互作用演算装置が前記相互作用パラメータデータ記憶装置から読み出した相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する演算システムにおいて、前記粒子間相互作用演算装置を構成するコンピュータに実行させるプログラムであって、
前記相互作用パラメータデータ記憶装置に記憶された相互作用パラメータデータの一部を読み出す機能と、
当該読み出した相互作用パラメータデータをメモリに記憶する機能と、
当該メモリに記憶した相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する機能を、当該コンピュータにより実現する、
ことを特徴とするプログラム。
【請求項１５】
相互作用パラメータデータ記憶装置が対となる２個の粒子の種類により特定される相互作用パラメータデータを記憶し、複数の粒子間相互作用演算装置がそれぞれ相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する演算システムにおいて、相互作用パラメータデータ配付装置を構成するコンピュータに実行させるプログラムであって、
前記相互作用パラメータデータ記憶装置から相互作用パラメータデータを読み出して当該相互作用パラメータデータを前記粒子間相互作用演算装置へ配付する機能を、当該コンピュータにより実現する、
ことを特徴とするプログラム。
【請求項１６】
相互作用パラメータデータ記憶装置が対となる２個の粒子の種類により特定される相互作用パラメータデータを記憶し、粒子間相互作用演算装置が前記相互作用パラメータデータ記憶装置から読み出した相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する演算システムにおいて、前記粒子間相互作用演算装置を構成するコンピュータに実行させるプログラムを当該コンピュータの入力手段により読み取り可能に記憶した記憶媒体であって、
当該プログラムは、前記相互作用パラメータデータ記憶装置に記憶された相互作用パラメータデータの一部を読み出す処理と、
当該読み出した相互作用パラメータデータをメモリに記憶する処理と、
当該メモリに記憶した相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する処理を、当該コンピュータに実行させる、
ことを特徴とする記憶媒体。
【請求項１７】
相互作用パラメータデータ記憶装置が対となる２個の粒子の種類により特定される相互作用パラメータデータを記憶し、複数の粒子間相互作用演算装置がそれぞれ相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する演算システムにおいて、相互作用パラメータデータ配付装置を構成するコンピュータに実行させるプログラムを当該コンピュータの入力手段により読み取り可能に記憶した記憶媒体であって、
当該プログラムは、前記相互作用パラメータデータ記憶装置から相互作用パラメータデータを読み出して当該相互作用パラメータデータを前記粒子間相互作用演算装置へ配付する処理を、当該コンピュータに実行させる、
ことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、並列パイプライン機構により粒子間相互作用を計算する多体問題などの演算システムに関する。
【背景技術】
【０００２】
例えば、液体や固体或いは高分子などの挙動を、それらを構成する原子の動きの結果として考え、その動きを計算機でシミュレーションして研究する分野は分子動力学と呼ばれている。分子動力学では原子又は分子を粒子と考え、それらの粒子間に働く力を計算して、微小時間後における粒子の位置を計算する。この計算を繰り返して各粒子の軌跡を求め、その結果として物質の性質などを計算する。従って、分子動力学では、粒子間に働く力は必ず計算しなければならない物理量である。
粒子間に働く力の一種であるクーロン力は遠方まで到達するため、全ての組み合わせの粒子対について粒子間に働く力を計算する必要がある。これは粒子数の二乗に比例した計算量を要することを意味する。このような問題を一般に多体問題と呼び、膨大な計算能力を必要とする。
【０００３】
このような多体問題を低コストで解決する技術としては、並列パイプライン機構を用いた多体問題演算処理装置が知られている（例えば、特許文献１参照。）。
以下、この従来技術による多体問題演算システムを、具体例を用いて説明する。
図１１には、従来技術による多体問題演算システムの構成例を示してあり、特に、汎用パーソナルコンピュータ（ＰＣ）に接続する多体問題演算装置の構成例を示してある。
それぞれの多体問題演算装置１２２〜１２５は、多体問題演算用のＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）アドインカードという形態をとり、ホストコンピュータ１２１のＰＣＩアドインカード用のバスに挿入して使用される。
ホストコンピュータ１２１は、汎用外部バスの一種であるＰＣＩバス１２６を介して、それぞれの多体問題演算装置１２２〜１２５の制御ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）１３１に接続される。
【０００４】
それぞれの多体問題演算装置１２２〜１２５は、制御ＬＳＩ１３１と、粒子データメモリ１３２と、複数（本例では、４個）の相互作用演算ＬＳＩ１３３〜１３６と、複数（本例では、４個）の相互作用パラメータデータ記憶装置（相互作用パラメータデータ外部記憶装置）１３７〜１４０と、粒子データバス１４１と、複数（本例では、４個）のパラメータメモリバス１４２〜１４５を備えている。
また、制御ＬＳＩ１３１は、ＰＣＩバス１２６及び粒子データバス１４１のバスコントローラ機能と、粒子データメモリ１３２とのインターフェース機能と、粒子データ送出部１５２の粒子データ送出機能と、ホストコンピュータ１２１の指令を受けるためのレジスタ１５１を有している。
【０００５】
粒子データメモリ１３２は、粒子の座標、電荷、種類（粒子種）などの粒子データを記憶するメモリＬＳＩである。
相互作用演算ＬＳＩ１３３〜１３６は、注目粒子の粒子データをひとつ又は複数個記憶するレジスタを有しており、粒子データバス１４１に乗せて転送される粒子データを読み込み、その粒子と内部保持する注目粒子との間に働く相互作用を演算し、その累積値を結果用のレジスタに保持する機能を有している。
相互作用パラメータデータ外部記憶装置１３７〜１４０は、相互作用を計算するためのパラメータ表のデータを記憶する装置であり、パラメータメモリバス１４２〜１４５を介して相互作用演算ＬＳＩ１３３〜１３６に接続される。
【０００６】
上記に述べた、制御ＬＳＩ１３１、粒子データメモリ１３２、粒子データバス１４１、相互作用演算ＬＳＩ１３３〜１３６、パラメータメモリバス１４２〜１４５、相互作用パラメータデータ外部記憶装置１３７〜１４０から、多体問題演算装置が１ユニット構成される。
このような１ユニットの多体問題演算装置１２２を外部ＰＣＩ１２６を介してホストコンピュータ１２１に接続することにより、高速且つ安価に多体問題の計算を行うことができる。更に、同様な多体問題演算装置１２３〜１２５を複数ユニット、ＰＣＩバス１２６に接続することにより、並列して行う計算量を更に増やすことができる。
【０００７】
図１２は、多体問題演算システムの多体問題演算装置１２２〜１２５により行われる計算処理のフローチャートである。
まず最初に、粒子データメモリ１３２に全粒子のデータを転送する（ステップＳ７１）。続いて、相互作用演算ＬＳＩ１３３〜１３６のそれぞれに、粒子データメモリ１３２に格納されたデータを同時に計算できる数だけ読み出して、注目粒子として設定する（ステップＳ７２）。その後、計算開始コマンドを全ての相互作用演算ＬＳＩ１３３〜１３６に発行する（ステップＳ７３）。
制御ＬＳＩ１３１は、粒子データメモリ１３２からひとつ粒子データを読み出す（ステップＳ７４）。そして、読み出した粒子データを粒子データバス１４１に送出する（ステップＳ７５）。また、これらの処理（ステップＳ７４の処理及びステップＳ７５の処理）を、全ての粒子について行うまで繰り返す（ステップＳ７６）。これにより、相互作用演算ＬＳＩ１３３〜１３６により、設定された注目粒子に働く相互作用を全て計算する。
上記の計算処理が終了した後に、制御ＬＳＩ１３１は、相互作用演算ＬＳＩ１３３〜１３６の全てに対して、計算終了コマンドを発行する（ステップＳ７７）。続いて、制御ＬＳＩ１３１は、相互作用演算ＬＳＩ１３３〜１３６のそれぞれから計算結果を読み出してホストコンピュータ１２１へ転送する（ステップＳ７８）。
上記したステップＳ７２の処理からステップＳ７８の処理までを、全ての粒子を注目粒子に設定するまで繰り返して行う（ステップＳ７９）。これにより、全ての粒子について相互作用を計算することとなる。なお、ここまでの処理を１ステップと呼ぶ。
【０００８】
上記した１ステップの計算処理を行った後に、ホストコンピュータ１２１は、計算した相互作用に基づいて、全ての粒子のそれぞれについて運動方程式を解き、単位微少時間が経過した後における各粒子の座標位置を計算する。
そして、計算した微少時間経過後における粒子座標を用いて、上記した処理を最初から再実行することにより、更に次の微少時間経過後における粒子座標を計算することができる。これを必要な回数だけ繰り返すことにより、分子動力学による各粒子の移動軌跡を計算することができる。
【０００９】
次に、多体問題演算装置１２２〜１２５の基本構成要素である粒子間相互作用演算装置について、より詳細に説明する。
図１１に示される例では、粒子間相互作用演算装置は、相互作用演算ＬＳＩ１３３〜１３６のそれぞれに４個ずつ内蔵される装置である。つまり、多体問題演算装置の１ユニットにつき、１６個の粒子間相互作用演算装置を有する。
図１３には、粒子間相互作用演算装置１６２の基本的な構成例を示してある。
また、同図には、図１１に示される制御ＬＳＩ１３１及び粒子データメモリ１３２から成る構成部に相当する粒子データ送出装置１６１と、図１１に示される相互作用パラメータデータ記憶装置（相互作用パラメータデータ外部記憶装置）１３７〜１４０に相当する相互作用パラメータデータ記憶装置（相互作用パラメータデータ外部記憶装置）１６３と、図１１に示される粒子データバス１４１に相当する粒子データバス１６４と、図１１に示されるパラメータメモリバス１４２〜１４５に相当するパラメータメモリバス１６５を示してある。
【００１０】
粒子間相互作用演算装置１６２は、注目粒子データ記憶部１７１と、相互作用演算部１７２と、計算結果の累算器１７３を備えている。
すなわち、粒子間相互作用演算装置１６２は、注目粒子のデータを保持する注目粒子データ記憶部１７１を内蔵しており、粒子データ送出装置１６１が送る粒子データを粒子データバス１６４を介して読み取り、読み取った粒子データに対応する粒子と注目粒子データ記憶部１７１が保持する注目粒子データに対応する粒子との間に働く相互作用を、相互作用演算部１７２により計算する。そして、計算結果を累算器１７３により累算する。
【００１１】
ここで、相互作用演算部１７２が計算する相互作用は、クーロンのポテンシャル及び力、レナードジョーンズのポテンシャル及び力である。
クーロンポテンシャル及び力は、ふたつの粒子のそれぞれが持つ電荷ｑ１、ｑ２と粒子間距離ｒから式１により計算される。
なお、Ｕｃ（ｒ）はクーロンのポテンシャルを表しており、Ｆｃ（ｒ）はクーロンの相互作用力を表していて、矢印はベクトルを表している。
【００１２】
【数１】
2005309605.tif 000003
【００１３】
レナードジョーンズのポテンシャル及び力は、ふたつの粒子の粒子間距離ｒと、力の大きさを表すパラメータεと、原子間距離（原子の大きさ）を表すパラメータσから式２により計算される。
なお、ＵＬＪ（ｒ）はレナードジョーンズのポテンシャルを表しており、ＦＬＪ（ｒ）はレナードジョーンズの相互作用力を表していて、矢印はベクトルを表している。
また、図１４には、レナードジョーンズのポテンシャル（Ｌ−Ｊ  ｐｏｔｅｎｔｉａｌ）のグラフの一例を示してある。
【００１４】
【数２】
2005309605.tif 000004
【００１５】
ここで、パラメータε及びパラメータσは、ふたつの原子種の組み合わせで決められる値であり、相互作用を計算するために必要なパラメータである。
本明細書では、レナードジョーンズのポテンシャルのパラメータε、σに限らず、このような２つの粒子種の組み合わせで決定される、相互作用の計算に必要なパラメータを、相互作用パラメータと呼ぶ。
相互作用パラメータデータ外部記憶装置１６３は、粒子間相互作用演算装置１６２により扱うことができる範囲の全ての粒子種の組み合わせについて、相互作用パラメータの表を保持する記憶装置であり、パラメータメモリバス１６５を介して粒子間相互作用演算装置１６２に接続され、計算処理時に必要に応じて相互作用パラメータを相互作用演算部１７２へ供給する。
【００１６】
処理の流れに基づいて、より詳しく粒子間相互作用演算装置１６２について説明する。
図１５は、粒子間相互作用演算装置１６２により行われる処理の流れを示したフローチャートである。
最初に、粒子間相互作用演算装置１６２は、粒子データ送出装置１６１から粒子データバス１６４を介して送られる制御コマンドを読み取り、制御コマンドに応じて処理の流れを分岐する（ステップＳ８１）。
制御コマンドとして、注目粒子設定コマンドが送られてきて受信した場合にはステップＳ８２の処理へ分岐し、計算開始コマンドが送られてきて受信した場合にはステップＳ８３の処理へ分岐する。それ以外のコマンドである場合には、再びコマンド入力待ちとなる。
【００１７】
制御コマンドとして注目粒子設定コマンドを受信した場合には、注目粒子設定コマンドに続いて粒子データ送出装置１６１から粒子データバス１６４を介して送られる粒子データを読み取り、注目粒子データ記憶部１７１に格納する（ステップＳ８２）。その後、ステップＳ８１の処理へ戻り、次の制御コマンドを待つ（ステップＳ８１）。
【００１８】
制御コマンドとして計算開始コマンドを受信した場合には、まず、計算結果の累算器１７３の内容をゼロにクリアする（ステップＳ８３）。
続いて、粒子データ送出装置１６１から粒子データバス１６４を介して送られる粒子データを読み取る（ステップＳ８４）。読み取った粒子データと、注目粒子データ記憶部１７１に保持されたデータとの差分をとって、粒子間差分ベクトルを算出する（ステップＳ８５）。粒子間差分ベクトルのｘ成分、ｙ成分、ｚ成分のそれぞれを二乗して和をとることにより、粒子間距離の二乗値を算出する（ステップＳ８６）。
続いて、粒子データバス１６４から読み取った粒子データの粒子種と注目粒子データ記憶部１７１に保持された粒子データの粒子種から、相互作用パラメータデータ外部記憶装置１６３にアクセスするためのアドレスを生成し、パラメータメモリバス１６５を介して相互作用パラメータデータを読み取る（ステップＳ８７）。
そして、粒子間差分ベクトル、粒子間距離の二乗値、電荷、相互作用パラメータを用いて、３次多項式補間近似によって、相互作用を計算し、その結果を累算器１７３のレジスタに加えて累算する（ステップＳ８８）。
上記したステップＳ８４の処理からステップＳ８８の処理までを、終了コマンドを受信するまで繰り返して行う（ステップＳ８９）。
【００１９】
終了コマンドを受信した場合には、累算器１７３のレジスタの内容を粒子データバス１６４を介して制御ＬＳＩ１６１へ伝送する（ステップＳ９０）。その後、ステップＳ８１の処理へ戻り、再び制御コマンドを待機する（ステップＳ８１）。
上記のような処理の手順によって、粒子間相互作用演算装置１６２は、注目粒子に関する全ての相互作用の和を計算することができる。
【００２０】
次に、相互作用パラメータデータを記憶する手段について説明する。
相互作用パラメータデータを記憶する手段では、相互作用パラメータデータの表を少なくとも１セット分格納することができる容量が必要である。
図１６には、１セット分の相互作用パラメータの表のイメージを示してある。
同図の例では、注目粒子の粒子種と、粒子データバス１６４から読み出した粒子データの粒子種との、２つのインデックスでアドレスされるセルに対応する相互作用パラメータのデータを格納する。同図の例では、黒塗りのセル部分はアドレスされたセルを意味しており、斜線のセル部分はアドレスされる可能性がある全てのセルを意味している。
【００２１】
ここで、相互作用パラメータの表の行数及び列数は、共に、粒子間相互作用演算装置１６２が対応する粒子種の数である。つまり、相互作用パラメータデータの表の１セット分の大きさは、対応する粒子種の数の二乗に比例する。例えば、１２８種の粒子種に対応して、一組の粒子種の組み合わせに対応する相互作用パラメータのデータが３２ビットの単精度浮動小数点ふたつ（例えば、εとσとのふたつ）だと仮定すると、相互作用パラメータの表の大きさは１メガビット（＝１２８×１２８×３２×２ビット）となる。また、対応する粒子種が２５６組に増えると、４メガビットに必要容量が増える。
【００２２】
１メガビットや４メガビットの容量の記憶手段を演算装置を構成するＬＳＩに内蔵する場合には、コストが非常に高くなり実現が困難であるという問題がある。記憶手段を内蔵せずに外部に置けば、低コストで演算システムを構成できるようになる。
上記において説明した従来技術における粒子間相互作用演算装置１６２の例においても、相互作用パラメータデータを記憶する手段として、相互作用パラメータデータ外部記憶装置１３７〜１４０（相互作用パラメータデータ外部記憶装置１６３）を相互作用演算ＬＳＩ１３１の外部に置いて、低コスト化している。
【００２３】
【特許文献１】特開平５−８９１５７号公報
【特許文献２】特開２００１−２３６３４２号公報
【特許文献３】特開２００３−３３７７４４号公報
【特許文献４】特開２００３−３３７６９５号公報
【発明の開示】
【発明が解決しようとする課題】
【００２４】
しかしながら、上記従来例で示した多体問題演算システムのように、相互作用パラメータデータを記憶する手段を外部に置く場合には、相互作用演算ＬＳＩ１３３〜１３６のそれぞれについて、パラメータメモリバス１４２〜１４５（パラメータメモリバス５）を設けて、相互作用パラメータデータを記憶する手段として外部記憶装置を接続する必要がある。従来技術の例では、４個の相互作用パラメータデータ外部記憶装置１３７〜１４０が装備されている。
【００２５】
つまり、従来技術の例で言えば、基板の実装面積を多く使用してしまうという問題があることを意味する。
また、一般的には、それぞれの外部記憶装置には同じ内容の相互作用パラメータデータが格納される。それにもかかわらず複数の外部記憶装置を用いることは、記憶容量を無駄に使っていることを意味し、記憶手段を相互作用演算ＬＳＩ１３３〜１３６に内蔵するには及ばないが、コストが高くなるという問題がある。
加えて、相互作用パラメータデータ外部記憶装置１３７〜１４０（相互作用パラメータデータ外部記憶装置１６３）の外部バスであるパラメータメモリバス１４２〜１４５（パラメータメモリバス１６５）は、演算ＬＳＩ１３３〜１３６のそれぞれに用意されるために数が多い。また、計算処理において常に動作するため、非常に多くのバス駆動電力を消費するという問題がある。
本発明は、このような従来の課題を解決するために為されたもので、粒子間相互作用の計算において効率化を図ることができる演算システムを提供することを目的とする。
【課題を解決するための手段】
【００２６】
まず、主に粒子間相互作用演算装置に係る発明を説明する。
上記目的を達成するため、本発明に係る演算システムでは、相互作用パラメータデータ記憶装置と粒子間相互作用演算装置を有し、次のような処理を行う。
すなわち、相互作用パラメータデータ記憶装置は、対となる２個の粒子の種類により特定される相互作用パラメータデータを記憶する。
粒子間相互作用演算装置は、前記相互作用パラメータデータ記憶装置から読み出した相互作用パラメータデータを用いて、注目する粒子について他の複数の粒子との間の相互作用を演算する。
前記粒子間相互作用演算装置は、相互作用パラメータデータ読出手段と、相互作用パラメータデータ記憶手段と、相互作用演算手段を備える。
相互作用パラメータデータ読出手段は、前記相互作用パラメータデータ記憶装置に記憶された相互作用パラメータデータの一部を読み出す。相互作用パラメータデータ記憶手段は、前記相互作用パラメータデータ読出手段により読み出された相互作用パラメータデータを記憶する。相互作用演算手段は、前記相互作用パラメータデータ記憶手段に記憶された相互作用パラメータデータを用いて、注目する粒子について他の複数の粒子との間の相互作用を演算する。
【００２７】
従って、粒子間相互作用演算装置では、その外部にある相互作用パラメータデータ記憶装置から相互作用パラメータデータの一部を読み出して内部に記憶し、当該記憶した相互作用パラメータデータを用いて演算が行われるため、例えば、外部の相互作用パラメータデータ記憶装置にその都度アクセスする場合や、相互作用パラメータデータの全てを内部に保持するような場合と比べて、粒子間相互作用の計算において効率化を図ることができる。
【００２８】
ここで、相互作用としては、種々なものが用いられてもよく、例えば、力や、ポテンシャルが用いられる。
また、相互作用パラメータデータとしては、種々なものが用いられてもよく、例えば、２個の粒子の間における相互作用パラメータの値（データ）は、一方の粒子の種類及び他方の粒子の種類の対により特定される。
また、粒子の種類としては、例えば、原子の種類や、分子の種類などを用いることができる。
また、粒子の種類の数としては、種々な数が用いられてもよい。
また、注目する粒子との間の相互作用を演算する他の複数の粒子の数としては、種々な数が用いられてもよい。
また、注目する粒子と他の複数の粒子との間の相互作用としては、例えば、注目する粒子と他の複数の粒子のそれぞれとの間の相互作用が演算されてもよく、或いは、更に、これら他の複数の粒子についての演算結果が総和（累算）されてもよい。
【００２９】
本発明に係る演算システムでは、次のような構成とした。
すなわち、前記粒子間相互作用演算装置は、注目粒子種記憶手段を備える。注目粒子種記憶手段は、注目する粒子の種類を特定するデータを記憶する。
前記粒子間相互作用演算装置の相互作用パラメータデータ読出手段は、前記注目粒子種記憶手段に記憶されたデータにより特定される注目する粒子の種類を対となる２個の粒子のうちの一方の粒子の種類とする複数の相互作用パラメータデータを前記相互作用パラメータデータ記憶装置から読み出す。
前記粒子間相互作用演算装置の相互作用演算手段は、前記相互作用パラメータデータ記憶手段から注目する粒子の種類及び演算対象となる他の粒子の種類の対に対応した相互作用パラメータデータを読み出して、当該相互作用パラメータデータを用いて、当該注目する粒子と当該他の粒子との間の相互作用を演算する。
【００３０】
従って、粒子間相互作用演算装置では、注目する粒子の種類を対となる２個の粒子のうちの一方の粒子の種類とする複数の相互作用パラメータデータを外部の相互作用パラメータデータ記憶装置から読み出して内部に記憶し、当該記憶した複数の相互作用パラメータデータの中から演算対象となる他の粒子の種類に対応した相互作用パラメータデータを選択して読み出して演算が行われるため、注目する粒子について相互作用パラメータデータへのアクセスの効率化を図ることができ、外部の相互作用パラメータデータ記憶装置へのアクセスの効率化を図ることができる。
【００３１】
ここで、注目する粒子の種類を特定するデータとしては、種々なデータが用いられてもよい。
また、注目する粒子の種類を対となる２個の粒子のうちの一方の粒子の種類とする複数の相互作用パラメータデータとしては、例えば、注目する粒子の種類に対応して且つ他方の粒子の全て或いは一部の種類に対応した複数の相互作用パラメータデータが用いられる。
【００３２】
本発明に係る演算システムでは、次のような構成とした。
すなわち、前記粒子間相互作用演算装置は、既存粒子種対記憶手段を備える。既存粒子種対記憶手段は、前記相互作用パラメータデータ記憶手段により記憶された相互作用パラメータデータに対応した粒子の種類の対を特定するデータを記憶する。
前記粒子間相互作用演算装置の相互作用パラメータデータ読出手段は、前記既存粒子種対記憶手段により記憶されたデータを参照して、相互作用パラメータデータが未記憶である粒子の種類の対についてのみ、前記相互作用パラメータデータ記憶装置から相互作用パラメータデータを読み出す。
【００３３】
従って、粒子間相互作用演算装置では、相互作用パラメータデータが未だに記憶されていない（つまり、未記憶である）粒子の種類の対についてのみ、相互作用パラメータデータを外部の相互作用パラメータデータ記憶装置から読み出すため、外部の相互作用パラメータデータ記憶装置へのアクセスの効率化を図ることができる。
ここで、相互作用パラメータデータに対応した粒子の種類の対を特定するデータとしては、種々なデータが用いられてもよい。
また、粒子間相互作用演算装置では、例えば、同一の注目する粒子についての一連の演算処理が完了するまでは、当該演算処理中にいったん記憶した相互作用パラメータデータを保持しておき、異なる注目する粒子についての演算処理へ移行すると、再び最初から相互作用パラメータデータを記憶していく。
【００３４】
本発明に係る演算システムでは、次のような構成とした。
すなわち、演算システムは、粒子データ記憶装置と、制御装置を有する。
粒子データ記憶装置は、粒子の種類を特定するデータを含む粒子に関するデータを記憶する。
制御装置は、前記粒子間相互作用演算装置に対して粒子に関するデータを出力する。
ここで、粒子の種類を特定するデータとしては、種々なデータが用いられてもよい。
また、粒子に関するデータとしては、種々なデータが用いられてもよく、例えば、相互作用の演算に使用されるデータが用いられ、具体例として、粒子の座標（位置）を特定するデータや、粒子の電荷を特定するデータや、粒子の種類を特定するデータなどが用いられる。
【００３５】
本発明に係る演算システムでは、次のような構成とした。
すなわち、演算システムは、ホスト装置を有する。
また、前記制御装置と前記粒子データ記憶装置と前記粒子間相互作用演算装置と前記相互作用パラメータデータ記憶装置を有する相互作用演算ユニットが構成される。
前記相互作用演算ユニットと前記ホスト装置とが接続される。そして、前記ホスト装置から前記相互作用演算ユニットへ粒子に関するデータを提供し、前記相互作用演算ユニットから前記ホスト装置へ相互作用の演算結果に関するデータを提供する。
ここで、ホスト装置としては、例えば、ホストコンピュータから構成することが可能である。
また、相互作用演算ユニットとしては、例えば、ＰＣＩアドインカードなどから構成することが可能である。
【００３６】
次に、主に相互作用パラメータデータ配付装置に係る発明を説明する。
上記目的を達成するため、本発明に係る演算システムでは、相互作用パラメータデータ記憶装置と複数の粒子間相互作用演算装置と相互作用パラメータデータ配付装置を有し、次のような処理を行う。
すなわち、相互作用パラメータデータ記憶装置は、対となる２個の粒子の種類により特定される相互作用パラメータデータを記憶する。
複数の粒子間相互作用演算装置のそれぞれは、相互作用パラメータデータを用いて、注目する粒子について他の複数の粒子との間の相互作用を演算する。
相互作用パラメータデータ配付装置は、前記相互作用パラメータデータ記憶装置から相互作用パラメータデータを読み出して、当該相互作用パラメータデータを前記粒子間相互作用演算装置へ配付する。
【００３７】
従って、相互作用パラメータデータ配付装置では、その外部にある相互作用パラメータデータ記憶装置に記憶される相互作用パラメータデータを読み出して、当該読み出した相互作用パラメータデータを複数の粒子間相互作用演算装置へ配付するため、粒子間相互作用の計算において効率化を図ることができる。これにより、例えば、それぞれの粒子間相互作用演算装置毎に相互作用パラメータデータ記憶装置を設ける場合や、それぞれの粒子間相互作用演算装置毎にその外部にある相互作用パラメータデータ記憶装置へアクセスするような場合と比べて、相互作用パラメータデータの配付の効率化を図ることができ、例えば、相互作用パラメータデータ記憶装置の数を少なくすることが可能である。
【００３８】
ここで、相互作用としては、種々なものが用いられてもよく、例えば、力や、ポテンシャルが用いられる。
また、相互作用パラメータデータとしては、種々なものが用いられてもよく、例えば、２個の粒子の間における相互作用パラメータの値（データ）は、一方の粒子の種類及び他方の粒子の種類の対により特定される。
また、粒子の種類としては、例えば、原子の種類や、分子の種類などを用いることができる。
また、粒子の種類の数としては、種々な数が用いられてもよい。
また、注目する粒子との間の相互作用を演算する他の複数の粒子の数としては、種々な数が用いられてもよい。
また、注目する粒子と他の複数の粒子との間の相互作用としては、例えば、注目する粒子と他の複数の粒子のそれぞれとの間の相互作用が演算されてもよく、或いは、更に、これら他の複数の粒子についての演算結果が総和（累算）されてもよい。
【００３９】
本発明に係る演算システムでは、次のような構成とした。
すなわち、前記相互作用パラメータデータ配付装置は、各注目粒子種記憶手段と、相互作用パラメータデータ読出手段と、相互作用パラメータデータ記憶手段と、相互作用パラメータデータ出力手段を備える。
各注目粒子種記憶手段は、前記各粒子間相互作用演算装置について、注目する粒子の種類を特定するデータを記憶する。相互作用パラメータデータ読出手段は、注目する粒子に対して演算対象となる他の粒子の種類を対となる２個の粒子のうちの一方の粒子の種類とする複数の相互作用パラメータデータを前記相互作用パラメータデータ記憶装置から読み出す。相互作用パラメータデータ記憶手段は、前記相互作用パラメータデータ読出手段により読み出された相互作用パラメータデータを記憶する。相互作用パラメータデータ出力手段は、前記各注目粒子種記憶手段に記憶されたデータを参照して、前記相互作用パラメータデータ記憶手段から前記各粒子間相互作用演算装置について注目する粒子の種類及び演算対象となる他の粒子の種類の対に対応した相互作用パラメータデータを読み出し、当該読み出した各相互作用パラメータデータを前記各粒子間相互作用演算装置へ出力する。
【００４０】
従って、相互作用パラメータデータ配付装置では、演算対象となる他の粒子の種類を対となる２個の粒子のうちの一方の粒子の種類とする複数の相互作用パラメータデータを外部の相互作用パラメータデータ記憶装置から読み出して内部に記憶し、それぞれの粒子間相互作用演算装置について、当該記憶した複数の相互作用パラメータデータの中から注目する粒子の種類に対応した相互作用パラメータデータを選択して出力するため、複数の粒子間相互作用演算装置についての注目する粒子について相互作用パラメータデータへのアクセスの効率化を図ることができ、外部の相互作用パラメータデータ記憶装置へのアクセスの効率化を図ることができる。
【００４１】
ここで、注目する粒子の種類を特定するデータとしては、種々なデータが用いられてもよい。
また、注目する粒子に対して演算対象となる他の粒子の種類を対となる２個の粒子のうちの一方の粒子の種類とする複数の相互作用パラメータデータとしては、例えば、当該他の粒子の種類に対応して且つ他方の粒子の全て或いは一部の種類に対応した複数の相互作用パラメータデータが用いられる。
【００４２】
本発明に係る演算システムでは、次のような構成とした。
すなわち、前記相互作用パラメータデータ配付装置は、既存粒子種記憶手段を備える。既存粒子種記憶手段は、前記相互作用パラメータデータ記憶手段により記憶された相互作用パラメータデータに対応した粒子の種類を特定するデータを記憶する。
前記相互作用パラメータデータ配付装置の相互作用パラメータデータ読出手段は、既存粒子種記憶手段により記憶されたデータを参照して、相互作用パラメータデータが未記憶である粒子の種類についてのみ、前記相互作用パラメータデータ記憶装置から相互作用パラメータデータを読み出す。
【００４３】
従って、相互作用パラメータデータ配付装置では、相互作用パラメータデータが未だに記憶されていない（つまり、未記憶である）粒子の種類についてのみ、相互作用パラメータデータを外部の相互作用パラメータデータ記憶装置から読み出すため、外部の相互作用パラメータデータ記憶装置へのアクセスの効率化を図ることができる。
ここで、相互作用パラメータデータに対応した粒子の種類を特定するデータとしては、種々なデータが用いられてもよい。
また、相互作用パラメータデータ配付装置では、例えば、同一の注目する粒子についての一連の演算処理中において、注目する粒子に対して演算対象となる他の粒子の種類に対応した複数の相互作用パラメータデータを、当該他の粒子の種類が変わる毎に消去して書き換えていく（つまり、上書きしていく）。この場合、例えば、同一の注目する粒子についての一連の演算処理において、いったん記憶されていれば現在において消去されていても、既に記憶された相互作用パラメータデータ（つまり、未記憶ではない相互作用パラメータデータ）であるとする。
【００４４】
本発明に係る演算システムでは、次のような構成とした。
すなわち、前記粒子間相互作用演算装置は、相互作用パラメータデータ記憶手段と、相互作用演算手段を備える。
相互作用パラメータデータ記憶手段は、前記相互作用パラメータデータ配付装置から出力される相互作用パラメータデータを記憶する。相互作用演算手段は、前記相互作用パラメータデータ記憶手段に記憶された相互作用パラメータデータを用いて、注目する粒子について他の複数の粒子との間の相互作用を演算する。
【００４５】
本発明に係る演算システムでは、次のような構成とした。
すなわち、演算システムは、粒子データ記憶装置と、制御装置を有する。
粒子データ記憶装置は、粒子の種類を特定するデータを含む粒子に関するデータを記憶する。
制御装置は、前記粒子間相互作用演算装置に対して粒子に関するデータを出力する。
ここで、粒子の種類を特定するデータとしては、種々なデータが用いられてもよい。
また、粒子に関するデータとしては、種々なデータが用いられてもよく、例えば、相互作用の演算に使用されるデータが用いられ、具体例として、粒子の座標（位置）を特定するデータや、粒子の電荷を特定するデータや、粒子の種類を特定するデータなどが用いられる。
【００４６】
本発明に係る演算システムでは、次のような構成とした。
すなわち、演算システムは、ホスト装置を有する。
また、前記制御装置と前記粒子データ記憶装置と前記複数の粒子間相互作用演算装置と前記相互作用パラメータデータ記憶装置と前記相互作用パラメータデータ配付装置を有する相互作用演算ユニットが構成される。
前記相互作用演算ユニットと前記ホスト装置とが接続される。そして、前記ホスト装置から前記相互作用演算ユニットへ粒子に関するデータを提供し、前記相互作用演算ユニットから前記ホスト装置へ相互作用の演算結果に関するデータを提供する。
ここで、ホスト装置としては、例えば、ホストコンピュータから構成することが可能である。
また、相互作用演算ユニットとしては、例えば、ＰＣＩアドインカードなどから構成することが可能である。
【００４７】
次に、本発明の他の態様例を示す。
以上に示したような本発明は、方法として提供することが可能である。
一例として、本発明に係る演算方法では、相互作用パラメータデータ記憶装置が対となる２個の粒子の種類により特定される相互作用パラメータデータを記憶し、粒子間相互作用演算装置が前記相互作用パラメータデータ記憶装置から読み出した相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算するに際して、次のような処理を行う。
すなわち、前記粒子間相互作用演算装置は、前記相互作用パラメータデータ記憶装置に記憶された相互作用パラメータデータの一部を読み出し、当該読み出した相互作用パラメータデータをメモリに記憶し、当該メモリに記憶した相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する。
【００４８】
一例として、本発明に係る演算システムでは、相互作用パラメータデータ記憶装置が対となる２個の粒子の種類により特定される相互作用パラメータデータを記憶し、複数の粒子間相互作用演算装置がそれぞれ相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算するに際して、次のような処理を行う。
すなわち、相互作用パラメータデータ配付装置が、前記相互作用パラメータデータ記憶装置から相互作用パラメータデータを読み出して、当該相互作用パラメータデータを前記粒子間相互作用演算装置へ配付する。
【００４９】
以上に示したような本発明は、プログラムとして提供することが可能である。
一例として、本発明に係るプログラムでは、相互作用パラメータデータ記憶装置が対となる２個の粒子の種類により特定される相互作用パラメータデータを記憶し、粒子間相互作用演算装置が前記相互作用パラメータデータ記憶装置から読み出した相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する演算システムにおいて、次のような機能による処理を、前記粒子間相互作用演算装置を構成するコンピュータに実行させる。
すなわち、当該プログラムは、前記相互作用パラメータデータ記憶装置に記憶された相互作用パラメータデータの一部を読み出す機能と、当該読み出した相互作用パラメータデータをメモリに記憶する機能と、当該メモリに記憶した相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する機能を、当該コンピュータにより実現する。
【００５０】
一例として、本発明に係るプログラムでは、相互作用パラメータデータ記憶装置が対となる２個の粒子の種類により特定される相互作用パラメータデータを記憶し、複数の粒子間相互作用演算装置がそれぞれ相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する演算システムにおいて、次のような機能による処理を、相互作用パラメータデータ配付装置を構成するコンピュータに実行させる。
すなわち、当該プログラムは、前記相互作用パラメータデータ記憶装置から相互作用パラメータデータを読み出して当該相互作用パラメータデータを前記粒子間相互作用演算装置へ配付する機能を、当該コンピュータにより実現する。
【００５１】
以上に示したような本発明は、プログラムを記憶する記憶媒体として提供することが可能である。
一例として、本発明に係る記憶媒体では、相互作用パラメータデータ記憶装置が対となる２個の粒子の種類により特定される相互作用パラメータデータを記憶し、粒子間相互作用演算装置が前記相互作用パラメータデータ記憶装置から読み出した相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する演算システムにおいて、前記粒子間相互作用演算装置を構成するコンピュータに実行させるプログラムを当該コンピュータの入力手段により読み取り可能に記憶しており、当該プログラムは次のような処理を行う。
すなわち、当該プログラムは、前記相互作用パラメータデータ記憶装置に記憶された相互作用パラメータデータの一部を読み出す処理と、当該読み出した相互作用パラメータデータをメモリに記憶する処理と、当該メモリに記憶した相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する処理を、当該コンピュータに実行させる。
【００５２】
一例として、本発明に係る記憶媒体では、相互作用パラメータデータ記憶装置が対となる２個の粒子の種類により特定される相互作用パラメータデータを記憶し、複数の粒子間相互作用演算装置がそれぞれ相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する演算システムにおいて、相互作用パラメータデータ配付装置を構成するコンピュータに実行させるプログラムを当該コンピュータの入力手段により読み取り可能に記憶しており、当該プログラムは次のような処理を行う。
すなわち、当該プログラムは、前記相互作用パラメータデータ記憶装置から相互作用パラメータデータを読み出して当該相互作用パラメータデータを前記粒子間相互作用演算装置へ配付する処理を、当該コンピュータに実行させる。
【発明の効果】
【００５３】
以上説明したように、本発明に係る演算システムなどによると、相互作用パラメータデータ記憶装置が対となる２個の粒子の種類により特定される相互作用パラメータデータを記憶し、粒子間相互作用演算装置が前記相互作用パラメータデータ記憶装置から読み出した相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する構成において、前記粒子間相互作用演算装置が、前記相互作用パラメータデータ記憶装置に記憶された相互作用パラメータデータの一部を読み出し、当該読み出した相互作用パラメータデータを記憶し、当該記憶した相互作用パラメータデータを用いて、注目する粒子について他の複数の粒子との間の相互作用を演算するようにしたため、粒子間相互作用の計算において効率化を図ることができる。
【００５４】
また、本発明に係る演算システムなどによると、相互作用パラメータデータ記憶装置が対となる２個の粒子の種類により特定される相互作用パラメータデータを記憶し、複数の粒子間相互作用演算装置のそれぞれが相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する構成において、相互作用パラメータデータ配付装置が、前記相互作用パラメータデータ記憶装置から相互作用パラメータデータを読み出して、当該相互作用パラメータデータを前記粒子間相互作用演算装置へ配付するようにしたため、粒子間相互作用の計算において効率化を図ることができる。
【発明を実施するための最良の形態】
【００５５】
本発明に係る実施例を図面を参照して説明する。
【実施例１】
【００５６】
本発明の第１実施例を説明する。
図１には、本発明の一実施例に係る多体問題演算装置の構成例を示してあり、特に、粒子間相互作用演算装置の構成例を示してある。
本例の多体問題演算装置は、多体問題演算用のＰＣＩアドインカードとして構成されており、粒子データ送出装置１と、粒子間相互作用演算装置２と、相互作用パラメータデータ記憶装置（相互作用パラメータデータ外部記憶装置）３と、粒子データバス４と、パラメータメモリバス５を備えている。なお、相互作用パラメータデータ外部記憶装置３は例えばメモリから構成される。
【００５７】
ここで、粒子データ送出装置１は、図１１に示される制御ＬＳＩ１３１及び粒子データメモリ１３２から成る構成部と同様な機能を有しており、相互作用パラメータデータ外部記憶装置３は図１１に示される１個の相互作用パラメータデータ外部記憶装置（相互作用パラメータデータ外部記憶装置１３７〜１４０のうちの任意の１個）と同様な機能を有しており、粒子データバス４は図１１に示される粒子データバス１４１と同様な機能を有しており、パラメータメモリバス５は図１１に示される１個のパラメータメモリバス（パラメータメモリバス１４２〜１４５のうちの任意の１個）と同様な機能を有している。
【００５８】
また、本例では、１個の粒子間相互作用演算装置２を示して説明するが、例えば、図１１に示される相互作用演算ＬＳＩ１３３〜１３６のように、複数個の粒子間相互作用演算装置が並列に設けられて計算速度の向上が図られてもよい。また、例えば、図１１に示されるのと同様に、複数個の相互作用演算ＬＳＩが設けられて、それぞれの相互作用演算ＬＳＩに複数個の粒子間相互作用演算装置が並列に備えられてもよい。
また、本例の多体問題演算システムでは、図１に示される多体問題演算装置は、図１１に示される多体問題演算装置１２２と同様に、汎用外部バスであるＰＣＩバスを介してホストコンピュータに接続される。
また、本例の多体問題演算システムでは、例えば、図１１に示される多体問題演算システムと同様に、複数個の多体問題演算装置が並列に設けられて計算速度の向上が図られてもよい。
【００５９】
本例の粒子間相互作用演算装置２は、注目粒子データ記憶部１１と、各粒子種ロードフラグ２１を有する相互作用パラメータデータ一時記憶部１２と、相互作用演算部１３と、計算結果の累算器１４を備えている。なお、注目粒子データ記憶部１１や相互作用パラメータデータ一時記憶部１２はそれぞれ例えばメモリから構成される。また、各粒子種ロードフラグ２１については、本例では必ずしも必要ではなく、後述する本発明の第２実施例において説明する。
本例の粒子間相互作用演算装置２は、装置全体が同一の半導体デバイス内に実装され、概略的には、例えば、図１３に示される粒子間相互作用演算装置１６２の構成に相互作用パラメータデータ一時記憶部１２を内蔵させた構成を有している。
ここで、必要な全ての相互作用パラメータデータを記憶することができる容量は対応する粒子種の数の二乗に比例するため、相互作用パラメータデータの記憶手段の全てを粒子間相互作用演算装置２に内蔵することは、高コストとなり現実的ではない。このため、必要容量を小さくする工夫が必要となる。
【００６０】
図２には、ある注目粒子に働く相互作用を計算する処理において、計算開始コマンドを受信して計算を開始してから、計算終了コマンドを受信して計算を終えて、計算結果を送出するまでの期間にアクセスする相互作用パラメータデータの表のイメージを示してある。図２に示される表の相互作用パラメータデータは全て、相互作用パラメータデータ外部記憶装置３に記憶される。
図２に示される表は、対応する粒子種の数と同数の行及び対応する粒子種の数と同数の列から構成されており、行番号と列番号によりそれぞれのセルが特定される。また、行番号は注目粒子の粒子種を特定し、列番号は粒子データバス４から読み出した粒子データに対応する粒子の粒子種を特定する。
計算処理中は注目粒子の粒子種が変化しないため、パラメータデータ表のアドレス行は固定値となる。図２に示される例では、黒塗りのセル部分はアドレスされたセルを意味しており、斜線のセル部分はアドレスされる可能性がある全てのセルを意味している。つまり、計算処理中に必要なパラメータデータは、図２において斜線が付された１行分だけである。
【００６１】
例えば、注目粒子はひとつであり、１２８種の粒子種に対応し、一組の粒子種の組み合わせに対応する相互作用パラメータのデータが３２ビットの単精度浮動小数点ふたつ（例えば、εとσとのふたつ）だと仮定すると、相互作用パラメータの表の大きさは８キロビット（＝１２８×３２×２ビット）と非常に小さいサイズとなる。注目粒子が４つだとしても、たかだか３２キロビットである。
８〜３２キロビット程度の容量であれば、粒子間相互作用演算装置２と同一の半導体デバイスに相互作用パラメータデータの一時記憶部１２を内蔵することは、低コストで実現可能である。この工夫により、相互作用パラメータデータ外部記憶装置３の全てを粒子間相互作用演算装置２に内蔵した場合とほぼ同等の効果を低コストで得ることができる。
【００６２】
具体的には、相互作用パラメータデータ一時記憶部１２に１行分の相互作用パラメータデータを格納しておくことにより、相互作用パラメータデータ外部記憶装置３とその外部バスであるパラメータメモリバス５を駆動することなく、相互作用の計算を処理することが可能となる。これにより、消費電力を大幅に低減させることができる効果を、相互作用パラメータデータ外部記憶装置３の全てを粒子間相互作用演算装置２に内蔵する場合のコストと比較して、はるかに低いコストで得ることができる。
なお、注目粒子の粒子種が変化するたびに、相互作用パラメータデータ一時記憶部１２に格納するパラメータデータを交換する。
【００６３】
図３は、本例の粒子間相互作用演算装置２により行われる処理の流れを示したフローチャートである。
最初に、粒子間相互作用演算装置２は、粒子データ送出装置１から粒子データバス４を介して送られる制御コマンドを読み取り、制御コマンドに応じて処理の流れを分岐する（ステップＳ１）。
制御コマンドとして注目粒子設定コマンドが送られてきて受信した場合には、ステップＳ２の処理へ分岐する。また、制御コマンドとして計算開始コマンドが送られてきて受信した場合には、ステップＳ４の処理へ分岐する。それ以外のコマンドである場合には、再びコマンド入力待ちとなる（ステップＳ１）。
【００６４】
制御コマンドとして注目粒子設定コマンドを受信した場合には、注目粒子設定コマンドに続いて粒子データ送出装置１から粒子データバス４を介して送られる粒子データを読み取り、これを注目粒子データ記憶部１１に格納して設定する（ステップＳ２）。その後、注目粒子の粒子種に対応する相互作用パラメータのデータを１行分だけ、パラメータメモリバス５を介して、相互作用パラメータデータ外部記憶装置３から相互作用パラメータデータ一時記憶部１２へ転送する（ステップＳ３）。当該データ転送が完了したら、ステップＳ１の処理へ戻り、次の制御コマンドを待つ（ステップＳ１）。
【００６５】
制御コマンドとして計算開始コマンドを受信した場合には、まず、計算結果の累算器１４のレジスタの内容をゼロにクリアし（ステップＳ４）、続いて、粒子データ送出装置１から粒子データバス４を介して送られる粒子データを読み取り（ステップＳ５）、読み取った粒子データと注目粒子データ記憶部１１に保持された粒子データとの差分（例えば、位置座標ベクトルのｘ座標、ｙ座標、ｚ座標の差分）をとって、粒子間の差分ベクトルを算出し（ステップＳ６）、差分ベクトルのｘ成分、ｙ成分、ｚ成分のそれぞれを二乗して和をとることにより、粒子間の距離の二乗値を算出する（ステップＳ７）。
【００６６】
次に、粒子データバス４から読み取った粒子データの粒子種に応じて、相互作用パラメータデータ一時記憶部１２にアクセスするためのアドレスを生成し、相互作用パラメータデータ一時記憶部１２から計算に必要な相互作用パラメータデータを得る（ステップＳ８）。相互作用パラメータデータ一時記憶部１２は、粒子間相互作用演算装置２を構成する半導体デバイスに内蔵されるため、外部からデータを読み取る場合と比べて、高速且つ低消費電力で処理することができる。
その後、粒子間差分ベクトル、粒子間距離の二乗値、電荷、相互作用パラメータを用いて、３次多項式補間近似によって、相互作用を計算し、その計算結果を累算器１４のレジスタに加えて累算する（ステップＳ９）。
【００６７】
上記したステップＳ５の処理からステップＳ９の処理までを、粒子データバス４を介して順次受信する異なる粒子種の粒子データについて終了コマンドを受信するまで繰り返して行い（ステップＳ１０）、終了コマンドを受信した場合には、計算結果の累算器１４のレジスタに格納された内容（つまり、最終的な計算結果）を粒子データバス４を介して制御ＬＳＩ（本例では、粒子データ送出装置１）へ伝送する（ステップＳ１１）。つまり、ひとつの注目粒子に対して、他の全ての粒子との相互作用（相互作用演算部１３による計算結果）を加算した結果が、当該注目粒子についての全体的な相互作用（最終的な計算結果）となる。その後、ステップＳ１の処理へ戻り、再び制御コマンドを待機する（ステップＳ１）。
【００６８】
このように、本例では、注目粒子を設定する際に、当該注目粒子の粒子種に対応する１行分の相互作用パラメータデータを相互作用パラメータデータ外部記憶装置３から相互作用パラメータデータ一時記憶部１２へ読み出して、当該相互作用パラメータデータ一時記憶部１２に記憶した相互作用パラメータデータを使用して相互作用の計算処理を行う。
上記した処理の手順によって、本例の粒子間相互作用演算装置２では、例えば、従来技術と比べて、相互作用パラメータデータの読み取りにおいて低い消費電力で、注目粒子に関する全ての相互作用の和を計算することができる。
【００６９】
以上のように、本例の多体問題演算システムの粒子間相互作用演算装置２では、粒子の座標、電荷、粒子種等の粒子データを注目粒子のデータとして記憶する注目粒子データ記憶部１１と、２つの粒子種の組で決定される相互作用パラメータデータを記憶する相互作用パラメータデータ外部記憶装置３と通信するパラメータメモリバス５が備えられ、粒子データ送出装置１が送出する一連の粒子データを乗せる粒子データバス４に接続され、注目粒子と粒子データバス４から読み取った粒子との相互作用を、パラメータメモリバス５を介して読み取った相互作用パラメータデータに基づいて計算し、その結果を累算する機能を有している。そして、相互作用パラメータデータ外部記憶装置３が格納する相互作用パラメータデータの一部を粒子間相互作用演算装置２の内部の相互作用パラメータデータ一時記憶部１２に保持することにより、相互作用パラメータデータ外部記憶装置３との通信を減らすこと或いは全く行わないことが可能である。
【００７０】
また、本例の多体問題演算システムの粒子間相互作用演算装置２では、相互作用パラメータデータ一時記憶部１２により、計算処理を開始する前に予め、注目粒子の粒子種に関連する全ての相互作用パラメータデータを相互作用パラメータデータ外部記憶装置３からロードし、計算処理実行中においては、当該相互作用パラメータデータ一時記憶部１２により保持した相互作用パラメータデータを用いることにより、相互作用パラメータデータ外部記憶装置３との通信を全く行わないことが可能である。
【００７１】
従って、本例の多体問題演算システムの粒子間相互作用演算装置２では、注目粒子の粒子種に対応する相互作用パラメータデータの全部又は一部を保持することが可能な相互作用パラメータデータ一時記憶部１２を内蔵して、当該相互作用パラメータデータ一時記憶部１２に相互作用パラメータデータ外部記憶装置３からロードしたパラメータデータを格納することにより、相互作用パラメータデータを格納した相互作用パラメータデータ外部記憶装置３へのアクセスを減らすことができる。これにより、消費電力の低減や、コストの低減を図ることができる。
【００７２】
なお、図１に示される粒子間相互作用演算装置２では、相互作用パラメータデータ外部記憶装置３から相互作用パラメータデータを読み出す機能により相互作用パラメータデータ読出手段が構成されており、相互作用パラメータデータ一時記憶部１２の機能により相互作用パラメータデータ記憶手段が構成されており、相互作用演算部１３の機能や累算器１４の機能により相互作用演算手段が構成されており、注目粒子データ記憶部１１の機能により注目粒子種記憶手段が構成されている。
また、図１に示される構成では、粒子データ送出装置１が有する制御ＬＳＩに相当する機能部により制御装置が構成されており、粒子データ送出装置１が有する粒子データメモリに相当する機能部により粒子データ記憶装置が構成されている。
【実施例２】
【００７３】
本発明の第２実施例を説明する。
図３に示されるフローチャートに基づく処理では、注目粒子の設定時における相互作用パラメータデータの転送処理（ステップＳ３の処理）に、ある程度の時間を要する。
本例では、この点を改善した処理の一例を示す。本例では、図１に示される粒子間相互作用演算装置２の相互作用パラメータデータ一時記憶部１２に備えられる各粒子種ロードフラグ２１を使用する。各粒子種ロードフラグ２１は、図２に示されるような相互作用パラメータデータの表における各セルの設定済フラグであり、各粒子種のセルに対応した相互作用パラメータデータが相互作用パラメータデータ一時記憶部１２に記憶された（設定済みである）か否かを示す。
【００７４】
図４は、本例の粒子間相互作用演算装置２により行われる処理の流れを示したフローチャートである。
最初に、粒子間相互作用演算装置２は、粒子データ送出装置１から粒子データバス４を介して送られる制御コマンドを読み取り、制御コマンドに応じて処理の流れを分岐する（ステップＳ２１）。
制御コマンドとして注目粒子設定コマンドが送られてきて受信した場合には、ステップＳ２２の処理へ分岐する。また、制御コマンドとして計算開始コマンドが送られてきて受信した場合には、ステップＳ２４の処理へ分岐する。それ以外のコマンドである場合には、再びコマンド入力待ちとなる（ステップＳ２１）。
【００７５】
制御コマンドとして注目粒子設定コマンドを受信した場合には、注目粒子設定コマンドに続いて粒子データ送出装置１から粒子データバス４を介して送られる粒子データを読み取り、これを注目粒子データ記憶部１１に格納して設定する（ステップＳ２２）。続いて、相互作用パラメータデータ一時記憶部１２が備えるデータロード済フラグである各粒子種ロードフラグ２１を全てクリアする（ステップＳ２３）その後、ステップＳ２１の処理へ戻り、次の制御コマンドを待つ（ステップＳ２１）。
【００７６】
制御コマンドとして計算開始コマンドを受信した場合には、まず、計算結果の累算器１４のレジスタの内容をゼロにクリアし（ステップＳ２４）、続いて、粒子データ送出装置１から粒子データバス４を介して送られる粒子データを読み取り（ステップＳ２５）、読み取った粒子データと注目粒子データ記憶部１１に保持された粒子データとの差分（例えば、位置座標ベクトルのｘ座標、ｙ座標、ｚ座標の差分）をとって、粒子間の差分ベクトルを算出し（ステップＳ２６）、差分ベクトルのｘ成分、ｙ成分、ｚ成分のそれぞれを二乗して和をとることにより、粒子間の距離の二乗値を算出する（ステップＳ２７）。
【００７７】
続いて、粒子データバス４から読み出した粒子データの粒子種及び注目粒子の粒子種に対応する、相互作用パラメータデータ一時記憶部１２の各粒子種ロードフラグ（ロード済フラグ）２１の状態をチェックする（ステップＳ２８）。
このチェックの結果、該当する粒子種に対応する各粒子種ロードフラグ（ロード済フラグ）２１がクリアされている場合には、該当する粒子種に対応する必要な相互作用パラメータデータが相互作用パラメータデータ一時記憶部１２に未だにロードされていないことを意味し、ステップＳ２９の処理へ分岐する。
この場合、相互作用パラメータデータ外部記憶装置３から、該当する粒子種に対応する相互作用パラメータデータをパラメータメモリバス５を介して読み出し、読み出した相互作用パラメータデータを相互作用パラメータデータ一時記憶部１２の対応するセルに格納する。これと同時に、該当する粒子種に対応する各粒子種ロードフラグ（ロード済フラグ）２１をセットする。その後、ステップＳ３１の処理へ処理の流れを移す。
【００７８】
一方、上記したチェックの結果（ステップＳ２８）、該当する粒子種に対応する各粒子種ロードフラグ（ロード済フラグ）２１がセットされている場合には、該当する粒子種に対応する相互作用パラメータデータが相互作用パラメータデータ一時記憶部１２にロード済であることを意味する。
この場合、相互作用パラメータデータ一時記憶部１２から、該当する粒子種に対応する相互作用パラメータデータを得る（ステップＳ３０）。この場合、パラメータメモリバス５も相互作用パラメータデータ外部記憶装置３も動作しない。その後、ステップＳ３１の処理へ処理の流れを移す。
このように、本例では、相互作用パラメータデータ一時記憶部１２を、いわゆるキャッシュメモリとして使用している。
【００７９】
その後、粒子間差分ベクトル、粒子間距離の二乗値、電荷、相互作用パラメータを用いて、３次多項式補間近似によって、相互作用を計算し、その計算結果を累算器１４のレジスタに加えて累算する（ステップＳ３１）。
上記したステップＳ２５の処理からステップＳ３１の処理までを、粒子データバス４を介して順次受信する異なる粒子種の粒子データについて終了コマンドを受信するまで繰り返して行い（ステップＳ３２）、終了コマンドを受信した場合には、計算結果の累算器１４のレジスタに格納された内容（つまり、最終的な計算結果）を粒子データバス４を介して制御ＬＳＩ（本例では、粒子データ送出装置１）へ伝送する（ステップＳ３３）。つまり、ひとつの注目粒子に対して、他の全ての粒子との相互作用（相互作用演算部１３による計算結果）を加算した結果が、当該注目粒子についての全体的な相互作用（最終的な計算結果）となる。その後、ステップＳ２１の処理へ戻り、再び制御コマンドを待機する（ステップＳ２１）。
【００８０】
このように、本例では、粒子データバス４からの粒子データに対応する粒子の粒子種及び注目粒子の粒子種に対応する相互作用パラメータデータを１個ずつ相互作用パラメータデータ外部記憶装置３から相互作用パラメータデータ一時記憶部１２へ読み出して使用するに際して、それぞれのセルに対応した相互作用パラメータデータについてロード済みを示すフラグを設けて、相互作用パラメータデータ外部記憶装置３から未だに読み出していない相互作用パラメータデータについては相互作用パラメータデータ外部記憶装置３から相互作用パラメータデータ一時記憶部１２へ読み出してそれを使用して相互作用の計算処理を行い、既に相互作用パラメータデータ外部記憶装置３から相互作用パラメータデータ一時記憶部１２へ読み出した相互作用パラメータについてはそれを使用して相互作用の計算処理を行う。
これにより、注目粒子の設定時における相互作用パラメータデータの転送処理が不要となり、効率化が図られる。
【００８１】
上記した処理の手順によって、注目粒子に関する全ての相互作用の和を計算する処理において、例えば従来技術と比べて、相互作用パラメータデータ外部記憶装置３からのデータの読み取り回数を減らすことができる。
一例として、計算対象の総粒子個数が１００００個であり、総粒子種が１２８種であると仮定すると、ある注目粒子に働く相互作用をすべて計算する処理において、従来技術では総粒子個数の１００００回も相互作用パラメータデータ外部記憶装置からパラメータメモリバスを介して相互作用パラメータデータを読む必要がある。これに対して、本例では、最大でもたかだか粒子種の数に相当する１２８回しか相互作用パラメータデータ外部記憶装置３からパラメータメモリバス５を介して相互作用パラメータデータを読む必要がなく、従来技術例の１．２８％まで外部アクセスを減らすことができる。また、総粒子種が１０種や２０種程度といった場合には、更に外部アクセスを減らすことができる。
このように、本例では、注目粒子の設定時における相互作用パラメータデータの読み取りを不要としてデータロード時間の短縮化を図ることができ、且つ、相互作用パラメータデータ外部記憶装置３と外部メモリバスであるパラメータメモリバス５の駆動に関わる消費電力を大幅に低減することができる。
【００８２】
以上のように、本例の多体問題演算システムの粒子間相互作用演算装置２では、相互作用パラメータデータ一時記憶部１２において、計算処理実行中に処理に必要な相互作用パラメータデータをパラメータメモリバス５を介して相互作用パラメータデータ外部記憶装置３から読み取る時に、読み取ったデータを当該相互作用パラメータデータ一時記憶部１２に保持し、各粒子種ロードフラグ２１に基づいて、次に過去に保持した相互作用パラメータデータが必要となった時には、相互作用パラメータデータ外部記憶装置３にアクセスせずに当該保持したデータを用いることにより、相互作用パラメータデータ外部記憶装置３との通信を減らして例えば初回（初めてロードするとき）のみにすることが可能である。これにより、消費電力の低減や、コストの低減を図ることができる。
なお、図１に示される粒子間相互作用演算装置２では、各粒子種ロードフラグ２１の機能により既存粒子種対記憶手段が構成されている。
【実施例３】
【００８３】
本発明の第３実施例を説明する。
図１〜図４を用いて説明した構成では、相互作用演算ＬＳＩと同数の相互作用パラメータデータ外部記憶装置が必要となる。
本例では、この点を改善した構成例を示す。
図５には、本例の多体問題演算装置の構成例を示してある。
本例の多体問題演算装置は、多体問題演算用のＰＣＩアドインカードとして構成されており、レジスタ５１及び粒子データ送出部５２を有する制御ＬＳＩ３１と、粒子データメモリ３２と、複数（本例では、４個）の相互作用演算ＬＳＩ３３〜３６と、相互作用パラメータデータ配付装置３７と、相互作用パラメータデータ記憶装置（相互作用パラメータデータ外部記憶装置）３８と、粒子データバス３９と、パラメータメモリバス４０を備えている。
また、本例の多体問題演算装置は、汎用外部バスであるＰＣＩバス４１を介してホストコンピュータに接続されている。
【００８４】
ここで、ＰＣＩバス４１、制御ＬＳＩ３１、粒子データメモリ３２、粒子データバス３９、４個の相互作用演算ＬＳＩ３３〜３６は、例えば、図１１に示される多体問題演算装置１２２に備えられた各構成要素１２１、１３１、１３２、１４１、１３３〜１３６と同様な機能を有している。
なお、本例では、各相互作用演算ＬＳＩ３３〜３６に１つずつの粒子間相互作用演算装置が備えられる場合を示すが、１つの相互作用演算ＬＳＩ３３〜３６に複数の粒子間相互作用演算装置が備えられてもよい。この場合、それぞれの粒子間相互作用演算装置毎に異なる注目粒子種を設定することも可能である。
また、相互作用パラメータデータ外部記憶装置３８及びパラメータデータメモリバス４０についても、概略的には、例えば、図１１に示される多体問題演算装置１２２に備えられた各構成要素１３７〜１４０、１４２〜１４５と同様な機能を有している。
【００８５】
図１１に示される従来技術例では、相互作用演算ＬＳＩ１３３〜１３６のそれぞれに、パラメータメモリバス１４２〜１４５と相互作用パラメータデータ外部記憶装置１３７〜１４０が、一組ずつ接続されるが、本例では、各相互作用演算ＬＳＩ３３〜３６は全て相互作用パラメータデータ配付装置３７に接続される。
また、本例では、相互作用パラメータデータ配付装置３７は、パラメータメモリバス４０を介して、相互作用パラメータデータ外部記憶装置３８と接続される。また、相互作用パラメータデータ配付装置３７は、粒子データバス３９と接続される。
【００８６】
図６には、本例の相互作用パラメータデータ配付装置３７の構成例を示してある。また、図６には、制御ＬＳＩ３１及び粒子データメモリ３２から成る構成部に相当する粒子データ送出装置６１と、４個の相互作用演算ＬＳＩ３３〜３６と、相互作用パラメータデータ外部記憶装置３８と、粒子データバス３９と、パラメータメモリバス４０を示してある。
本例の相互作用パラメータデータ配付装置３７は、各粒子種ロードフラグ８１を有するアドレス生成部７１と、相互作用パラメータデータバッファ７２と、各注目粒子種記憶部７３と、データセレクタ／マルチプレクサ７４を備えている。なお、各注目粒子種記憶部７３は例えばメモリから構成されている。また、各粒子種ロードフラグ８１については、本例では必ずしも必要ではなく、後述する本発明の第４実施例において説明する。
【００８７】
ここで、アドレス生成部７１及び各注目粒子種記憶部７３は粒子データバス３９に接続されており、相互作用パラメータデータバッファ７２は相互作用パラメータデータ外部記憶装置３８から読んだ相互作用パラメータデータを一時的に保存する機能を有しており、データセレクタ／マルチプレクサ７４は各注目粒子種記憶部７３から発生される選択信号に基づいて相互作用パラメータデータバッファ７２の記憶内容の出力先となる相互作用演算ＬＳＩ３３〜３６の粒子間相互作用演算装置を選択する機能を有している。
【００８８】
相互作用パラメータデータバッファ７２において必要となる記憶容量について説明する。
図７には、粒子データバス３９から読み出した粒子データに対応する粒子と、それぞれの相互作用演算ＬＳＩ３３〜３６の粒子間相互作用演算装置に内蔵されたそれぞれの注目粒子データ記憶部に設定された注目粒子との間に働く相互作用を計算する処理において、相互作用パラメータデータ配付装置３７が相互作用パラメータデータバッファ７２に一時的に記憶すべき相互作用パラメータデータを表す表のイメージを示してある。
図７に示される表は、対応する粒子種の数と同数の行及び対応する粒子種の数と同数の列から構成されており、行番号と列番号によりそれぞれのセルが特定される。また、行番号は注目粒子の粒子種を特定し、列番号は粒子データバス３９から読み出した粒子データに対応する粒子の粒子種を特定する。
【００８９】
各相互作用演算ＬＳＩ３３〜３６の粒子間相互作用演算装置は同じ粒子データバス３９に接続されているため、同一のタイミングにおける計算対象の粒子のうち注目粒子ではない方の粒子種は、全ての粒子間相互作用演算装置において同一である。つまり、図７に示される表におけるアドレス列の指定は、全ての粒子間相互作用演算装置において同じ列となる。
図７に示される例では、黒塗りのセル部分は相互作用パラメータデータ配付装置３７により相互作用演算ＬＳＩ３３〜３６の粒子間相互作用演算装置のそれぞれに出力されるパラメータデータが格納されるセルを意味しており、斜線のセル部分は出力される可能性がある全てのデータが格納されたセルを意味している。つまり、出力する可能性があるパラメータデータは全て、図７において斜線で示される１列のみに格納されている。このため、相互作用パラメータデータバッファ７２に必要な容量は、パラメータデータの表の１列分だけで十分である。これは、例えば、図１に示される粒子間相互作用演算装置２における相互作用パラメータデータ一時記憶部１２に必要となる１行分の容量と同じである。
例えば、図１において相互作用パラメータデータ一時記憶部１２が粒子間相互作用演算装置２と同一の半導体デバイスに低コストで内蔵可能であるのと同様に、本例では、相互作用パラメータデータ一時記憶部１２は、相互作用パラメータデータ配付装置３７に対して、低コストで内蔵することが可能である。
【００９０】
続いて処理の流れに基づいて、より詳しい説明を行う。
図８は、本例の相互作用パラメータデータ配付装置３７により行われる処理の流れを示したフローチャートである。
相互作用パラメータデータ配付装置３７は、粒子データバス３９上を流れるデータを監視して、制御ＬＳＩ３１が各相互作用演算ＬＳＩ３３〜３６へ発行する制御コマンドを検知することができ、当該検知した制御コマンドに基づいて処理を分岐させる（ステップＳ４１）。
制御コマンドとして注目粒子設定コマンドを検知した場合には、粒子データバス３９上を流れる設定される注目粒子データを読み出し、いずれの相互作用演算ＬＳＩ３３〜３６の粒子間相互作用演算装置を対象にしていずれの粒子種の注目粒子を設定するのかを検知し、当該検知結果を各注目粒子種記憶部７３に記憶する（ステップＳ４２）。その後、ステップＳ４１の処理へ戻り、制御コマンドを待機する（ステップＳ４１）。この処理により、各相互作用演算ＬＳＩ３３〜３６の粒子間相互作用演算装置が保持する注目粒子の粒子種を常に把握することができる。
【００９１】
制御コマンドとして計算開始コマンドを検知した場合には、まず、粒子データバス３９から粒子データを読み出す（ステップＳ４３）。アドレス生成部８１は、読み出した粒子データの粒子種に基づいて、相互作用パラメータデータ外部記憶装置３８にアクセスするアドレスを生成する（ステップＳ４４）。生成したアドレスを用いて、相互作用パラメータデータ外部記憶装置３８から、パラメータメモリバス４０を介して、相互作用パラメータデータバッファ７２に、粒子データバス３９から読み出した粒子データの粒子種（表の列番号）に対応する１列分の相互作用パラメータデータを転送する（ステップＳ４５）。
【００９２】
ここで、ステップＳ４５の転送処理は、粒子データバス３９に粒子ひとつ分のデータを送出するのに要する時間と同じ時間内に行う必要がある。しかしながら、この時間内に図７に示されるパラメータデータの表における１列分のデータを全て読み出すためには、パラメータメモリバス４０はかなり大きい帯域幅を持つ必要があり、コスト高につながる。
そこで、他の構成例として、ステップＳ４５の転送処理において、１列分のデータを全て転送するのではなく、注目粒子種記憶部７３が保持する各相互作用演算ＬＳＩ３３〜３６の注目粒子種に基づいて、必要なデータだけ転送してもよい。この場合、パラメータメモリバス４０の帯域幅が狭くても、時間内に転送することが可能となる。
【００９３】
各注目粒子種記憶部７３は、保持する各相互作用演算ＬＳＩ３３〜３６の粒子間相互作用演算装置の注目粒子種に基づいて、相互作用パラメータデータバッファ７２に記憶される１列分の相互作用パラメータデータに対して、各相互作用演算ＬＳＩ３３〜３６の粒子間相互作用演算装置の注目粒子種に対応する相互作用パラメータデータを選択するための選択信号を出力する。この選択信号に基づいて、相互作用パラメータのデータセレクタ／マルチプレクサ７４は、相互作用パラメータデータバッファ７２の記憶内容から、それぞれの相互作用演算ＬＳＩ３３〜３６の粒子間相互作用演算装置の注目粒子種（表の行番号）に対応するデータを選択し、選択したデータをそれぞれの相互作用演算ＬＳＩ３３〜３６の粒子間相互作用演算装置に対して出力する（ステップＳ４６）。
【００９４】
そして、ステップS４３の処理からステップS４６の処理までを、粒子データバス３９から終了コマンドが検知されるまで繰り返して行う（ステップS４７）。この際、相互作用パラメータデータバッファ７２では、例えば、粒子データバス３９から読み出される粒子データに対応する粒子種が変更するたびに、記憶する１列分の相互作用パラメータデータを消去して次の粒子種に対応する１列分の相互作用パラメータデータへ切り替える。
上記の処理手順によって、相互作用パラメータデータ配付装置３７は、相互作用演算ＬＳＩ３３〜３６の粒子間相互作用演算装置へ計算に必要な相互作用パラメータデータを正しく転送することができる。
【００９５】
例えば、図１１に示されるような従来技術では相互作用演算ＬＳＩの個数と同じ数だけ相互作用パラメータデータ外部記憶装置が必要であったが、本例の相互作用パラメータデータ配付装置３７を用いる場合には、ひとつの相互作用パラメータデータ外部記憶装置３８を備えることで処理が可能であり、基板上の実装面積の減少、消費電力の低減、低コスト化が可能となる効果がある。
【００９６】
また、図１１に示されるような従来技術における相互作用パラメータデータ外部記憶装置では、相互作用演算ＬＳＩが行うデータアクセスがランダムアクセスとなる。一般に、汎用メモリデバイスでは、バーストアクセスは高速であるが、ランダムアクセスは低速である。このため、従来技術では、汎用メモリデバイスを使用することができず、ランダムアクセスを高速に行うことができる高価な特殊メモリデバイスを使用する必要があった。
これに対して、本例の相互作用パラメータデータ配付装置３７を用いて、１列分の相互作用パラメータデータをまるごと読み出す場合には、全てのデータアクセスをバーストアクセスで行うことができる。このため、相互作用パラメータデータ外部記憶装置３８として、安価な汎用メモリデバイスを使用することが可能であり、演算システムの低コスト化が可能となる効果がある。
【００９７】
また、図１１に示されるような従来技術における相互作用演算ＬＳＩはそれぞれパラメータメモリバスに接続されるため、バスアクセスに関わる回路を持つ必要があった。
これに対して、本例の相互作用パラメータデータ配付装置３７を用いる場合には、各相互作用演算ＬＳＩ３３〜３６はパラメータメモリバス４０にアクセスする必要がなく、複雑なバスアクセス回路が不要となり、相互作用演算ＬＳＩ３３〜３６の低コスト化及び開発期間の短縮化が可能となる効果がある。
【００９８】
以上のように、本例の多体問題演算システムの粒子間相互作用演算装置では、粒子の座標、電荷、粒子種等の粒子データを注目粒子のデータとして記憶する注目粒子データ記憶部と、２つの粒子種の組で決定される相互作用パラメータデータを読み出すパラメータメモリバス４０が備えられ、粒子データ送出装置６１が送出する一連の粒子データを乗せる粒子データバス３９に接続され、注目粒子と粒子データバス３９から読み取った粒子との相互作用を、パラメータメモリバス４０を介して読み取った相互作用パラメータデータに基づいて計算し、その結果を累算する機能を有している。そして、このような粒子間相互作用演算装置を複数用いて構成された多体問題演算システムにおいて、相互作用パラメータデータ配付装置３７が、相互作用パラメータデータを格納する相互作用パラメータデータ外部記憶装置３８と通信するパラメータメモリバス４０と、相互作用パラメータデータの一部を保持する一時記憶手段である相互作用パラメータデータバッファ７２を備え、当該多体問題演算システムを構成する粒子間相互作用演算装置の一部又は全てに、相互作用パラメータデータを配付する。
【００９９】
また、本例の多体問題演算システムでは、粒子データバス３９に流された粒子データの粒子種に対応する１列分のパラメータデータを保持することができる相互作用パラメータデータバッファ７２を備えた相互作用パラメータデータ配付装置３７を用いて、複数の粒子間相互作用演算装置に相互作用パラメータデータを配付することにより、相互作用パラメータデータを格納した相互作用パラメータデータ外部記憶装置の数を減らすことができる。例えば、相互作用パラメータデータ外部記憶装置の数を相互作用演算ＬＳＩや粒子間相互作用演算装置の数より少なくすることが可能である。
【０１００】
従って、本例の多体問題演算システムでは、例えば、相互作用パラメータデータを格納する相互作用パラメータデータ外部記憶装置３８を、粒子間相互作用演算装置を構成する半導体デバイスに内蔵せず、別の半導体デバイスとして構成する場合に、相互作用パラメータデータのアクセス方法を工夫すること及び相互作用パラメータデータ配付装置３７を設けることによって、相互作用パラメータデータ外部記憶装置３８へのアクセスを減らすことや、相互作用パラメータデータ外部記憶装置３８の数を減らすことができ、省電力化や、コストの低減や、基板実装面積の削減を実現することができる。
【０１０１】
なお、図５に示される構成では、制御ＬＳＩ３１の機能により制御装置が構成されており、粒子データメモリ３２の機能により粒子データ記憶装置が構成されている。
また、図６に示される相互作用パラメータデータ配付装置３７では、各注目粒子種記憶部７３の機能により各注目粒子種記憶手段が構成されており、アドレス生成部７１により相互作用パラメータデータ外部記憶装置３８から相互作用パラメータデータを読み出す機能により相互作用パラメータデータ読出手段が構成されており、相互作用パラメータデータバッファ７２の機能により相互作用パラメータデータ記憶手段が構成されており、データセレクタ／マルチプレクサ７４の機能により相互作用パラメータデータ出力手段が構成されている。
【実施例４】
【０１０２】
本発明の第４実施例を説明する。
例えば、図５及び図６に示されるような構成では、計算処理において、相互作用パラメータデータ配付装置３７から各相互作用演算ＬＳＩ３３〜３６までの信号線が常時駆動されることになり、電力を多く消費することもある。この点は、例えば、図１に示される粒子間相互作用演算装置と同様に相互作用パラメータデータの一時記憶部１２をキャッシュメモリとして使用する粒子間相互作用演算装置と、図６に示される相互作用パラメータデータ配付装置３７とを組み合わせることによって改善される。
【０１０３】
図９には、本例の粒子間相互作用演算装置９２の構成例を示してある。本例の粒子間相互作用演算装置９２は、相互作用パラメータデータ配付装置９３と接続することが可能な構成となっている。また、図９には、粒子データ送出装置９１と、相互作用パラメータデータ配付装置９３と、粒子データバス９４を示してある。
ここで、粒子データ送出装置９１は例えば図６に示される粒子データ送出装置６１と同様な機能を有しており、相互作用パラメータデータ配付装置９３は例えば図６に示される相互作用パラメータデータ配付装置３７と同様な機能を有しており、粒子データバス９４は例えば図６に示される粒子データバス３９と同様な機能を有している。なお、本例では、相互作用パラメータデータ配付装置９３に備えられる各処理部を、図６に示されるのと同じ符号７１〜７４、８１を用いて示す。
【０１０４】
本例の粒子間相互作用演算装置９２は、注目粒子データ記憶部１０１と、各粒子種ロードフラグ１１１を有する相互作用パラメータデータ一時記憶部１０２と、相互作用演算部１０３と、計算結果の累算器１０４を備えている。
ここで、粒子間相互作用演算装置９２に備えられる各処理部１０１〜１０４、１１１は、それぞれ、例えば図１に示される粒子間相互作用演算装置２に備えられる各処理部１１〜１４、２１と同様な機能を有している。
本例の粒子間相互作用演算装置９２では、概略的には、例えば図１においてパラメータメモリバスを介して相互作用パラメータデータ外部記憶装置と接続した部分を、相互作用パラメータデータ配付装置９３との接続へ置き換えた構成を有している。その他の機能は同様であり、処理手順は例えば図４に相当するフローチャートに基づく。
【０１０５】
本例では、相互作用パラメータデータ配付装置９３のアドレス生成部７１に備えられる各粒子種ロードフラグ８１を使用する。各粒子種ロードフラグ８１は、図７に示されるような相互作用パラメータデータの表における１列分のセルの設定済フラグであり、各粒子種の１列分のセルに対応した相互作用パラメータデータが相互作用パラメータデータバッファ７２に記憶された（設定済みである）か否かを示す。
【０１０６】
図１０は、図５に示される多体問題演算装置の構成要素である相互作用演算ＬＳＩ３３〜３６に、図９に示される粒子間相互作用演算装置９２を組み込んだ構成を有する多体問題演算装置において、図６に示されるのと同様な構成を有する相互作用パラメータデータ配付装置９３により行われる処理の流れを示したフローチャートである。
相互作用パラメータデータ配付装置９３は、粒子データバス９４上を流れるデータを監視して、制御ＬＳＩ３１が各相互作用演算ＬＳＩ３３〜３６へ発行する制御コマンドを検知することができ、当該検知した制御コマンドに基づいて処理を分岐させる（ステップＳ５１）。
制御コマンドとして注目粒子設定コマンドを検知した場合には、粒子データバス９４上を流れる設定される注目粒子データを読み出し、いずれの相互作用演算ＬＳＩ３３〜３６の粒子間相互作用演算装置を対象にしていずれの粒子種の注目粒子を設定するのかを検知し、当該検知結果を各注目粒子種記憶部７３に記憶する（ステップＳ５２）。その後、ステップＳ５１の処理へ戻り、制御コマンドを待機する（ステップＳ５１）。この処理により、各相互作用演算ＬＳＩ３３〜３６の粒子間相互作用演算装置が保持する注目粒子の粒子種を常に把握することができる。
【０１０７】
制御コマンドとして計算開始コマンドを検知した場合には、まず、アドレス生成部７１が有する粒子種毎のロード済フラグ（各粒子種ロードフラグ８１）を全てクリアする（ステップＳ５３）。続いて、粒子データバス９４から粒子データを読み出す（ステップＳ５４）。アドレス生成部７１は、読み出した粒子データの粒子種に基づいて、相互作用パラメータデータ外部記憶装置３８にアクセスするアドレスを生成する（ステップＳ５５）。
続いて、前記読み出した粒子データの粒子種について、ロード済フラグ（各粒子種ロードフラグ８１）の状態をチェックする（ステップＳ５６）。
この結果、ロード済フラグ（各粒子種ロードフラグ８１）がセットされていた場合には、既に粒子間相互作用演算装置９２が該当する相互作用パラメータデータをキャッシュ済であることを意味する。この場合、相互作用パラメータデータを配付する必要はなく、ステップＳ６０の処理へ処理の流れを移す。
【０１０８】
一方、ロード済フラグ（各粒子種ロードフラグ８１）がセットされていない場合には、ステップＳ５５の処理で生成したアドレス（表の列番号）を用いて、相互作用パラメータデータ外部記憶装置３８から、パラメータメモリバス４０を介して、相互作用パラメータデータバッファ７２に、該当する１列分の相互作用パラメータデータを転送する（ステップＳ５７）。その後、粒子種に対応するロード済フラグ（各粒子種ロードフラグ８１）をセットする（ステップＳ５８）。
また、各注目粒子種記憶部７３は、保持する各相互作用演算ＬＳＩ３３〜３６の粒子間相互作用演算装置の注目粒子種に基づいて、相互作用パラメータデータバッファ７２に記憶される１列分の相互作用パラメータデータに対して、各相互作用演算ＬＳＩ３３〜３６の粒子間相互作用演算装置の注目粒子種に対応する相互作用パラメータデータを選択するための選択信号を出力する。この選択信号に基づいて、相互作用パラメータのデータセレクタ／マルチプレクサ７４は、相互作用パラメータデータバッファ７２の記憶内容から、それぞれの相互作用演算ＬＳＩ３３〜３６の粒子間相互作用演算装置の注目粒子種（表の行番号）に対応するデータを選択し、選択したデータをそれぞれの相互作用演算ＬＳＩ３３〜３６の粒子間相互作用演算装置に対して出力する（ステップＳ５９）。
【０１０９】
そして、ステップＳ５４の処理からステップＳ５９の処理までを、粒子データバス９４から終了コマンドが検知されるまで繰り返して行う（ステップＳ６０）。
上記した処理手順によって、相互作用パラメータデータ配付装置９３は、接続されたそれぞれの相互作用演算ＬＳＩ３３〜３６に内蔵される粒子間相互作用演算装置が有する相互作用パラメータデータ一時記憶部に、相互作用パラメータデータがキャッシュされていない場合にのみ、相互作用パラメータデータを配付することができる。これにより、相互作用パラメータデータ配付装置９３から各相互作用演算ＬＳＩ３３〜３６までの信号線の駆動頻度を大幅に低減することができ、消費電力を低減することができる効果がある。
【０１１０】
以上のように、本例の多体問題演算システムでは、相互作用パラメータデータ一時記憶部１０２を備えた粒子間相互作用演算装置９２を複数用いて構成され、相互作用パラメータデータ配付装置９３を用いて、一部又は全ての粒子間相互作用演算装置に、相互作用パラメータデータを配付する。
また、本例の多体問題演算システムでは、相互作用パラメータデータ配付装置９３により配付しようとする相互作用パラメータデータについて、例えば内蔵するアドレス生成部７１の各粒子種ロードフラグ８１或いは配付先の粒子間相互作用演算装置からの通知に基づいて、配付先の粒子間相互作用演算装置に内蔵される相互作用パラメータデータ一時記憶部１０２が該当する相互作用パラメータデータを既に保持しているかどうかを判断することにより、既に配付済みの相互作用パラメータデータの再配付を抑制することが可能である。
【０１１１】
従って、本例の多体問題演算システムでは、注目粒子の粒子種に対応する相互作用パラメータデータの全部或いは一部を保持することができる相互作用パラメータデータ一時記憶部１０２を粒子間相互作用演算装置に内蔵して当該相互作用パラメータデータ一時記憶部１０２に外部メモリからロードした相互作用パラメータデータを格納する構成と、粒子データバス９４に流された粒子データの粒子種に対応する１列分の相互作用パラメータデータを保持することができる相互作用パラメータデータバッファ７２を備えた相互作用パラメータデータ配付装置９３を用いて複数の粒子間相互作用演算装置に相互作用パラメータデータを送る構成との双方を組み合わせて、効率化を図ることができる。
【０１１２】
なお、図６に示される相互作用パラメータデータ配付装置３７では、各粒子種ロードフラグ８１の機能により既存粒子種記憶手段が構成されている。
また、図９に示される粒子間相互作用演算装置９２では、相互作用パラメータデータ配付装置９３から出力される相互作用パラメータデータを記憶する相互作用パラメータデータ一時記憶部１０２の機能により相互作用パラメータデータ記憶手段が構成されており、相互作用演算部１０３の機能や累算器１０４の機能により相互作用演算手段が構成されており、注目粒子データ記憶部１０１の機能により注目粒子種記憶手段が構成されており、各粒子種ロードフラグ１１１の機能により既存粒子種対記憶手段が構成されている。
【０１１３】
ここで、本発明に係る演算システムなどの構成としては、必ずしも以上に示したものに限られず、種々な構成が用いられてもよい。また、本発明は、例えば、本発明に係る処理を実行する方法或いは方式や、このような方法や方式を実現するためのプログラムや当該プログラムを記録する記録媒体などとして提供することも可能であり、また、種々な装置やシステムとして提供することも可能である。一例として、パラメータデータのアクセス方法などとして提供することも可能である。
また、本発明の適用分野としては、必ずしも以上に示したものに限られず、本発明は、種々な分野に適用することが可能なものである。例えば、本実施例では、効率的な多体問題演算システムを示したが、本発明は、必ずしも多体問題の演算に限られず、種々な演算に適用することも可能である。
【０１１４】
また、例えば、全ての粒子について演算処理を行うのではなく、不要な部分を除いた必要な範囲についてだけ演算処理を自律的に行う場合においても、効率化を図ることができる。また、例えば、一部の特殊な条件の粒子についてのみホスト装置（本実施例では、ホストコンピュータ）で演算し、残りの大部分について演算装置（本実施例では、多体問題演算装置）で自律的に演算処理するような場合においても効果がある。
【０１１５】
また、本発明に係る演算システムなどにおいて行われる各種の処理としては、例えばプロセッサやメモリ等を備えたハードウエア資源においてプロセッサがＲＯＭ（Read Only Memory）に格納された制御プログラムを実行することにより制御される構成が用いられてもよく、また、例えば当該処理を実行するための各機能手段が独立したハードウエア回路として構成されてもよい。
また、本発明は上記の制御プログラムを格納したフロッピー（登録商標）ディスクやＣＤ（Compact Disc）−ＲＯＭ等のコンピュータにより読み取り可能な記録媒体や当該プログラム（自体）として把握することもでき、当該制御プログラムを当該記録媒体からコンピュータに入力してプロセッサに実行させることにより、本発明に係る処理を遂行させることができる。
【図面の簡単な説明】
【０１１６】
【図１】本発明の一実施例に係る粒子間相互作用演算装置の構成例を示す図である。
【図２】ひとつの注目粒子に関する計算処理に必要な相互作用パラメータの表のイメージの一例を示す図である。
【図３】本発明の第１実施例に係る粒子間相互作用演算装置により行われる処理の手順の一例を示す図である。
【図４】本発明の第２実施例に係る粒子間相互作用演算装置により行われる処理の手順の一例を示す図である。
【図５】本発明の第３実施例に係る相互作用パラメータデータ配付装置を用いて構成された多体問題演算用ＰＣＩアドインカードの構成例を示す図である。
【図６】相互作用パラメータデータ配付装置の構成例を示す図である。
【図７】相互作用パラメータデータ配付装置のバッファに保持する相互作用パラメータの表のイメージの一例を示す図である。
【図８】相互作用パラメータデータ配付装置により行われる処理の手順の一例を示す図である。
【図９】相互作用パラメータデータ配付装置と接続することが可能な粒子間相互作用演算装置の構成例を示す図である。
【図１０】相互作用パラメータデータ配付装置と粒子間相互作用演算装置とを組み合わせたものにより行われる処理の手順の一例を示す図である。
【図１１】多体問題演算装置の構成例を示す図である。
【図１２】多体問題演算装置により行われる処理の手順の一例を示す図である。
【図１３】粒子間相互作用演算装置の基本的な構成例を示す図である。
【図１４】レナードジョーンズのポテンシャルの一例を示す図である。
【図１５】粒子間相互作用演算装置により行われる処理の手順の一例を示す図である。
【図１６】相互作用パラメータの表のイメージの一例を示す図である。
【符号の説明】
【０１１７】
１、６１、９１、１６１・・粒子データ送出装置、  ２、９２、１６２・・粒子間相互作用演算装置、  ３、３８、１３７〜１４０、１６３・・相互作用パラメータデータ外部記憶装置、  ４、３９、９４、１４１、１６４・・粒子データバス、  ５、４０、１４２〜１４５、１６５・・パラメータメモリバス、  １１、１０１、１７１・・注目粒子データ記憶部、  １２、１０２・・相互作用パラメータデータ一時記憶部、  １３、１０３、１７２・・相互作用演算部、  １４、１０４、１７３・・累算器、  ２１、８１、１１１・・各粒子種ロードフラグ、  ３１、１３１・・制御ＬＳＩ、  ３２、１３２・・粒子データメモリ、  ３３〜３６、１３３〜１３６・・相互作用演算ＬＳＩ、  ３７、９３・・相互作用パラメータデータ配付装置、  ４１、１２６・・ＰＣＩバス、  ５１、１５１・・レジスタ、  ５２、１５２・・粒子データ送出部、  ７１・・アドレス生成部、  ７２・・相互作用パラメータデータバッファ、  ７３・・各注目粒子種記憶部、  ７４・・データセレクタ／マルチプレクサ、  １２１・・ホストコンピュータ、  １２２〜１２５・・多体問題演算装置（多体問題演算用ＰＣＩアドインカード）、
【図１】
2005309605.tif 000005
【図２】
2005309605.tif 000006
【図３】
2005309605.tif 000007
【図４】
2005309605.tif 000008
【図５】
2005309605.tif 000009
【図６】
2005309605.tif 000010
【図７】
2005309605.tif 000011
【図８】
2005309605.tif 000012
【図９】
2005309605.tif 000013
【図１０】
2005309605.tif 000014
【図１１】
2005309605.tif 000015
【図１２】
2005309605.tif 000016
【図１３】
2005309605.tif 000017
【図１４】
2005309605.tif 000018
【図１５】
2005309605.tif 000019
【図１６】
2005309605.tif 000020