JP2002049596A - 情報処理装置および情報処理装置における計算方法 - Google Patents

情報処理装置および情報処理装置における計算方法

Info

Publication number
JP2002049596A
JP2002049596A JP2001169407A JP2001169407A JP2002049596A JP 2002049596 A JP2002049596 A JP 2002049596A JP 2001169407 A JP2001169407 A JP 2001169407A JP 2001169407 A JP2001169407 A JP 2001169407A JP 2002049596 A JP2002049596 A JP 2002049596A
Authority
JP
Japan
Prior art keywords
data
element processor
calculation
grid point
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001169407A
Other languages
English (en)
Other versions
JP3495010B2 (ja
Inventor
Joji Oshima
丈治 大島
Toshiyuki Tamura
俊之 田村
Satoru Koto
悟 古藤
Hirono Tsubota
浩乃 坪田
Nobufumi Komori
伸史 小守
Shinji Nakajima
伸治 中島
Hironori Terada
浩詔 寺田
Makoto Iwata
誠 岩田
Katsuto Yamaguchi
克人 山口
Junji Onishi
潤治 大西
Akira Kondo
明 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2001169407A priority Critical patent/JP3495010B2/ja
Publication of JP2002049596A publication Critical patent/JP2002049596A/ja
Application granted granted Critical
Publication of JP3495010B2 publication Critical patent/JP3495010B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 各要素プロセッサ3の演算を阻害しないメモ
リアクセス及びデータ転送ができ、非同期の通信方式に
よる微分方程式の求解を可能にした高速、かつ安価な計
算機を得る。 【解決手段】 隣接要素プロセッサ3間のデータ授受は
各要素プロセッサ3が互いに隣接する要素プロセッサ3
内の処理を阻害しないように、独立アクセス可能なメモ
リ部6を介して行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、並列プロセッサ
によって処理性能を飛躍的に向上させる情報処理装置の
構成および計算方法に関するものであり、より詳しく
は、微分方程式の数値計算の高速化に関するものであ
る。
【0002】
【従来の技術】この発明の主たる応用分野である微分方
程式の解法においては、空間的・時間的に離散化した解
析時空間で、対象とする方程式を差分化し、隣接する格
子点の相互作用によって解を求めている。従来では、こ
れらの問題をノイマン型計算機による逐次計算法、ある
いはマルチプロセッサ上での並列計算法により解析して
きた。
【0003】また、近年では、例えば、天気予報や大気
・海洋汚染などの環境アセスメントにおいては、大規模
な熱および流体の数値解析予測を行っている。天気予報
では、大気の動きを予測し、気圧,風速,気温,日射を
基に高・低気圧の移動,台風の進路を予測して天気予報
を出す。環境アセスメントでは、汚染源が大気や海流に
よってどのように拡散するかを、流速や汚染物質濃度を
予測して評価する。そこには、超大型計算機が数多く投
入され、多大な計算時間を費やしている。このように多
くの計算機資源を投入し、計算速度を予測精度を向上さ
せ、風雨による災害を防止したり、環境破壊を未然に防
止する努力が払われてきた。マルチプロセッサ上でこの
種の問題を取り扱う方法が試みられており、日本機械学
会論文集59巻558号、PP.427−432(文献
1)あるいは日本機械学会論文集60巻569号、P
P.99−106(文献2)で示されるように、離散化
された解析領域をブロック状に分割し、それぞれの分割
領域を1つの要素プロセッサに割り当て、全体として複
数の要素プロセッサからなるマルチプロセッサ・システ
ムによって並列処理を行う領域分割法が行われている。
【0004】図68は、従来例である文献1に示された
要素プロセッサをニアネイバメッシュで結合し、領域分
割法を行うためのシステム全体の構成図である。図にお
いて、201は担当する分割領域の演算を行う要素プロ
セッサ、202は要素プロセッサ201間のデータ通信
を行うための要素プロセッサ間コネクション、203は
要素プロセッサ201を統括管理するためのホストコン
ピュータ、204はホストコンピュータ203と要素プ
ロセッサ201とを連結するためのインターフェースボ
ード、205は要素プロセッサ201を4個実装した要
素プロセッサボードである。
【0005】また、文献2における従来例では、汎用並
列計算機AP1000を使用し、要素プロセッサ201
を同様のニアネイバメッシュにより結合している。
【0006】これらの汎用マルチプロセッサ・システム
を利用した並列計算法においては、プロセッサ間の通信
方法は、パケット通信などの低速の通信手段を用いてい
る。また、プロセッサ間で処理の同期が必要であるた
め、要素プロセッサ201間のデータ転送時のオーバー
ヘッドが存在し、要素プロセッサ201の台数を増加さ
せるに伴い並列化効率が低下する。図69は、文献2で
示された、偏微分方程式解法の一応用例である数値流体
解析を、差分法を用いて行った場合の、要素プロセッサ
台数増加に伴う並列化効率の低下状況を示した図であ
る。図中横軸は要素プロセッサ201の台数、縦軸は演
算速度向上率、○印はMAC法を使用した場合の演算速
度向上率、△印はSMAC法を使用した場合の演算速度
向上率、□印はHSMAC法を使用した場合の演算速度
向上率、実線は要素プロセッサ201の台数に比例した
演算速度向上率を示す。MAC法、SMAC法、HSM
AC法ともに要素プロセッサ201の台数が増加するに
つれ、データ転送のオーバーヘッドにより要素プロセッ
サ201の台数増加に伴う並列化効率が低下している。
【0007】また、偏微分方程式を解析する上での演算
レベルでの並列性に着目すると、既存のハードウエアを
使用する従来の数値解法では、ハードウエアのアーキテ
クチャが汎用性を重視しているため、偏微分方程式の解
析時に現れる演算レベルの高度な並列性を並列処理に組
み込むことは不可能であった。
【0008】つまり、ノイマン型の大型計算機や汎用並
列計算機を用いても、大規模な偏微分方程式を高速に、
しかも安価に解析することは困難であった。
【0009】
【発明が解決しようとする課題】従来の微分方程式の求
解方式は以上のような手法であったため、nCUBE、
AP−1000、トランスピュータ(Transput
er)などの汎用並列プロセッサを使用した領域分割法
による偏微分方程式の解法が主流であった。これらのマ
ルチプロセッサ間の通信方式は、パケット通信など低速
の通信手段を用いている。既存のハードウエア・アーキ
テクチャを踏襲する限り、プロセッサ間並列処理及び並
行処理を重視せざるを得ない。即ち、領域分割法による
解法は、全計算時間のうち、通信時間に比べて演算時間
の占める割合いが多い粗粒度並列処理にはある程度の効
果があったが、微分方程式の解析に現れる演算時間に比
べて通信時間の占める割合いが多い細粒度並列処理では
データ転送時のオーバーヘッドが大きくなり、並列化効
率が低下するという問題があった。
【0010】また、ソフトウェアを改良することでレイ
テンシー・トレランス(データ待ち問題に対する対処
性)を高める様々な手法が考案されているが、既存ハー
ドウエアを使用する限り、通信方式を抜本的に変更する
ことは不可能で、通信同期待ちを劇的に減少させること
は不可能であるという問題点があった。
【0011】さらに、プロセッサ内の演算レベルでの並
列性はハードが持つアーキテクチャに依存し、ソフトレ
ベルでは対応しきれないという問題点があった。
【0012】この発明は上記のような問題点を解消する
ためになされたもので、この発明の第1の目的は、要素
プロセッサ間で非同期にメッセージ伝達を行うことによ
って、レイテンシー・トレランスを向上することができ
る情報処理装置を得ることにある。
【0013】また、この発明は上記のような問題点を解
消するためになされたもので、この発明の第2の目的
は、通信によって要素プロセッサ内の処理が阻害されな
いメモリ構造を有することによって、微分方程式の求解
に適したメモリアクセス方式を行うことのできる情報処
理装置を得ることにある。
【0014】さらに、この発明は上記のような問題点を
解消するためになされたもので、この発明の第3の目的
は、布線論理を直接ハードウェア化した演算器をプロセ
ッサ内に配列し、熱流体数値解析やその他の偏微分方程
式の解法を基本とした数値解析手法に内在する演算レベ
ルでの並列性を最大限に発揮することのできる情報処理
装置を得ることにある。
【0015】
【課題を解決するための手段】第1の発明に係る情報処
理装置は、複数の要素プロセッサと、互いに隣接する前
記要素プロセッサ間を繋ぐ複数のデータバスとを備え、
所定の方程式で記述できる場の支配方程式を求解する際
に用いる格子状に離散化された計算空間を複数の領域に
分割し、前記複数の領域のそれぞれごとに前記要素プロ
セッサを割り当てて、並列的にかつ反復的に演算を行わ
せる情報処理装置であって、一の前記要素プロセッサ
は、反復的な演算の過程において、隣接する他の前記要
素プロセッサにおける演算の過程に拘わらず、互いに隣
接する前記領域同士の境界部分の格子点のデータを更新
し、前記他の要素プロセッサは、前記一の要素プロセッ
サに係る前記境界部分の前記格子点の前記データが前記
一の要素プロセッサによって更新されたか否かに拘わら
ず、前記一の要素プロセッサに係る前記境界部分の前記
格子点の前記データを前記データバスを介して参照しつ
つ、反復的な演算を行い、前記要素プロセッサは、演算
を実行するプロセッシングユニット及び演算に関する各
種データを記憶するためのデータメモリを有し、前記一
の要素プロセッサは、前記境界部分の前記格子点の前記
データを自己の前記データメモリに書き込み、前記他の
要素プロセッサは、前記一の要素プロセッサの前記デー
タメモリに記憶されている前記境界部分の前記格子点の
前記データを参照し、前記プロセッシングユニットは、
前記格子点の全てに対し前記格子点の存在する位置が前
記場の中の計算領域の内部か、あるいは前記計算領域内
の物体の内部か外部かを示す内点ビット及び外点ビット
を、さらに前記計算領域境界に位置する前記格子点に対
して境界条件の情報を与える境界条件ビットを、前記要
素プロセッサの前記データメモリにロードしておき、前
記内点ビット、前記外点ビット及び前記境界条件ビット
に従ってデータフローグラフの処理を変更することがで
きる同一の布線論理に従ったハードウェア回路をさらに
備えることを特徴とする。
【0016】第2の発明に係る情報処理装置は、複数の
要素プロセッサと、互いに隣接する前記要素プロセッサ
間を繋ぐ複数のデータバスとを備え、所定の方程式で記
述できる場の支配方程式を求解する際に用いる格子状に
離散化された計算空間を複数の領域に分割し、前記複数
の領域のそれぞれごとに前記要素プロセッサを割り当て
て、並列的にかつ反復的に演算を行わせる情報処理装置
であって、一の前記要素プロセッサは、反復的な演算の
過程において、隣接する他の前記要素プロセッサにおけ
る演算の過程に拘わらず、互いに隣接する前記領域同士
の境界部分の格子点のデータを更新し、前記他の要素プ
ロセッサは、前記一の要素プロセッサに係る前記境界部
分の前記格子点の前記データが前記一の要素プロセッサ
によって更新されたか否かに拘わらず、前記一の要素プ
ロセッサに係る前記境界部分の前記格子点の前記データ
を前記データバスを介して参照しつつ、反復的な演算を
行い、前記要素プロセッサは、演算を実行するプロセッ
シングユニット及び演算に関する各種データを記憶する
ためのデータメモリを有し、前記一の要素プロセッサ
は、前記境界部分の前記格子点の前記データを自己の前
記データメモリに書き込み、前記他の要素プロセッサ
は、前記一の要素プロセッサの前記データメモリに記憶
されている前記境界部分の前記格子点の前記データを参
照し、隣接する前記要素プロセッサ同士を結合した細ノ
ード結合と、一つ以上の前記要素プロセッサを飛び越し
て前記要素プロセッサ同士を粗ノード結合コネクション
で結合した粗ノード結合とを有することを特徴とする。
【0017】第3の発明に係る情報処理装置における計
算方法は、複数の要素プロセッサと、互いに隣接する前
記要素プロセッサ間を繋ぐ複数のデータバスとを備え、
所定の方程式で記述できる場の支配方程式を求解する際
に用いる格子状に離散化された計算空間を複数の領域に
分割し、前記複数の領域のそれぞれごとに前記要素プロ
セッサを割り当てて、並列的にかつ反復的に演算を行わ
せる情報処理装置を用いた計算方法であって、(a)一
の前記要素プロセッサが、反復的な演算の過程におい
て、隣接する他の前記要素プロセッサにおける演算の過
程に拘わらず、互いに隣接する前記領域同士の境界部分
の格子点のデータを更新する工程と、(b)前記他の要
素プロセッサが、前記一の要素プロセッサに係る前記境
界部分の前記格子点の前記データが前記一の要素プロセ
ッサによって更新されたか否かに拘わらず、前記一の要
素プロセッサに係る前記境界部分の前記格子点の前記デ
ータを前記データバスを介して参照しつつ、反復的な演
算を行う工程とを備え、前記所定の方程式は、微分方程
式を含み、非同期に、かつ独立に前記要素プロセッサを
動作させて前記微分方程式の解を差分法を用いて得るこ
とを特徴とする。
【0018】第4の発明に係る情報処理装置における計
算方法は、複数の要素プロセッサと、互いに隣接する前
記要素プロセッサ間を繋ぐ複数のデータバスとを備え、
所定の方程式で記述できる場の支配方程式を求解する際
に用いる格子状に離散化された計算空間を複数の領域に
分割し、前記複数の領域のそれぞれごとに前記要素プロ
セッサを割り当てて、並列的にかつ反復的に演算を行わ
せる情報処理装置を用いた計算方法であって、(a)一
の前記要素プロセッサが、反復的な演算の過程におい
て、隣接する他の前記要素プロセッサにおける演算の過
程に拘わらず、互いに隣接する前記領域同士の境界部分
の格子点のデータを更新する工程と、(b)前記他の要
素プロセッサが、前記一の要素プロセッサに係る前記境
界部分の前記格子点の前記データが前記一の要素プロセ
ッサによって更新されたか否かに拘わらず、前記一の要
素プロセッサに係る前記境界部分の前記格子点の前記デ
ータを前記データバスを介して参照しつつ、反復的な演
算を行う工程とを備え、前記要素プロセッサは、演算を
実行するプロセッシングユニット及び演算に関する各種
データを記憶するためのデータメモリを有し、前記工程
(a)において、前記一の要素プロセッサは、前記境界
部分の前記格子点の前記データを自己の前記データメモ
リに書き込み、前記工程(b)において、前記他の要素
プロセッサは、前記一の要素プロセッサの前記データメ
モリに記憶されている前記境界部分の前記格子点の前記
データを参照し、前記格子点の全てに対し前記格子点の
存在する位置が前記場の中の計算領域の内部か外部か、
あるいは前記計算領域内の物体の内部か外部かを示す内
点ビット及び外点ビットを、さらに前記計算領域境界に
位置する前記格子点に対して境界条件の情報を与える境
界条件ビットを、前記要素プロセッサの前記データメモ
リ上に予め与えておき、前記要素プロセッサには前記内
点ビット、前記外点ビット及び前記境界条件ビットによ
り処理を変更することができる同一の計算プログラムを
用いて前記プロセッシングユニットが演算を行うことを
特徴とする。
【0019】第5の発明に係る情報処理装置における計
算方法は、複数の要素プロセッサと、互いに隣接する前
記要素プロセッサ間を繋ぐ複数のデータバスとを備え、
所定の方程式で記述できる場の支配方程式を求解する際
に用いる格子状に離散化された計算空間を複数の領域に
分割し、前記複数の領域のそれぞれごとに前記要素プロ
セッサを割り当てて、並列的にかつ反復的に演算を行わ
せる情報処理装置を用いた計算方法であって、(a)一
の前記要素プロセッサが、反復的な演算の過程におい
て、隣接する他の前記要素プロセッサにおける演算の過
程に拘わらず、互いに隣接する前記領域同士の境界部分
の格子点のデータを更新する工程と、(b)前記他の要
素プロセッサが、前記一の要素プロセッサに係る前記境
界部分の前記格子点の前記データが前記一の要素プロセ
ッサによって更新されたか否かに拘わらず、前記一の要
素プロセッサに係る前記境界部分の前記格子点の前記デ
ータを前記データバスを介して参照しつつ、反復的な演
算を行う工程とを備え、前記要素プロセッサは、演算を
実行するプロセッシングユニット及び演算に関する各種
データを記憶するためのデータメモリを有し、前記工程
(a)において、前記一の要素プロセッサは、前記境界
部分の前記格子点の前記データを自己の前記データメモ
リに書き込み、前記工程(b)において、前記他の要素
プロセッサは、前記一の要素プロセッサの前記データメ
モリに記憶されている前記境界部分の前記格子点の前記
データを参照し、前記プロセッシングユニットは、前記
格子点の全てに対し前記格子点の存在する位置が前記場
の中の計算領域の内部か、あるいは前記計算領域内の物
体の内部か外部かを示す内点ビット及び外点ビットを、
さらに前記計算領域境界に位置する前記格子点に対して
境界条件の情報を与える境界条件ビットを、前記要素プ
ロセッサの前記データメモリにロードしておき、前記内
点ビット、前記外点ビット及び前記境界条件ビットに従
ってデータフローグラフの処理を変更することができる
同一の布線論理に従ったハードウェア回路をさらに備え
る前記情報処理装置を用いることを特徴とする。
【0020】第6の発明に係る情報処理装置における計
算方法は、複数の要素プロセッサと、互いに隣接する前
記要素プロセッサ間を繋ぐ複数のデータバスとを備え、
所定の方程式で記述できる場の支配方程式を求解する際
に用いる格子状に離散化された計算空間を複数の領域に
分割し、前記複数の領域のそれぞれごとに前記要素プロ
セッサを割り当てて、並列的にかつ反復的に演算を行わ
せる情報処理装置を用いた計算方法であって、(a)一
の前記要素プロセッサが、反復的な演算の過程におい
て、隣接する他の前記要素プロセッサにおける演算の過
程に拘わらず、互いに隣接する前記領域同士の境界部分
の格子点のデータを更新する工程と、(b)前記他の要
素プロセッサが、前記一の要素プロセッサに係る前記境
界部分の前記格子点の前記データが前記一の要素プロセ
ッサによって更新されたか否かに拘わらず、前記一の要
素プロセッサに係る前記境界部分の前記格子点の前記デ
ータを前記データバスを介して参照しつつ、反復的な演
算を行う工程とを備え、前記要素プロセッサは、演算を
実行するプロセッシングユニット及び演算に関する各種
データを記憶するためのデータメモリを有し、前記工程
(a)において、前記一の要素プロセッサは、前記境界
部分の前記格子点の前記データを自己の前記データメモ
リに書き込み、前記工程(b)において、前記他の要素
プロセッサは、前記一の要素プロセッサの前記データメ
モリに記憶されている前記境界部分の前記格子点の前記
データを参照し、計算対象となる前記格子点が隣接する
前記領域との境界上にあるため、前記場の支配方程式を
解くための通信回数が少ない前記格子点についてもダミ
ーの通信を行うことにより全ての前記格子点での通信回
数を平準化することを特徴とする。
【0021】第7の発明に係る情報処理装置における計
算方法は、複数の要素プロセッサと、互いに隣接する前
記要素プロセッサ間を繋ぐ複数のデータバスとを備え、
所定の方程式で記述できる場の支配方程式を求解する際
に用いる格子状に離散化された計算空間を複数の領域に
分割し、前記複数の領域のそれぞれごとに前記要素プロ
セッサを割り当てて、並列的にかつ反復的に演算を行わ
せる情報処理装置を用いた計算方法であって、(a)一
の前記要素プロセッサが、反復的な演算の過程におい
て、隣接する他の前記要素プロセッサにおける演算の過
程に拘わらず、互いに隣接する前記領域同士の境界部分
の格子点のデータを更新する工程と、(b)前記他の要
素プロセッサが、前記一の要素プロセッサに係る前記境
界部分の前記格子点の前記データが前記一の要素プロセ
ッサによって更新されたか否かに拘わらず、前記一の要
素プロセッサに係る前記境界部分の前記格子点の前記デ
ータを前記データバスを介して参照しつつ、反復的な演
算を行う工程とを備え、前記要素プロセッサは、演算を
実行するプロセッシングユニット及び演算に関する各種
データを記憶するためのデータメモリを有し、前記工程
(a)において、前記一の要素プロセッサは、前記境界
部分の前記格子点の前記データを自己の前記データメモ
リに書き込み、前記工程(b)において、前記他の要素
プロセッサは、前記一の要素プロセッサの前記データメ
モリに記憶されている前記境界部分の前記格子点の前記
データを参照し、計算対象となる前記格子点が隣接する
前記領域との境界上にあるため、前記場の支配方程式を
解くための演算回数が少ない前記格子点についてもダミ
ーの演算を行うことにより全ての前記格子点での演算回
数を平準化することを特徴とする。
【0022】第8の発明に係る情報処理装置における計
算方法は、複数の要素プロセッサと、互いに隣接する前
記要素プロセッサ間を繋ぐ複数のデータバスとを備え、
所定の方程式で記述できる場の支配方程式を求解する際
に用いる格子状に離散化された計算空間を複数の領域に
分割し、前記複数の領域のそれぞれごとに前記要素プロ
セッサを割り当てて、並列的にかつ反復的に演算を行わ
せる情報処理装置を用いた計算方法であって、(a)一
の前記要素プロセッサが、反復的な演算の過程におい
て、隣接する他の前記要素プロセッサにおける演算の過
程に拘わらず、互いに隣接する前記領域同士の境界部分
の格子点のデータを更新する工程と、(b)前記他の要
素プロセッサが、前記一の要素プロセッサに係る前記境
界部分の前記格子点の前記データが前記一の要素プロセ
ッサによって更新されたか否かに拘わらず、前記一の要
素プロセッサに係る前記境界部分の前記格子点の前記デ
ータを前記データバスを介して参照しつつ、反復的な演
算を行う工程とを備え、前記要素プロセッサは、演算を
実行するプロセッシングユニット及び演算に関する各種
データを記憶するためのデータメモリを有し、前記工程
(a)において、前記一の要素プロセッサは、前記境界
部分の前記格子点の前記データを自己の前記データメモ
リに書き込み、前記工程(b)において、前記他の要素
プロセッサは、前記一の要素プロセッサの前記データメ
モリに記憶されている前記境界部分の前記格子点の前記
データを参照し、隣接する前記格子点が異なる前記要素
プロセッサにまたがって割り当てられた場合、双方の前
記要素プロセッサで互いに相手方へ送信するためにデー
タを時系列的に2組もち、これらの格子点に対するデー
タが更新された場合、更新されたデータが時系列的に前
の組のデータと比較して所定値以下の変位ならば相手方
のデータの書換えをしないことを特徴とする。
【0023】第9の発明に係る情報処理装置における計
算方法は、複数の要素プロセッサと、互いに隣接する前
記要素プロセッサ間を繋ぐ複数のデータバスとを備え、
所定の方程式で記述できる場の支配方程式を求解する際
に用いる格子状に離散化された計算空間を複数の領域に
分割し、前記複数の領域のそれぞれごとに前記要素プロ
セッサを割り当てて、並列的にかつ反復的に演算を行わ
せる情報処理装置を用いた計算方法であって、(a)一
の前記要素プロセッサが、反復的な演算の過程におい
て、隣接する他の前記要素プロセッサにおける演算の過
程に拘わらず、互いに隣接する前記領域同士の境界部分
の格子点のデータを更新する工程と、(b)前記他の要
素プロセッサが、前記一の要素プロセッサに係る前記境
界部分の前記格子点の前記データが前記一の要素プロセ
ッサによって更新されたか否かに拘わらず、前記一の要
素プロセッサに係る前記境界部分の前記格子点の前記デ
ータを前記データバスを介して参照しつつ、反復的な演
算を行う工程とを備え、前記要素プロセッサは、演算を
実行するプロセッシングユニット及び演算に関する各種
データを記憶するためのデータメモリを有し、前記工程
(a)において、前記一の要素プロセッサは、前記境界
部分の前記格子点の前記データを自己の前記データメモ
リに書き込み、前記工程(b)において、前記他の要素
プロセッサは、前記一の要素プロセッサの前記データメ
モリに記憶されている前記境界部分の前記格子点の前記
データを参照し、隣接する前記要素プロセッサ同士を結
合した細ノード結合と、一つ以上の前記要素プロセッサ
を飛び越して前記要素プロセッサ同士を粗ノード結合コ
ネクションで結合した粗ノード結合とを有する前記情報
処理装置を用いることを特徴とする。
【0024】
【作用】第1の発明におけるデータバスによって、隣接
する要素プロセッサ間でデータ通信を行い、そのデータ
を用いて、要素プロセッサが各々非同期に、かつ独立に
動作して計算することにより、要素プロセッサ間の通信
時間を短縮することができる。
【0025】また、第1の発明における隣接する要素プ
ロセッサ間のデータの通信を、各々の要素プロセッサ毎
に、非同期でかつ繰り返し行うことにより、各要素プロ
セッサ上で行われる演算は、隣接要素プロセッサの処理
を阻害することなく、全く非同期に処理を継続すること
が可能となる。つまり、隣接要素プロセッサの演算を妨
げずに隣接する要素プロセッサ間で通信することができ
る。
【0026】さらに、第1の発明における要素プロセッ
サは、隣接する要素プロセッサのデータメモリを直接参
照することによって、互いに隣接する要素プロセッサ間
のデータの通信を、容易に、プロセッシングユニット毎
に、非同期でかつ繰り返し行うことができる。
【0027】さらにまた、第1の発明におけるプロセッ
シングユニットは、格子点の種類に関わらず同一の布線
論理に従ったハードウェア回路によって計算ができるよ
うに、格子点の全てに対し格子点の存在する位置が場の
中の計算領域の内部か、あるいは計算領域内の物体の内
部か外部かを示す内点ビット及び外点ビットを、さらに
計算領域境界に位置する格子点に対して境界条件の情報
を与える境界条件ビットを、要素プロセッサのデータメ
モリにロードしておき、内点ビット、外点ビット及び境
界条件ビットに従ってデータフローグラフの処理を変更
する。
【0028】第2の発明におけるデータバスによって、
隣接する要素プロセッサ間でデータ通信を行い、そのデ
ータを用いて、要素プロセッサが各々非同期に、かつ独
立に動作して計算することにより、要素プロセッサ間の
通信時間を短縮することができる。
【0029】また、第2の発明における隣接する要素プ
ロセッサ間のデータの通信を、各々の要素プロセッサ毎
に、非同期でかつ繰り返し行うことにより、各要素プロ
セッサ上で行われる演算は、隣接要素プロセッサの処理
を阻害することなく、全く非同期に処理を継続すること
が可能となる。つまり、隣接要素プロセッサの演算を妨
げずに隣接する要素プロセッサ間で通信することができ
る。
【0030】さらに、第2の発明における要素プロセッ
サは、隣接する要素プロセッサのデータメモリを直接参
照することによって、互いに隣接する要素プロセッサ間
のデータの通信を、容易に、プロセッシングユニット毎
に、非同期でかつ繰り返し行うことができる。
【0031】さらにまた、第2の発明においては、隣接
する要素プロセッサ同士を結合した細ノード結合と、一
つ以上の要素プロセッサを飛び越して要素プロセッサ同
士を粗ノード結合コネクションで結合した粗ノード結合
とを有することで、粗ノード結合と細ノード結合とを用
いて計算を進め、精度を落とすことなく計算時間の短縮
を行うことができる。
【0032】第3の発明におけるデータバスによって、
隣接する要素プロセッサ間でデータ通信を行い、そのデ
ータを用いて、要素プロセッサが各々非同期に、かつ独
立に動作して計算することにより、要素プロセッサ間の
通信時間を短縮することができる。
【0033】また、第3の発明における隣接する要素プ
ロセッサ間のデータの通信を、各々の要素プロセッサ毎
に、非同期でかつ繰り返し行うことにより、各要素プロ
セッサ上で行われる演算は、隣接要素プロセッサの処理
を阻害することなく、全く非同期に処理を継続すること
が可能となる。つまり、隣接要素プロセッサの演算を妨
げずに隣接する要素プロセッサ間で通信することができ
る。
【0034】さらに、第3の発明における所定の方程式
が、微分方程式であって、微分方程式の解を差分法を用
いて得る際には、計算の対象としている格子点に対して
隣接する格子点以外の格子点の影響がきわめて小さいた
め、精度の高い解析解を得ることができる。
【0035】第4の発明におけるデータバスによって、
隣接する要素プロセッサ間でデータ通信を行い、そのデ
ータを用いて、要素プロセッサが各々非同期に、かつ独
立に動作して計算することにより、要素プロセッサ間の
通信時間を短縮することができる。
【0036】また、第4の発明における隣接する要素プ
ロセッサ間のデータの通信を、各々の要素プロセッサ毎
に、非同期でかつ繰り返し行うことにより、各要素プロ
セッサ上で行われる演算は、隣接要素プロセッサの処理
を阻害することなく、全く非同期に処理を継続すること
が可能となる。つまり、隣接要素プロセッサの演算を妨
げずに隣接する要素プロセッサ間で通信することができ
る。
【0037】さらに、第4の発明における要素プロセッ
サは、隣接する要素プロセッサのデータメモリを直接参
照することによって、互いに隣接する要素プロセッサ間
のデータの通信を、容易に、プロセッシングユニット毎
に、非同期でかつ繰り返し行うことができる。
【0038】さらにまた、第4の発明におけるプロセッ
シングユニットは、格子点の種類に関わらず同一の計算
プログラムを用いて演算を行うことができるように、格
子点の全てに対し格子点の存在する位置が場の中の計算
領域の内部か外部か、あるいは計算領域内の物体の内部
か外部かを示す内点ビット及び外点ビットを、さらに計
算領域境界に位置する格子点に対して境界条件の情報を
与える境界条件ビットを、要素プロセッサの前記プログ
ラムメモリ上に予め与えておき、要素プロセッサには内
点ビット、外点ビット及び境界条件ビットにより処理を
変更する。
【0039】第5の発明におけるデータバスによって、
隣接する要素プロセッサ間でデータ通信を行い、そのデ
ータを用いて、要素プロセッサが各々非同期に、かつ独
立に動作して計算することにより、要素プロセッサ間の
通信時間を短縮することができる。
【0040】また、第5の発明における隣接する要素プ
ロセッサ間のデータの通信を、各々の要素プロセッサ毎
に、非同期でかつ繰り返し行うことにより、各要素プロ
セッサ上で行われる演算は、隣接要素プロセッサの処理
を阻害することなく、全く非同期に処理を継続すること
が可能となる。つまり、隣接要素プロセッサの演算を妨
げずに隣接する要素プロセッサ間で通信することができ
る。
【0041】さらに、第5の発明における要素プロセッ
サは、隣接する要素プロセッサのデータメモリを直接参
照することによって、互いに隣接する要素プロセッサ間
のデータの通信を、容易に、プロセッシングユニット毎
に、非同期でかつ繰り返し行うことができる。
【0042】さらにまた、第5の発明におけるプロセッ
シングユニットは、格子点の種類に関わらず同一の布線
論理に従ったハードウェア回路によって計算ができるよ
うに、格子点の全てに対し格子点の存在する位置が場の
中の計算領域の内部か、あるいは計算領域内の物体の内
部か外部かを示す内点ビット及び外点ビットを、さらに
計算領域境界に位置する格子点に対して境界条件の情報
を与える境界条件ビットを、要素プロセッサのデータメ
モリにロードしておき、内点ビット、外点ビット及び境
界条件ビットに従ってデータフローグラフの処理を変更
する。
【0043】第6の発明におけるデータバスによって、
隣接する要素プロセッサ間でデータ通信を行い、そのデ
ータを用いて、要素プロセッサが各々非同期に、かつ独
立に動作して計算することにより、要素プロセッサ間の
通信時間を短縮することができる。
【0044】また、第6の発明における隣接する要素プ
ロセッサ間のデータの通信を、各々の要素プロセッサ毎
に、非同期でかつ繰り返し行うことにより、各要素プロ
セッサ上で行われる演算は、隣接要素プロセッサの処理
を阻害することなく、全く非同期に処理を継続すること
が可能となる。つまり、隣接要素プロセッサの演算を妨
げずに隣接する要素プロセッサ間で通信することができ
る。
【0045】さらに、第6の発明における要素プロセッ
サは、隣接する要素プロセッサのデータメモリを直接参
照することによって、互いに隣接する要素プロセッサ間
のデータの通信を、容易に、プロセッシングユニット毎
に、非同期でかつ繰り返し行うことができる。
【0046】さらにまた、第6の発明における要素プロ
セッサは、通信回数が少ない格子点についてもダミーの
通信を行うことにより、通信回数の少ない格子点の通信
回数を増やすことによって、全ての格子点での通信回数
を平準化する。
【0047】第7の発明におけるデータバスによって、
隣接する要素プロセッサ間でデータ通信を行い、そのデ
ータを用いて、要素プロセッサが各々非同期に、かつ独
立に動作して計算することにより、要素プロセッサ間の
通信時間を短縮することができる。
【0048】また、第7の発明における隣接する要素プ
ロセッサ間のデータの通信を、各々の要素プロセッサ毎
に、非同期でかつ繰り返し行うことにより、各要素プロ
セッサ上で行われる演算は、隣接要素プロセッサの処理
を阻害することなく、全く非同期に処理を継続すること
が可能となる。つまり、隣接要素プロセッサの演算を妨
げずに隣接する要素プロセッサ間で通信することができ
る。
【0049】さらに、第7の発明における要素プロセッ
サは、隣接する要素プロセッサのデータメモリを直接参
照することによって、互いに隣接する要素プロセッサ間
のデータの通信を、容易に、プロセッシングユニット毎
に、非同期でかつ繰り返し行うことができる。
【0050】さらにまた、第7の発明における要素プロ
セッサは、演算回数が少ない格子点についてもダミーの
演算を行うことにより、演算回数が少ない格子点の演算
回数を増やすことによって、全ての格子点での演算回数
を平準化する。
【0051】第8の発明におけるデータバスによって、
隣接する要素プロセッサ間でデータ通信を行い、そのデ
ータを用いて、要素プロセッサが各々非同期に、かつ独
立に動作して計算することにより、要素プロセッサ間の
通信時間を短縮することができる。
【0052】また、第8の発明における隣接する要素プ
ロセッサ間のデータの通信を、各々の要素プロセッサ毎
に、非同期でかつ繰り返し行うことにより、各要素プロ
セッサ上で行われる演算は、隣接要素プロセッサの処理
を阻害することなく、全く非同期に処理を継続すること
が可能となる。つまり、隣接要素プロセッサの演算を妨
げずに隣接する要素プロセッサ間で通信することができ
る。
【0053】さらに、第8の発明における要素プロセッ
サは、隣接する要素プロセッサのデータメモリを直接参
照することによって、互いに隣接する要素プロセッサ間
のデータの通信を、容易に、プロセッシングユニット毎
に、非同期でかつ繰り返し行うことができる。
【0054】さらにまた、第8の発明における要素プロ
セッサは、隣接する格子点が異なる要素プロセッサにま
たがって割り当てられた場合、双方の要素プロセッサで
互いに相手方から送信されたデータを時系列的に2組も
ち、これらの格子点に対するデータが更新された場合、
更新されたデータが時系列的に前の組のデータと比較し
て所定値以下の変位ならば相手方のデータの書換えをし
ないようにすることで、要素プロセッサ間の不要な通信
を省くことができる。
【0055】第9の発明におけるデータバスによって、
隣接する要素プロセッサ間でデータ通信を行い、そのデ
ータを用いて、要素プロセッサが各々非同期に、かつ独
立に動作して計算することにより、要素プロセッサ間の
通信時間を短縮することができる。
【0056】また、第9の発明における隣接する要素プ
ロセッサ間のデータの通信を、各々の要素プロセッサ毎
に、非同期でかつ繰り返し行うことにより、各要素プロ
セッサ上で行われる演算は、隣接要素プロセッサの処理
を阻害することなく、全く非同期に処理を継続すること
が可能となる。つまり、隣接要素プロセッサの演算を妨
げずに隣接する要素プロセッサ間で通信することができ
る。
【0057】さらに、第9の発明における要素プロセッ
サは、隣接する要素プロセッサのデータメモリを直接参
照することによって、互いに隣接する要素プロセッサ間
のデータの通信を、容易に、プロセッシングユニット毎
に、非同期でかつ繰り返し行うことができる。
【0058】さらにまた、第9の発明においては、隣接
する要素プロセッサ同士を結合した細ノード結合と、一
つ以上の要素プロセッサを飛び越して要素プロセッサ同
士を粗ノード結合コネクションで結合した粗ノード結合
とを有することで、粗ノード結合と細ノード結合とを用
いて計算を進め、精度を落とすことなく計算時間の短縮
を行うことができる。
【0059】
【発明の実施の形態】<実施の形態1>以下、この発明
の第1実施の形態を図について説明する。図1はこの発
明の第1実施の形態におけるマルチプロセッサの全体構
成図である。図1において、1は演算処理を統括するホ
ストコンピュータ、2はホストコンピュータ1の制御の
下で演算処理を行う情報処理装置本体、3は空間的に配
置され情報処理装置2を構成する要素プロセッサ、4は
ホストコンピュータ1と情報処理装置2間を結び情報の
やりとりを行うためのネットワーク、5は各要素プロセ
ッサ3内に設けられ演算を行うためのプロセッシングユ
ニット、6は各要素プロセッサ3内に設けられ情報を格
納するためのメモリ部、7は空間的に配置された要素プ
ロセッサ3相互の間を結び情報のやりとりを行うための
要素プロセッサ間コネクションである。
【0060】図1の情報処理装置2においては、要素プ
ロセッサ3同士の結合状態は格子状に配置するニアネイ
バメッシュの場合について示すが、例えばリニアアレ
イ、リング、スター、ツリー、シストリックアレイ、完
全結合等の他の結合方式であってもよい。
【0061】次に動作について説明する。ホストコンピ
ュータ1は、ネットワーク4を介して情報処理装置2に
対し、初期条件および境界条件の設定、情報処理装置2
内部の演算の収束判定、情報処理装置2における演算結
果の出力などを行う。各要素プロセッサ3は、要素プロ
セッサ間コネクション7を介して互いに情報交換できる
ように結ばれており、ネットワーク4を介してホストコ
ンピュータ1から情報処理装置2へ送られる制御命令に
従い、初期条件および境界条件を設定されたり、計算の
収束判定のための情報を送出したり、計算結果の送出を
行う。ホストコンピュータ1には、パーソナルコンピュ
ータあるいはワークステーション等が用いられ、ネット
ワーク4を介して情報処理装置2と接続される。
【0062】各要素プロセッサ3は、プロセッシングユ
ニット5、メモリ部6から構成され、ネットワーク4及
び要素プロセッサ間コネクション7を介してホストコン
ピュータ1から送られてきた初期条件・境界条件をメモ
リ部6に格納し、ホストコンピュータ1からの計算開始
トークンを受け取った後、プロセッシングユニット5に
おいて直ちに所定の演算処理を独立に行い、処理の済ん
だデータをメモリ部6に書き込み、或いは隣接要素プロ
セッサ3のメモリ部6に書き込み、更に計算を続ける機
能を有する。
【0063】要素プロセッサ3は、ハードウエアの構成
方式によって3種類に大別される。図2乃至図4は、種
々の要素プロセッサ3a〜3cのハードウエア構成方式
の例を示すブロック図である。
【0064】各図において、8はメモリ部6内に設けら
れたデータメモリ、9は要素プロセッサ3内部に設けら
れプロセッシングユニット5とデータメモリ8間を結び
情報のやりとりを行うためのプロセッサ内データバス、
10はプロセッシングユニット5内部に設けられた浮動
小数点演算器、11はプロセッシングユニット5内部に
設けられたプログラムメモリ、12は同じくプロセッシ
ングユニット5内部に設けられた機能モジュール、13
はプロセッシングユニット5内に設けられ布線論理に従
ったデータフローグラフ状のハードウエア回路、14は
データフローグラフ13に従って配置された演算器、1
5はデータフローグラフ13に従って演算器14を結ん
だデータ線である。
【0065】微分方程式の求解に必要な全演算をハード
ウエアで実現することによって命令レベルでの最大の並
列度を実現可能となる。領域分割法にもとづいたマルチ
プロセッサ解法においては、各プロセッサの命令レベル
での並列性はプロセッサのアーキテクチャに依存してお
り、微分方程式の解法自体が持つ並列性に準処するもの
ではない。図2は、データ処理の流れを布線論理に基づ
くデータフローグラフで実現した要素プロセッサの構成
図である。
【0066】<実施の形態2>この発明の第2実施の形
態を図について説明する。図2はこの発明の第2実施の
形態による情報処理装置を構成する要素プロセッサを示
すブロック図である。図2において、プロセッシングユ
ニット5内には、例えば、各演算器14が図5に示す布
線論理に従ったデータフローグラフ13に沿って配置さ
れ、データ線15によって結線されている。図5は基本
処理の流れを示したデータフローグラフである。図にお
いて、16は演算ノードであり、アーク17に沿って入
力されるデータに対して所定の演算を行い、演算結果を
アーク17に沿って次の演算ノードへ出力する。
【0067】演算器14は、例えば、四則演算、論理演
算、メモリ読み出し・書き込み命令、絶対値、指数演算
等を実行する機能を持っている。
【0068】ネットワーク4を介してホストコンピュー
タ1より送られてくるトークン(ノードアドレスあるい
は計算開始をコールするメッセージ)が、さらにプロセ
ッサ内データバス9を介してプロセッシングユニット5
に入ると、要素プロセッサ3aはまずデータメモリ8、
例えばDRAM(Dynamic Randum Access Memory)、S
RAM、フラッシュメモリ等にアクセスし、蓄えられて
いる自己のプロセッシングユニット5の状態量と、隣接
するプロセッシングユニット5の状態量を吸い上げて必
要なデータが揃えられる。それぞれのデータは演算器1
4の列をデータフローグラフ13の上部から順に通り次
々と演算加工され、自動的に最終演算器14にまで到達
する。
【0069】各データは演算器14の列をデータフロー
グラフ13の上部から順に通り次々と演算加工され、自
動的に最終演算器14にまで到達する一連の演算が終了
すると、プロセッシングユニット5は計算結果をプロセ
ッサ内データバス9を介してデータメモリ8に書き込む
と同時に、要素プロセッサ間コネクション7を通して隣
接する要素プロセッサ3aのデータメモリ8に書き込ん
で一連の演算処理を終了する。この場合、プロセッシン
グユニット5はデータフローグラフ13に記述された一
連の処理のみを実行する専用計算機となり、高い演算処
理速度を得ることができる。
【0070】<実施の形態3>次に、この発明の第3実
施の形態を図について説明する。図3はこの発明の第3
実施の形態による情報処理装置を構成する要素プロセッ
サを示すブロック図である。各要素プロセッサ内に書き
換え可能なプログラムメモリを配置することによって、
専用計算機としての機能に柔軟性を持たせることができ
る。図3に示すプロセッシングユニット5は、データフ
ローグラフ13に従った演算器14の配列の代わりに浮
動小数点演算器10とプログラムメモリ11により構成
される。演算はネットワーク4を介してホストコンピュ
ータ1から送られてくるプログラムをさらに要素プロセ
ッサ間コネクション7を介して各要素プロセッサ3bの
プログラムメモリ11にロードして行われる。
【0071】プログラムメモリ11の内容は書き換えが
可能であり、ホストコンピュータからネットワーク4を
介してプロセッシングユニット5内のプログラムメモリ
11へ新たなプログラムをロードすることによりプログ
ラムを変更できる。従って、微分方程式の求解のための
アルゴリズムを変更したり、機能を追加したりする際に
は、新しいプログラムをプログラムメモリ11にロード
するのみで可能となる。
【0072】以上のように演算の高速化のために専用化
した構成のマルチプロセッサでも、プログラムを書き換
えることで、アルゴリズムの変更、機能の追加など柔軟
な機能を有することが可能となる。図3に示したプロセ
ッシングユニットによれば、図2のプロセッシングユニ
ットと比較して、プログラムを変更することによって解
法アルゴリズムを自由に選択・変更でき、計算機の適用
範囲が大きく広がる。
【0073】要素プロセッサ内に内容の書き換えが可能
なプログラムメモリを設けると、プログラムメモリの内
容を書き換えることによってプログラムを変更し、微分
方程式の求解のためのアルゴリズムやスキームを変更し
たり、機能を追加したりすることを同一ハードウェアで
実現することができる。図1および図3は、各々この発
明の第1実施の形態における各要素プロセッサのプログ
ラムメモリに新たなアルゴリズム、スキーム或いはモデ
ルをロードするための情報処理装置の構成及び要素プロ
セッサの構成を示している。
【0074】図3においては、プログラムメモリ11の
内容は書き換えが可能であり、ホストコンピュータ1か
らネットワーク4を介してプロセッシングユニット5内
のプログラムメモリ11へ新たなプログラムをロードす
ることによりプログラムを変更できる。各要素プロセッ
サ3bにおいては、プログラムメモリ11に書き込まれ
たソフトウェアに従って浮動小数点演算器10を作動さ
せて演算を実施する構成となっている。要素プロセッサ
3bに対する新たなアルゴリズム、スキーム、モデルに
より書かれたプログラムがホストコンピュータ1からイ
ンプットされると、全ての要素プロセッサ3b上のプロ
グラムメモリ11がリセットされ、プログラムがネット
ワーク4及び要素プロセッサ間コネクション7を介して
各要素プロセッサ3bに割り振られ、プログラムメモリ
11のプログラムが書き替えられ、完了次第各要素プロ
セッサ3bは計算を開始できる状態となる。
【0075】以上のように、演算の高速化のために専用
化した構成のマルチプロセッサでも、プログラムを書き
換えることで、スタティックにモデル、アルゴリズム、
スキームを再構成でき、柔軟な機能を有することが可能
となる。
【0076】要素プロセッサ内に、ホストコンピュータ
からの指令によって内容の書き換えが可能なデータメモ
リを設けると、データメモリの内容を書き換えることに
よって境界条件を変更し、様々な解析モデルの計算を同
一ハードウェアで実現することができる。
【0077】図1の各要素プロセッサ3は、演算器14
がデータ線15で結ばれたデータフローグラフ13状の
ハード回路を持つか、またはプログラムメモリ11に書
き込まれたソフトウェアに従って浮動小数点演算器10
を作動させるかして演算を実施するよう構成できる。ま
た、ホストコンピュータ1には初期条件設定プログラム
が搭載されており、この設定プログラムによって境界条
件を自由に設定することができる。ホストコンピュータ
1に計算の境界条件がインプットされると、初期条件設
定プログラムが起動され、全ての要素プロセッサ上のデ
ータメモリ8がリセットされ、計算の初期条件及び境界
条件がネットワーク4及び要素プロセッサ間コネクショ
ン7を介して各要素プロセッサ3に割り振られ、完了次
第各要素プロセッサ3は計算開始の待機状態となる。
【0078】従って、同一のマルチプロセッサ構成の情
報処理装置2を用いて、様々な境界条件や初期条件に対
する演算が、ホストコンピュータに条件を入力するとい
う簡単な手続きで実現できる。
【0079】<実施の形態4>次に、この発明の第4実
施の形態を図について説明する。図4はこの発明の第4
実施の形態による情報処理装置を構成する要素プロセッ
サを示すブロック図である。図4に示すプロセッシング
ユニット5は、図2及び図3に示したプロセッシングユ
ニットの構成を複合した機能を有するものであり、図4
に示すプロセッシングユニット5においては、微分方程
式の解法に頻出する演算処理機能が機能モジュール12
の中にハード的に回路化して構成されている。計算を実
施する際には、プログラム中に機能モジュール12をコ
ールするコマンドを記述して、必要に応じて機能モジュ
ール12を呼び出して機能させる。従って、図3に示し
たプロセッシングユニットのように、演算処理の全てに
対してソフトウエアが浮動小数点演算器10を機能させ
る場合と比較して、その間の計算時間を大幅に削減する
ことができる。
【0080】上記の機能を有する各要素プロセッサ3c
は、データ通信用の要素プロセッサ間コネクション7に
よって隣接要素プロセッサ3cと格子状に接続されてお
り、この要素プロセッサ間コネクション7を介して隣接
要素プロセッサ3c間のデータ通信が行われる。また、
全ての要素プロセッサ3cあるいは周辺要素プロセッサ
3cとホストコンピュータ1の間にはネットワーク4が
設けられ、収束判定フラグあるいは計算結果の通信が行
われる。
【0081】<実施の形態5>次に、この発明の第5実
施の形態について図6を用いて説明する。第1実施の形
態に記載の2次元平面上に配した要素プロセッサ3から
構成された2次元計算基板を3次元的に接続することで
3次元計算への拡張も可能である。図6は、2次元計算
基板を3次元的に接続して3次元計算を行うための要素
プロセッサの構成を示す図である。
【0082】図において、1はホストコンピュータ、3
は3次元的に配置された要素プロセッサ、5は要素プロ
セッサ3内に設けられたプロセッシングユニット、6は
要素プロセッサ3内に設けられたメモリ部、4はネット
ワーク、18は要素プロセッサ3を2次元状に接続して
構成される2次元計算基板である。この場合、2次元計
算基板18の時間方向のパイプライン化とは異なり、2
次元計算基板18間に設けられたネットワーク4は、空
間積分のためのデータ授受に使用される。また、要素プ
ロセッサ3同士の3次元アレイ状結合状態も、ネットワ
ーク4の配線を変更することで、格子型トポロジー、ハ
イパーキューブ或いはパイプライン等に自由に変更する
ことが可能である。
【0083】なお、上記実施の形態においては、要素プ
ロセッサ3同士の結合状態は格子状に配置するニアネイ
バメッシュの場合について説明したが、例えば、コーダ
ルリング、3キューブ、2進4キューブ等の他の結合方
式であっても同様の効果を奏することができる。
【0084】<実施の形態6>次に、この発明の第6実
施の形態を図について説明する。以上示した実施の形態
による構成の情報処理装置2の使用方法ついて説明す
る。図1及び図6に、この発明の第1実施の形態におけ
る各要素プロセッサ3に初期条件及び境界条件を送り出
すためのマルチプロセッサ構成の情報処理装置を示し
た。
【0085】情報処理装置2は、各要素プロセッサ3に
おいて、図2に示したように演算器14がデータ線15
で結ばれたデータフローグラフ13状のハード回路を持
つか、または図3及び図4に示したようにプログラムメ
モリ11に書き込まれたソフトウエアに従って浮動小数
点演算器10を作動させるかして演算を実施する構成と
なっている。要素プロセッサ3に対する計算の初期条件
及び境界条件がホストコンピュータ1においてインプッ
トされると、全ての要素プロセッサ3上のデータメモリ
8がリセットされ、計算の初期条件及び境界条件がネッ
トワーク4及び要素プロセッサ間コネクション7を介し
て各要素プロセッサ3に割り振られ、完了次第各要素プ
ロセッサ3は計算開始の待機状態となる。
【0086】従って、情報処理装置2では、同一のマル
チプロセッサの構成を用いて、様々な境界条件や初期条
件に対する演算が、ホストコンピュータに条件を入力す
るという簡単な手続きで実現できる。
【0087】情報処理装置2の使用例として、領域分割
法に基づいた流体数値解析について説明する。連続体で
ある流体は、一般的に連続式とナビエ・ストークス方程
式と呼ばれる非線形性の強い方程式で記述される。これ
らの偏微分方程式によって記述される場の支配方程式を
有限差分法によって解く場合、まず対象とする現象と領
域を空間的・時間的に有限の大きさを持つ微小要素(格
子)に分割する。この格子上で偏微分方程式で表される
支配方程式を離散化して差分式に変形し、差分式を求解
することで解を得る。差分解法では、微小な空間要素が
有する状態量は、ごく近傍の要素が有する状態量にのみ
影響を受けるが、この効果は計算上では隣接要素の持つ
状態量に演算処理を施すかたちで実現される。つまり、
空間的に離れた微小要素は、お互いに影響を与えること
なく隣接する微小要素の影響のみを考慮しさえすれば、
独立して計算可能であることがわかる。
【0088】例えば、非圧縮性流体をSIMPLE(Se
mi-Implicit Method for Pressure-Linked Equatiens)
法(仮定圧力下で運動方程式を解き、連続性を満たさな
い分だけ、圧力及び速度を補正しながら最終的に連続則
を満足する解を得る手法、例えば、S.V.Patankar,Numer
ical Heat Transfer and Fluid Flow,(1980),McGRAW-HI
LL BOOK COMPANYに記載されている。)で解くことを考
える。
【0089】図70は、従来より行われているSIMP
LE法による流体数値解析の計算手順を示すフローチャ
ートである。図において、211はナビエ・ストークス
の運動方程式を解くルーチン群、212は圧力補正式を
解くルーチン群、213は速度・圧力の修正を行うルー
チン、214は非線形性収束のための反復サイクル、2
15は時間進行のための計算サイクルを表す。すなわ
ち、SIMPLE法による熱流体解析の手順は、ルーチ
ン群211による離散化されたナビエ・ストークス運動
方程式の求解、ルーチン群212による圧力補正式の求
解、そしてルーチン213による速度・圧力の決定方程
式の求解を順次実施し、さらに時間進行のための計算サ
イクル215を繰り返すことで数値解析解を得る。
【0090】最近盛んに行われているマルチプロセッサ
を使った並列解法においては、全計算空間を複数の領域
に分割し、各領域ごとに要素プロセッサを割り振って、
要素プロセッサ間では境界の状態量のみをデータ通信す
るという領域分割法が主流となっている。
【0091】ここで問題となるのが要素プロセッサ3間
の通信に関する同期待ちである。現在の汎用並列プロセ
ッサでは、プロセッサ間のデータ通信をパケット通信な
どによる低速のリモートメモリアクセスで実現している
ため、要素プロセッサ数に対して通信量をできる限り少
なくした粒度の大きい計算アルゴリズムを使用し、通信
同期待ちをできる限り回避するテクニックが必要とな
る。しかし、超並列に要素プロセッサを構成した場合の
同期待ちの急激な増加は避けられず、プロセッサ数に比
例した並列度は期待できない。
【0092】そこで、運動方程式および圧力修正方程式
が共に隣接格子点の状態量を参照するのみで解かれて
も、その解は十分な精度を有することに着目して、各格
子点についてそれぞれ独自に状態量を計算する新しいS
IMPLE法について示す。図7は、この実施の形態に
おける格子点=1,=2,・・・,=nが他の格子点計
算に割り込み動作をすることなく、それぞれ独立に状態
量を計算する演算アルゴリズムを示したフローチャート
である。
【0093】図において、20はナビエ・ストークスの
運動方程式を解くルーチン群、21は圧力補正式を解く
ルーチン群、22は速度・圧力の修正を行うルーチン、
23は非線形性収束のための反復サイクル、24は時間
進行のための計算サイクル、25は格子点=1,=2,
・・・,=n毎に割り当てられた要素プロセッサ3のル
ーチン群である。
【0094】ここで、非圧縮性2次元層流の流体数値解
析を例に取り、具体的なアルゴリズムを示す。温度場を
考慮しない場合、流体は以下の3つの無次元化方程式に
よって記述される。
【0095】連続式は、数1に示され、運動量保存式
は、数2及び数3に示される。
【0096】
【数1】
【0097】
【数2】
【0098】
【数3】
【0099】ここで各記号は、uがx方向速度成分、v
がy方向速度成分、pが圧力、Reがレイノルズ数を表
す。数1〜数3は一意に数4で表現できる。ここでφは
任意変数、Γは拡散項、Su,Spは生成項を表し、以
下の表1の値をとる。
【0100】
【数4】
【0101】
【表1】
【0102】数4を差分化する際に必要となるコントロ
ールボリュームを図8に示す。任意変数φをコントロー
ルボリューム26の中心点P27に置き、隣接するφの
位置をE(East)28、W(west)29、N
(North)30、S(South)31と定義して
それらの中心点(コントロールボリューム26の境界と
格子線との交点)を小文字(e,w,n,s)で表示す
る。スタッガード(Staggered)グリッドであ
るため、スカラー量は大文字の位置に、ベクトル量(速
度)を小文字の位置に配置する。さて、数4を、時間差
分スキームとしてオイラー前進(Euler expl
icit)法を適用し、コントロールボリューム26に
出入りする流速を考えて離散化すると、数5のようにな
る。
【0103】
【数5】
【0104】φが格子間で線形に分布し、かつe,w,
n,sがそれぞれPとE、PとW、PとN、PとSの中
点であるとすると、数6から数9が仮定できる。
【0105】
【数6】
【0106】
【数7】
【0107】
【数8】
【0108】
【数9】
【0109】数5をコントロールボリュームにわたって
積分すると、数10が得られる。
【0110】
【数10】
【0111】ここで、対流項Cと拡散項Dに関して数1
1及び数12のように定義する。ここで、添字はコント
ロールボリューム26の境界面の位置を示す。
【0112】
【数11】
【0113】
【数12】
【0114】数11および数12の定義を使うと数10
は数13のようになる。
【0115】
【数13】
【0116】この数13に空間差分スキームとしてハイ
ブリッド・スキームを適用し、φに関して整理すると、
数14のようになる。
【0117】
【数14】
【0118】時間差分法としては陽解法、陰解法、半陰
解法等様々なものが考えられるが、ここでは最終的に定
常解を求めることを目標とし、収束加速計算技法として
数13の右辺に含まれるφpを次時間の値φp n+1で評価
すると、数14より、数15の離散化方程式を得ること
ができる。
【0119】
【数15】
【0120】SIMPLE法によって導出した離散化方
程式の未知数である速度と圧力の関係付けを行う。まず
運動方程式数2、数3の離散化方程式を導く。変数φは
u、vであり、速度uについては数16から数19を定
義すると、離散化方程式は数20のようになり、速度v
については数21から数24を定義すると、離散化方程
式は数25のようになる。
【0121】速度uについてのw面の係数を数16に示
す。
【0122】
【数16】
【0123】速度uについてのe面の係数を数17に示
す。
【0124】
【数17】
【0125】速度uについてのs面の係数を数18に示
す。
【0126】
【数18】
【0127】速度uについてのn面の係数を数19に示
す。
【0128】
【数19】
【0129】
【数20】
【0130】速度vについてのw面の係数を数21に示
す。
【0131】
【数21】
【0132】速度vについてのe面の係数を数22に示
す。
【0133】
【数22】
【0134】速度vについてのs面の係数を数23に示
す。
【0135】
【数23】
【0136】速度vについてのn面の係数を数24に示
す。
【0137】
【数24】
【0138】
【数25】
【0139】数20を解くことによってP点での仮定流
速u*を求めることができる。数25を解くことによっ
てP点での仮定流速v*を求めることができる。数2
0、数25から得られた仮定値u*,v*と、同式を導く
際に必要なFpを使って圧力補正方程式の係数を決定
し、圧力補正値p´を求める。数26に圧力補正方程式
を示す。ただし、式中の添字eとnは各々East側、
North側の要素プロセッサから転送されてきた値で
あることを示す。
【0140】
【数26】
【0141】速度および圧力はWest側とSouth
側の要素プロセッサから転送されてきた圧力補正値p´
を用いて数27から数29の式で計算される。
【0142】
【数27】
【0143】
【数28】
【0144】
【数29】
【0145】計算格子点は、一般に離散化された点は物
体の内部であったり、壁の近傍であったり、流入・流出
口であったりと様々な種類が考えられる。計算プログラ
ム(ソフトウエア)あるいは演算回路(ハードウエア)
を点の種類にあわせて何種類も用意するのは、プログラ
ミングを大変繁雑にしてしまう。そこで、各点の位置情
報を内点及び外点ビットと境界条件ビットの形で初期条
件として各要素プロセッサのメモリ上に与えておき、計
算自体は全く同一のプログラムを実行できるようにす
る。
【0146】計算領域の内点と外点の区別もビットを使
用して行う。離散化点が物体内部にあるときを外点、流
体部にあるときを内点とする。内点・外点ビットは変数
u,v,pそれぞれについて定義され、内点を1(o
n)、外点を0(off)とする。例えば、uに対する
フラグをbit(u)とすると、uの離散化方程式の係
数を決定する前に次の演算処理を施す。
【0147】
【数30】
【0148】境界条件については、以下に示す種類の境
界条件の設定が可能とする。変数u,v,pのそれぞれ
がウォール・ファンクション(Wall Function)を使用
するか否かを示すフラグを持つ。但し、どの面に壁面が
在るかを判断するためにw,e,s,nそれぞれの方向
別にビットを設定する。u及びvの離散化方程式の係数
を決定する前に数31から数33の演算処理を施す。
【0149】ウォール・ファンクション(Wall Functio
n)を使った壁面条件を数31に示す。
【0150】
【数31】
【0151】勾配0の流出条件を数32に示す。
【0152】
【数32】
【0153】境界値固定を数33に示す。
【0154】
【数33】
【0155】数32と数33を合わせて変数φpは数3
4のように記述できる。
【0156】
【数34】
【0157】各計算セルで必要な演算に着目すると、流
体の支配方程式の特性上、境界条件の違いこそあれほと
んど同一の演算を行うことになる。上記の境界条件設定
に従い、各種のビットを立てることによってデータメモ
リ8上に初期的に境界条件をマッピングしさえすれば、
計算セルが計算空間の境界、内点、外点のどれに位置す
るかに関わらず同一のプログラムを使用できる。従っ
て、要素プロセッサ3のプログラムメモリ11上には1
格子点の物理量を計算するのに必要な一連の演算を記述
するプログラムをロードするだけでよい。その1種類の
演算プログラムを使用し、計算格子を順次スイープして
計算するには、まず計算格子の格子点番号(またはデー
タメモリ8上のベースアドレス)を入力トークンとして
要素プロセッサ3内の循環型パイプライン(図21の8
4)上に流す、例えば入力トークンである格子点番号を
2とすれば、演算器は2番目の格子点に割り振られたメ
モリ領域とアクセスをして計算を開始する。トークンの
入力には順序制限はないので、1,2,3・・・とシー
クエンシャルに計算を進めることはもちろん、ランダム
に格子番号を入力することも可能である。
【0158】図9は、要素プロセッサに設けられたデー
タメモリ内部のデータ構造を示す図である。図に示すよ
うに、要素プロセッサ3に設けられたデータメモリ8の
内部は、1プロセッサが受け持つ格子点数と同数のパー
ティション32に分割され、それぞれのパーティション
32には1格子点を計算するのに必要となるデータがマ
ッピングされている。
【0159】図10及び図11は、以上述べてきたアル
ゴリズムの流れを示すフローチャートである。図におい
て、33ないし63は各々以下に示すAからIの各計算
機能である。
【0160】(a)要素プロセッサ3は、x方向運動方
程式を解いて予測値u*を求める機能を有する。図にお
いて、33はuのw面に対する計算で、x方向運動方程
式の係数Fwを求める機能A(u)、34はuのe面に
対する計算で、x方向運動方程式の係数Feを求める機
能B(u)、35はuのs面に対する計算で、x方向運
動方程式の係数Fsを求める機能C(u)、36は、u
のn面に対する計算で、x方向運動方程式の係数Fn
求める機能D(u)、37はx方向運動方程式の生成項
Gを求める機能E(u)、43はx方向運動方程式の係
数Fpを求め、各種係数と生成項より予測値u*を求める
機能G(u)である。
【0161】(b)要素プロセッサ3は、y方向運動方
程式を解いて予測値v*を求める機能を有する。図にお
いて、38はvのw面に対する計算で、y方向運動方程
式の係数Fwを求める機能A(v)、39はvのe面に
対する計算で、y方向運動方程式の係数Feを求める機
能B(v)、40はvのs面に対する計算で、y方向運
動方程式の係数Fsを求める機能C(v)、41はvの
n面に対する計算で、y方向運動方程式の係数Fnを求
める機能D(v)、42はy方向運動方程式の生成項G
を求める機能E(v)、44はy方向運動方程式の係数
pを求め、各種係数と生成項より予測値v*を求める機
能G(v)である。
【0162】(c)要素プロセッサ3は、圧力補正値p
´を求める機能を有する。図において、51はp´方程
式の生成項Gを求める機能F、52は運動方程式の係数
とFで求めた生成項をもとにp´の方程式を解いてp´
を求める機能G(p)である。
【0163】(d)要素プロセッサ3は、流速と圧力を
補正する機能を有する。図において、55はp´をもと
にu,v,pを求める機能Hである。
【0164】(e)要素プロセッサ3は、境界条件を設
定する機能を有する。図において、45,46,57〜
59は初期値で与えられたビットデータをもとに境界条
件を設定する機能Iである。
【0165】(f)要素プロセッサ3は、設定された境
界条件を転送する機能を有する。図において、47,4
8,53,56,60〜62はそれぞれ前の工程で設定
された境界条件を隣接する要素プロセッサ3に転送する
機能である。
【0166】(g)要素プロセッサ3は、計算された境
界条件が収束したか否かを判定する機能を有する。4
9,50,54,63はそれぞれその前の機能I45,
46,57〜59で設定された境界条件が収束したか否
かを判定する機能である。
【0167】これらの諸機能を図10及び図11に示す
フローチャートに従って接続することによって1格子点
分の計算コードが完成する。
【0168】次に、1つの格子点を計算するためのアル
ゴリズムを要素プロセッサ3のプログラムメモリ11上
にマッピングする。マッピングされたプログラムは、ホ
ストコンピュータ1からネットワーク4及び要素プロセ
ッサ間コネクション7を介して送られてくる格子点番号
情報タグを入力トークンとして起動する。1要素プロセ
ッサ3上に複数の格子点がマッピングされた場合、要素
プロセッサ3間を要素プロセッサ間コネクション7を介
して転送されるデータは、複数の格子点で構成される各
分割領域の最外郭部に位置する格子点が保有する情報で
ある。そこで、要素プロセッサ3間に配置された要素プ
ロセッサ間コネクション7を介して、隣接要素プロセッ
サ上のデータメモリに直接アクセスすることによってプ
ロセッサ間のデータ転送を行い、格子点間のデータ転送
オーバーヘッドを排除でき非同期制御による高速な解析
が可能となる。
【0169】さらに、1要素プロセッサ上に1つの格子
点をマッピングし、計算格子点数と少なくとも同数の要
素プロセッサ3を使用し、後述するマルチポートメモリ
を要素プロセッサ3の間に配し、それらを要素プロセッ
サ間コネクション7で接続した超並列システムを構築
し、隣接要素プロセッサ3間で非同期に密なデータ通信
を取りながら互いの要素プロセッサ3の処理を阻害する
ことなくデータ授受を行って収束解を得ることも可能で
ある。
【0170】また、1要素プロセッサ3上に複数の格子
点をマッピングし、要素プロセッサ間の通信方式を同期
方式とすることによって、要素プロセッサ3間の同期を
とった解析も可能である。この場合も、要素プロセッサ
3内部のプロセッシングユニット5が偏微分方程式の解
法に適した専用の高速演算機能を有するため、従来の汎
用プロセッサを使用した同期解法に比べ、大幅な処理速
度向上が可能となる。
【0171】なお、上記実施の形態においては1つの格
子点を計算するためのアルゴリズムを要素プロセッサ3
のプログラムメモリ11にマッピングする場合について
説明したが、演算器14をデータ線15で接続してデー
タフローグラフ13状のハード回路を形成しても同様の
効果が得られることは言うまでもない。
【0172】また、隣接する要素プロセッサ間の通信
は、あるプロセスから他のプロセスへメッセージ(デー
タ)を送るときにメッセージのアドレス符号によって適
切なプロセスへメッセージを送るメッセージ通信で、か
つ複数のデータに対して複数の異なる(同一でもよい
が)命令を並列に実行することで、効率の良い並列処理
が可能となる。
【0173】<実施の形態7>次にこの発明の第7実施
の形態について説明する。時間微分の近似法には参照す
る状態量の時間ステップの違いから、オイラー前進法、
オイラー後退法、2次精度のクランク=ニコルソン法、
3次精度のリチャードソン法等がある。例えば、3次精
度のリチャードソン法を考えると、現在の時刻をnとし
た場合、次時刻n+1の値を求めるのに必要な状態量
は、時刻n−1,nの値により決定される。従来のノイ
マン型コンピュータを使った手法では、時刻n−1,n
の値を余分に共通メモリ上に保存しておく必要があった
ため、メモリの容量不足から計算規模の制限が加えられ
ていた。
【0174】このような、メモリ不足の問題も、第1実
施の形態に記載の2次元平面上に配した要素プロセッサ
3から構成された2次元計算基板を複数枚用いることに
よって容易に解決される。図12は、2次元空間につい
ての時間微分の近似のための情報処理装置の構成を示す
図である。図において、65ないし67は各々要素プロ
セッサ3を2次元状に接続して構成される2次元計算基
板であり、65は時刻n−1に対応する値の計算を担当
する2次元計算基板、66は時刻nに対応する値の計算
を担当する2次元計算基板、67は時刻n+1に対応す
る値の計算を担当する2次元計算基板である。また、4
は各2次元計算基板をパイプライン状に結びかつホスト
コンピュータ1とも接続して情報のやりとりを行うネッ
トワークである。
【0175】例えば、リチャードソン法の場合、時刻n
+1の値を求めるのに必要な時刻n−1とnの値は、時
刻n−1用2次元計算基板65及び時刻n用2次元計算
基板66上の各要素プロセッサ3のデータメモリから、
ネットワーク4を介して、時刻n+1用2次元計算基板
67上の各要素プロセッサ3に転送される。計算が終了
すれば、計算結果は自動的に2次元計算基板67上の各
要素プロセッサ3のデータメモリに保存される。続いて
n+2の値を計算するには、時刻n−1の値が保存され
ている時刻n−1用2次元計算基板65上の各要素プロ
セッサ3のデータメモリをリセットし、新たに時刻n用
2次元計算基板66及び時刻n+1用2次元計算基板6
7から、それぞれ時刻n、n+1の値をネットワーク4
を介して時刻n−1用2次元計算基板65へ転送して計
算を行い、時刻n+2の値として各要素プロセッサ3の
データメモリに保管する。
【0176】以上に述べたように、第3実施の形態の情
報処理装置によれば、メモリ不足が解消され、かつ高速
に演算することができるようになる。
【0177】この時間軸方向へのパイプライン化は、2
次元解析解の収束判定の高速化にも寄与する、微分方程
式の求解において、現時刻nにおける計算値と前時刻n
−1の計算値との差がある基準範囲以下に達した場合に
収束したと判断するわけであるが、時間方向をパイプラ
イン化すれば、隣接する2次元計算基板間の値を比較す
るという単純な動作で収束性を判断することが可能とな
る。
【0178】<実施の形態8>次に、この発明の第8実
施の形態について説明する。この発明の主たる適用対象
は微分方程式の求解であるが、この種の問題は隣接する
格子点の相互作用を繰り返し計算し、全格子点が安定状
態に収束することにより計算終了する。すなわち、隣接
していない格子点の間でのデータの授受はほとんど発生
せず、隣接する格子点間でのデータの授受が専ら必要と
なる。また、一般的には、対象とする系を格子点に分割
した後、1つまたは隣接する複数の格子点に関する演算
を1つの要素プロセッサ3に分担させ、さらにこれらの
格子点と隣接する格子点に関する演算はやはり隣接する
要素プロセッサ3に分担させている。
【0179】対象とする問題のこのような特徴に着目す
れば、隣接する要素プロセッサ3間で同一のメモリを共
有し、相互に相手のメモリを直接的にアクセス可能とす
ることによって、計算の効率が格段に向上し、短時間で
所望の演算が終了するようになることが理解できる。
【0180】図13は、要素プロセッサ3が要素プロセ
ッサ間コネクション7によって結合され正方格子状に配
置されたマルチプロセッサの一部分を示している。ま
た、図14は、図13に示された要素プロセッサの1個
の内部構成を示す図である。図において、プロセッシン
グユニット5は同一プロセッサ内に内蔵されているデー
タメモリ8と接続されており、このデータメモリ8をア
クセスすることが可能である。さらに、このプロセッシ
ングユニット5は入出力制御回路(以下I/Oともい
う。)71を介して隣接する要素プロセッサと接続され
ている。
【0181】I/O71経由で隣接要素プロセッサ3d
と接続することにより、隣接する要素プロセッサ3d内
のデータメモリ8をあたかも同一要素プロセッサ内のメ
モリであるのと同様に直接アクセスすることができる。
逆に、隣接する要素プロセッサからも、同様に図示した
データメモリ8をアクセスすることができる。
【0182】隣接する要素プロセッサ間で相互にメモリ
をアクセスしあうためには、図中のI/O71が、プロ
セッシングユニット5とデータメモリ8の間のデータバ
ス73に対して、隣接要素プロセッサからのメモリアク
セス要求に対する調停の機能を果たす必要がある。しか
しながら、データバスに対する調停は一般的なプロセッ
サで用いられている技術であり、例えば、VMEバスを
用いれば実現でき、公知であるのでここでは説明を省略
する。
【0183】以上説明したように、図14に示した要素
プロセッサではプロセッシングユニット5を同一プロセ
ッサ内に内蔵されているデータメモリ8と接続し、プロ
セッシングユニット5がデータメモリ8をアクセスする
ことが可能とし、さらに、プロセッシングユニット5は
I/O71を介して隣接する要素プロセッサ3dと接続
されるようにしたので、要素プロセッサ3d間でのデー
タ通信のためのオーバヘッドを低減でき、計算の効率が
向上する。
【0184】なお、上記の要素プロセッサの構成の説明
では一般的な場合について説明したが、微分方程式の求
解に限っていえば、隣接する格子点のデータは参照(す
なわち、読み出し)ができればよく、更新(すなわち、
書き込み)までは要しない。参照のみに限定すれば同一
メモリアドレスに対する更新要求が衝突することがな
く、メモリアクセスのためのデータバスの調停が簡略化
されることは明らかである。
【0185】<実施の形態9>しかしながら、同一のメ
モリに対する複数のメモリ参照要求が同時に発生するこ
とがかなりの頻度で発生することが予想される。この場
合、単一ポートのメモリでは処理の停滞が発生し、結果
として計算時間が長くかかるという懸念がある。このよ
うな問題を事前に回避するためには、マルチポートメモ
リを採用し、複数のメモリ参照を同時に処理できるよう
にすればよい。
【0186】そのためのこの発明の第9実施の形態につ
いて説明する。図15は、隣接する6つの要素プロセッ
サとメモリを共有する場合を示している。図において、
3は要素プロセッサ、7はネットワークである。
【0187】図16は、一つの要素プロセッサの内部構
成を示しており、データメモリ8は7つのポートを有し
ている。データメモリ8は、データバス75を介して6
個の入出力制御部71、およびプロセッシングユニット
5と接続されている。このような構成にすることによ
り、当該要素プロセッサおよび6つの隣接する要素プロ
セッサからのメモリ参照要求を同時に処理可能となる。
【0188】参照のみであれば比較的簡単な制御回路で
実現することが可能である。しかし、汎用用途に対して
情報処理装置を用いる場合、隣接する要素プロセッサ3
eのメモリに対して書き込みの機能もあることが要求さ
れる場合がある。このような構成をとることにより、同
一のデータを当該要素プロセッサ3eのデータメモリ8
に書き込むのと同時に、隣接する要素プロセッサ3eの
データメモリ8に対しても並列に書き込めるようにな
り、同一のメモリアドレスに対する参照が衝突するよう
な処理においては計算時間の短縮に大幅に寄与する。
【0189】<実施の形態10>さらに、共有するメモ
リ部は必ずしも要素プロセッサ内にもつ必要はない。そ
こで、メモリ部を工夫したこの発明の第10実施の形態
を図について説明する。図17に共有するメモリ部を要
素プロセッサの外部に配置した情報処理装置の構成を示
す。また、図18に図17に示した情報処理装置を形成
する要素プロセッサの構成とメモリ部との接続関係とを
示す。図において、76は要素プロセッサ3fの外部に
設けられたメモリ、5は入力制御部71によって外部の
メモリ76と接続されたプロセッシングユニット、8は
要素プロセッサ3fの内部に設けられプロセッシングユ
ニット5と直接接続したデータメモリであり、入出力制
御部71を介して要素プロセッサ3内のプロセッシング
ユニットと接続されている。すなわち、図17に示すよ
うに、メモリ76が要素プロセッサ間のデータ経路上に
配置される。このように配置することにより、図18に
示す入出力制御部71を介して隣接する要素プロセッサ
3fと共有する4個のメモリ76を直接的に参照更新す
ることができる。
【0190】上記のメモリ76を介して隣接する要素プ
ロセッサ3f間でデータの授受を行う方法の一例として
以下の方法がある。
【0191】すなわち、各要素プロセッサ3fが書き込
みを行う場合のアドレスまたはアドレスの範囲を予め定
めておき、データの出し側の要素プロセッサはメモリ7
6の予め定めたアドレス領域にデータの書き込みを行
い、データの受け側の要素プロセッサ3fでは上記のア
ドレス領域を読み出すことで要素プロセッサ3f間でデ
ータの授受が完了する。
【0192】図17中では、メモリ76内に記述した記
号「P」は要素プロセッサ3が書き込むべきアドレス範
囲を示しており、記号「S」、「N」、「E」、「W」
は各々隣接する要素プロセッサ3fが書き込みを行うべ
きアドレス範囲を示している。
【0193】なお、本実施の形態では要素プロセッサ3
f内にデータメモリ8を含む例について示したが、デー
タメモリ8に格納すべきデータを要素プロセッサ間に接
続されたメモリ76に格納するようにすれば、データメ
モリ8が無い要素プロセッサであっても同一の効果が得
られることは明らかである。
【0194】上記の説明では、メモリ76としてシング
ルポートのメモリを用いた場合を説明したが、図16で
説明したデータメモリ8を要素プロセッサ3f内に内蔵
する場合と同様、データ経路上に配置するメモリ76の
場合にもマルチポートメモリを用いることにより、計算
時間の短縮をはかることができる。
【0195】ただし、マルチポートメモリを採用した場
合であっても、同一メモリアドレスに対する更新要求が
衝突した場合には処理が中断し、計算時間の増大を招
く。これを避けるためには、メモリに対する参照/更新
要求を一時的に記憶しておくバッファ機構を導入するの
が効果的である。図19はこのためのバッファ機構を導
入したマルチポートメモリを示しており、図17の情報
処理装置におけるメモリ76に対応する部分のみを示し
ている。
【0196】図において、76aはバッファ機構付きの
マルチポートメモリ、79は2ポートメモリ、80はバ
ッファ機構である。バッファ機構80は、要素プロセッ
サ間コネクション7を介して2ポートメモリ79から入
力したデータ、または2ポートメモリ79へ書き込まれ
るべきデータを一時的に格納することができる。
【0197】上記のように、隣接する要素プロセッサ3
f間に配置された2ポートメモリ79の各ポートにバッ
ファ機構80を配置したので、同一メモリアドレスに対
する更新要求が衝突した場合でも処理が中断することが
ない。また、その結果として起こる計算時間の増大を避
けることが出来る。
【0198】図19に示したマルチポートメモリでは、
バッファ機構80を2ポートメモリ79の各ポートに配
置する例を説明したが、バッファ機構はマルチポートの
各々のポート毎に設けてもよいし、複数のポートまたは
全ポートに対して1個のバッファを設けても効果がある
ことは明らかである。
【0199】<実施の形態11>次に、この発明の第1
1実施の形態について説明する。各要素プロセッサ毎に
通信データ保持用のバッファメモリを設けることによ
り、要素プロセッサ間のデータ通信による各要素プロセ
ッサの演算を妨げることを防止できる。
【0200】図20は、通信データ保持用のバッファメ
モリを有する要素プロセッサの構成を示すブロック図で
ある。図において、5は要素プロセッサ3g内に設けら
れたプロセッシングユニット、7は要素プロセッサ3g
の間を結ぶ要素プロセッサ間データバス、82は要素プ
ロセッサ3g内に設けられ要素プロセッサ間データバス
7及びプロセッシングユニット5に接続されたバッファ
メモリ、8は要素プロセッサ3内に設けられプロセッシ
ングユニット5に接続されたデータメモリである。
【0201】各要素プロセッサ3gは、要素プロセッサ
間データバス7を介してバッファメモリ82へ隣接する
要素プロセッサ3gから送られたデータをオブジェクト
名付きデータとして書き込み、各要素プロセッサ3gは
このバッファメモリ82から任意のタイミングでオブジ
ェクト名付きデータをサーチして隣接要素プロセッサ3
gからのデータ受け入れを完了する。図20に示した構
成を有する要素プロセッサで形成された情報処理装置に
よれば、隣接する要素プロセッサ3g間のデータ通信に
より各要素プロセッサ3g内のプロセッシングユニット
5、例えば浮動小数点演算器の演算を妨げることなく、
より高速な処理が可能となる。
【0202】<実施の形態12>次に、この発明の第1
2実施の形態について説明する。図21は、この発明の
第12実施の形態による情報処理装置の要素プロセッサ
の構成の一例を示すブロック図である。
【0203】図において、3hは要素プロセッサ、10
は要素プロセッサ3h内に設けられた浮動小数点演算
器、83は要素プロセッサ3h内に設けられたマッチン
グメモリ(データプール)、11は要素プロセッサ3h
内に設けられたプログラムメモリ、8は要素プロセッサ
3h内に設けられたデータメモリ、84は浮動小数点演
算器10とマッチングメモリ83とプログラムメモリ1
1とデータメモリ8とを結び情報のやりとりを行うため
のパイプライン、7は要素プロセッサ3間を結び情報の
やりとりを行うための要素プロセッサ間コネクションで
ある。
【0204】隣接する要素プロセッサ3h同士の間で、
通信により交換する必要のあるデータは多岐にわたる。
この実施の形態においては、各々のデータには予め次に
どのような処理を行うかを識別できるオブジェクト名が
付けられる。オブジェクト名が付けられたデータは、マ
ッチングメモリ(データプール)83を設けたパイプラ
イン84上にデータパケットの形態で入力されて巡回
し、さらに要素プロセッサ間コネクション7を介して隣
接する要素プロセッサ3h内のマッチングメモリ83へ
送り出される。浮動小数点演算器10は、任意のタイミ
ングでマッチングメモリ83の内部をサーチし、任意の
処理を行うために必要なオブジェクト名の付けられたデ
ータが揃い次第、演算を開始する。
【0205】なおこの際、偏微分方程式のプログラムが
時系列的に見て一時的に並列度が大きくなる傾向にある
ため、マッチングメモリ83の記憶容量を十分に確保し
ておく必要がある。
【0206】また、上記の説明では、要素プロセッサ3
hのプロセッシングユニットが浮動小数点演算器10で
構成された場合について述べたが、図2に示した演算器
14をデータ線15により結線しデータフローグラフ1
3状のハード的に回路化した構成であっても、また図4
に示した演算中に頻出する部分を機能モジュール12内
にハード的に回路化し他はプログラムメモリ11の指示
に従って浮動小数点演算器10により演算する構成であ
っても同様の効果を奏する。
【0207】以上のように、データ間の同期を自動的に
とることによって、より高速で、通信のオーバーヘッド
の少ない処理が可能となる。
【0208】<実施の形態13>次に、この発明の第1
3実施の形態について説明する。先にも述べたように、
SIMPLE法によるナビエ・ストークス方程式の求解
においては、8つの入力に対して、第1入力と第2入
力、第3入力と第4入力と、第5入力と第6入力、第7
入力と第8入力のそれぞれの乗算結果を累積加算する演
算が頻繁に現れ、この処理を高速化することが計算時間
短縮の一つの決め手となる。図5は数35の演算を図的
に表現したフローグラフである。
【0209】
【数35】
【0210】この処理を一括してハードウェア化したの
が図22である。図において、85は乗算器であり入力
端から入力される2つのデータの乗算を実行し、出力端
へ出力する。86,87は加算器であり、入力端から入
力される2つのデータの加算を実行し、出力端へ出力す
る。また、乗算器85の出力端と加算器86の入力端は
データ線88で接続されている。また、加算器86の出
力端と加算器87の入力端はデータ線89で接続されて
いる。上記のような構成で加算器、乗算器を接続するこ
とで、乗算器の各々の入力端に入力されたデータに対
し、図5に示した演算が実行され、加算器87の出力端
に結果が出力される。
【0211】このように、演算器をデータ線で接続し
た、いわゆる、マクロ機能ブロックを有する要素プロセ
ッサはナビエ・ストークス方程式の求解をはじめとする
微分方程式等の求解の高速化に大きく寄与する。
【0212】<実施の形態14>次に、この発明の第1
4実施の形態について説明する。図23は隣接要素プロ
セッサ間のデータ通信を各要素プロセッサ毎に非同期で
かつ繰り返し行うことを実現するための通信回路の構成
を示すブロック図である。
【0213】図において、3iは要素プロセッサ、70
は要素プロセッサ3i内に設けられ演算を行うプロセッ
シングユニット、8は要素プロセッサ3i内に設けられ
プロセッシングユニット70の処理に必要とされるデー
タを記憶するためのデータメモリ、90は要素プロセッ
サ3のデータメモリ8に記述された情報を隣接する要素
プロセッサ3i間でやり取りするためのデータバスであ
る。
【0214】次に動作について説明する。プロセッシン
グユニット5における処理において、隣接要素プロセッ
サ3iの情報が必要な場合、その要素プロセッサ3i
は、隣接の要素プロセッサ3iとは全く非同期に繰り返
し相手方データメモリ8に記述された必要情報を参照す
るメモリアクセス動作を行う。偏微分方程式の解法にお
いて、各要素プロセッサ3iが行う演算は、遠く離れた
要素プロセッサ3iの持つ情報ではなく隣接する要素プ
ロセッサ3の持つ情報のみに依存するため、極めて局所
性が高い。従って、隣接する要素プロセッサ3i間の通
信は、データバス90を介して、プロセッシングユニッ
ト70の処理を妨げず、全く非同期でかつ繰り返し行わ
れることが望ましい。
【0215】相互に隣接する要素プロセッサ3i間での
メモリアクセスが隣接要素プロセッサ3iの処理を阻害
することなく全く非同期に繰り返し行われるように構成
することにより、隣接する要素プロセッサ3i間の通信
は、データバス90を介して、プロセッシングユニット
70の処理を妨げずに全く非同期でかつ繰り返し行われ
るため、各要素プロセッサ3i上で行われる演算処理を
隣接する要素プロセッサ間3iで全く非同期に継続する
ことが可能になる。
【0216】なお、この実施の形態ではプロセッシング
ユニット70とデータメモリ8は相手の動作を阻害せず
にメモリ参照可能なデータバス90を使用して各要素プ
ロセッサ3i間のデータ通信を行っているが、データメ
モリ8へのアクセスをするのに隣接要素プロセッサ3i
内のプロセッシングユニット70の動作に割り込みをか
ける同期動作を必要とする場合、要素プロセッサ間のデ
ータ通信方式は同期型となり、通信のオーバーヘッドが
大きくなるものの、解析解を得るのに何ら支障をきたさ
ない。
【0217】<実施の形態15>次に、この発明の第1
5実施の形態による非同期にデータを吸い上げてもデー
タの整理分類が容易な出力を得るための要素プロセッサ
について説明する。図24は、メモリ内の状態量ごとに
識別子を添付し、非同期にデータを吸い上げてもデータ
の整理分類が容易な出力を得るための要素プロセッサの
構成を示すブロック図である。
【0218】図において、3iは要素プロセッサ、70
は要素プロセッサ3i内に設けられ演算を行うプロセッ
シングユニット、8は要素プロセッサ3i内に設けられ
出力データを含む計算データを保存するためのデータメ
モリ、90は要素プロセッサ間データバス、91は要素
プロセッサ3i内に設けられ出力する状態量の種類に応
じて識別子をつけ、要素プロセッサ3i外にデータを送
り出すためのI/Oユニット、92はI/Oユニット9
1を介して出力されるデータをホストコンピュータに転
送するための出力データバスである。
【0219】次に動作について説明する。プロセッシン
グユニット70の一連の処理によって得られる計算結果
は、複数種の状態量によって構成されており、しかも高
速演算を目的としたため、出力データのサンプリング時
間間隔が非常に短くなる。そこで出力データは、I/O
ユニット91において、その先頭あるいは末尾にその状
態量が何であるかを識別できる識別子を付加される。出
力データは、複数の状態量のものが混載されたパケット
通信形態で、非同期かつ大量で連続的に自己の要素プロ
セッサ3i外部に出力され、I/Oユニット91を介し
てホストコンピュータへ送出され、ポスト処理される。
この際、出力データバス92が各要素プロセッサ3iご
とに設置されているため、I/Oユニット91を介して
出力されるデータは、隣接要素プロセッサ3iの出力を
阻害することなく非同期に出力され、ホストコンピュー
タに転送される。また、出力データにはその状態量を判
断できる識別子が付加されているので、ホストコンピュ
ータではパケット型で複数の状態量の出力データが混載
して送られてきても、各々区別して整理分類し、ポスト
処理を施すことができる。
【0220】従って、この実施の形態によれば要素プロ
セッサ3iの演算を妨げることなく非定常計算の途中結
果を出力することができ、高速の演算が達成できる。
【0221】勿論、次のような同期型の出力方法も可能
である。ホストコンピュータから出力データバス92を
介して各要素プロセッサ3iに出力命令を送り、要素プ
ロセッサ3iでは受信した命令に従ってI/Oユニット
91内に設けたデータメモリ8の参照機能が実行され、
必要な状態量の出力データを命令に記述された順序に吸
引し、出力データ列を作成する。I/Oユニットで作成
された出力データ列は、データバス92を介してホスト
コンピュータに送出される。従って、ホストコンピュー
タが各要素プロセッサ3iに対して出力命令を送出する
タイミングを調節することで、任意の時刻における出力
が可能となる。
【0222】<実施の形態16>次に、この発明の第1
6実施の形態について説明する。図25は、この発明の
第16実施の形態による、非同期に出力されるデータを
各要素プロセッサから収集し、リアルタイムに可視化を
行うための計算機システム全体の構成図である。
【0223】図において、3jは演算を行う要素プロセ
ッサ、93は各要素プロセッサ3j内に設けられ演算結
果を外部に出力する際のデータ変換を行う出力用I/O
ユニット、94は各要素プロセッサ3j上の出力用I/
Oユニット93を介して出力されるデータを転送するた
めの出力データバス、95は各要素プロセッサ3jから
出力データバス94を介して転送されてきた要素プロセ
ッサ3jと少なくとも同数のパラレルデータをシリアル
データに変換するためのデータ出力制御部、96はデー
タ出力制御部を通してシリアル型に変換されたデータを
転送するためのシリアルデータバス、97はシリアルデ
ータバス96を介して送られてきたデータを種類ごとに
分類し、階調反転、2階調化、平均化、色調補正、輪郭
表示、等高線処理、フリンジ処理、あるいはベクトル表
示等のポスト処理を行うためのポスト処理ユニット、9
8はポスト処理ユニット97によって作成された画像デ
ータを転送するための画像出力データバス、99は画像
出力データバス98を介して転送されてくる画像データ
を表示するためのディスプレイである。
【0224】次に動作について説明する。出力データバ
ス94は要素プロセッサ3jと直結しており、各要素プ
ロセッサ3jの外部出力データは非同期に出力用I/O
ユニット93から出力される。出力されたデータは、要
素プロセッサ3jから出力された時点で、複数の種類の
状態量を含むデータ列である。また、出力時には、どの
要素プロセッサ3jからの出力であるかを明確にするた
め、要素プロセッサ番号を表す識別子をデータ列の先頭
あるいは後尾に添付しパケット状のデータ構成とする。
このデータ列は出力データバス94を介してデータ出力
制御部95に集められ、要素プロセッサ数と同数あるい
はそれ以上のパラレルデータから、1つのシリアルデー
タに変換される。さらに、シリアルデータバス96を介
してポスト処理ユニット97に送られたデータは、要素
プロセッサ番号識別子に従って振り分けられ、さらに状
態量識別子に従って分割整理される。整理されたデータ
は等高線処理、フリンジ処理、ベクトル表示等の可視化
のためのポスト処理を施され、画像出力データバス98
を介してディスプレイ99上で可視化映像となる。従っ
て、この実施の形態によれば要素プロセッサ3jの演算
を妨げることなく非定常計算の途中結果を出力すること
ができ、高速の演算が達成できる。
【0225】勿論、出力用I/Oユニットから非同期に
出力されるデータをポスト処理ユニット97を介して出
力し、ポスト処理ユニット97内でサンプリング時間を
設定して可視化時間間隔を自由に制御することも可能で
ある。
【0226】図25のように出力データバス94を各要
素プロセッサ3からデータ出力制御部95へ接続すると
配線が複雑になり機器の小型化が困難になったり製造上
のトラブルが発生し易くなる危険性がある。
【0227】<実施の形態17>その問題を解決するた
めの第17実施の形態を図について説明する。図26
は、出力データバス94を最小限にして前述の問題点を
解決するための計算機システム全体の構成図である。出
力データバス94は全要素プロセッサ3jとデータ出力
制御部95を結ぶ1本のデータバスである。また、10
0はホストコンピュータ、101はホストコンピュータ
100と出力データバス94を接続するネットワークで
ある。他は図25と同様である。
【0228】次に動作について説明する。出力データ
は、複数の種類の状態量を含むデータ列である。ホスト
コンピュータ100は、各要素プロセッサ3jから出力
データを出力データバス94へ出すタイミングをコント
ロールする。各要素プロセッサ3jは、ホストコンピュ
ータ100からのタイミングに合わせ、出力データを出
力用I/Oユニット93を介して出力データバスへ送出
する。この際、どの要素プロセッサ3jからの出力であ
るかを明確にするため、要素プロセッサ番号を表す識別
子をデータ列の先頭あるいは後尾に添付しパケット状の
データ構成とする。データ出力制御部95では、出力デ
ータバス94を介して入ってくる出力データを要素プロ
セッサ番号識別子に従って並べかえ、1つのシリアルデ
ータに変換する。さらに、シリアルデータバス96を介
してポスト処理ユニット97に送られたデータは、状態
量識別子に従って分類整理される。整理されたデータは
等高線処理、フリンジ処理、ベクトル表示等の可視化の
ためのポスト処理を施され、画像出力データバス98を
介してディスプレイ99上で可視化画像となる。従っ
て、最小限の出力データバスの構成で、要素プロセッサ
3jの演算を妨げることなく非定常計算の途中結果を出
力することができ、高速の演算が達成できる。
【0229】<実施の形態18>次に、この発明の第1
8実施の形態について説明する。従来の並列計算機で
は、計算を高速化することに主眼がおかれているため、
定常計算の計算結果を表示したり、非定常計算の時々刻
々の計算結果の変化を追いかけて表示する場合に、全要
素プロセッサの演算を中断したり、全要素プロセッサの
結果が揃うまで他の要素プロセッサの演算を中止して待
機させるため、計算を高速化しても全体の高速化にはつ
ながらないという問題点があった。図27は計算結果表
示の並列化による計算全体の高速化のための一実施の形
態を示す要素プロセッサの構成図、図28は図27の要
素プロセッサを構成要素とするマルチプロセッサの全体
構成図である。
【0230】図において、3sは要素プロセッサ、70
は要素プロセッサ3s内に形成され計算を実施するため
のプロセッシングユニット、8は要素プロセッサ3s内
に形成されプロセッシングユニット70の計算に必要な
計算情報を格納するメモリ部、107は要素プロセッサ
3s内に形成され自己の属する要素プロセッサ3s内の
メモリ部8に格納された計算情報をプロセッシングユニ
ット70の演算を中断しないで受取り、一要素プロセッ
サに対して一計算格子点が割り当てられている場合には
そのまま、一要素プロセッサに複数の計算格子が畳み込
まれている場合にはその格子点の情報に加工処理を施す
ための出力情報加工部、104は行方向の要素プロセッ
サ3s内のメモリ部6間の演算に必要なデータをやり取
りするための行方向計算情報バス、105は列方向の要
素プロセッサ3s内のプロセッシングユニット70間の
演算に必要なデータをやり取りするための列方向計算情
報バス、106はプロセッシングユニット70とメモリ
部8の間で演算に必要なデータや演算結果データをやり
取りする内部計算情報バス、108はメモリ部8に格納
された計算情報を出力情報加工部107へ伝達するため
の出力加工情報バス、110は計算情報を例えば液晶表
示素子のように光の透過率に変換したり、磁気歪を光反
射に変更するカー効果を用いた素子、色変化に変換する
ためのカラー液晶表示素子などの表示素子、111は光
透過型であれば表示素子110の裏側から、光反射型で
あれば表示素子の表側から光を発光するためのランプ、
112はランプ111の光を平行光線にするための反射
鏡、109は各要素プロセッサ3sの出力情報加工部1
07から表示素子110へ出力加工情報を伝送するため
の出力加工情報バスである。
【0231】各要素プロセッサ3sのメモリ部8は、プ
ロセッシングユニット70の計算に必要な計算情報を格
納しており、内部計算情報バス106を介してプロセッ
シングユニット70とメモリ部8の間で演算に必要なデ
ータ(入力データ)や演算結果データ(出力データ)を
やり取りしている。したがって、計算が収束するまでの
時点や非定常計算の時々刻々の計算結果の変化を表示す
るにはプロセッシングユニット70の計算を停止してメ
モリ部8とアクセスしたり、収束後の計算結果を表示す
るために全要素プロセッサ3sの計算が収束するまで待
機したりして、全体の計算を妨害せざるを得ない。この
実施の形態においては、メモリ部8と非同期的に接続
(メモリ部8とプロセッシングユニット70のコミニュ
ケーションを妨害せず、メモリ部8が送出する計算情報
をメモリ部とのマッチング無しに受け取ることができ
る)された出力情報加工部107を要素プロセッサ3s
の内部に設け、メモリ部8が送出する計算情報を、一要
素プロセッサに対して一計算格子点が割り当てられてい
る場合にはそのまま、一要素プロセッサに複数の計算格
子が畳み込まれている場合にはその格子点の情報に加工
処理を施し、さらに内部構成として所持するデジタル/
アナログ変換回路を介してデジタルデータをアナログデ
ータに変換し、出力加工情報バス109を介して表示素
子110へ送出する。表示素子110は計算情報を、例
えば液晶表示素子のように光の透過率に変換したり、磁
気歪を光透過に変更したり(カー効果を用いた素子)、
透過光の色変化に変換したり(カラー液晶表示素子)す
る。この際、表示素子110は、それが光透過型であれ
ば表示素子110の裏側から、光反射型であれば表示素
子の表側から、反射鏡112によって平行光線に変換さ
れたランプ111からの光が照射されるため、出力情報
加工部107の動作を妨げることなく出力加工情報を視
覚的に表示することができる。
【0232】このように、本構成により計算の高速処理
を妨げることなく計算の途中経過や最終計算結果を視覚
的に観察したり制御に利用したりすることができるよう
になる。
【0233】<実施の形態19>次に、この発明の第1
9実施の形態について説明する。図28のように出力加
工情報バス109を各要素プロセッサ3sから表示素子
110へ個別に配線すると、配線が膨大になり計算機シ
ステムと表示装置の距離を大きくすることができない。
図29は、計算機システムと表示装置の間を単一のシリ
アルデータバスとし前述の問題点を解決するための計算
機システム全体の構成図である。
【0234】図において、1はホストコンピュータ、1
14はランダムに送られてくる出力データの順序を入れ
換えてシリアルデータに変換するためのデータ出力制御
部、113は全要素プロセッサ3sとデータ出力制御部
114を結ぶ1本の出力加工情報バス、117はホスト
コンピュータ1と出力加工情報バス113を接続するネ
ットワーク、116はシリアルデータを分解して各表示
素子110への表示データに振り分ける表示データ制御
部、115はデータ出力制御部114と表示データ制御
部116を接続するシリアルデータバス、118は表示
データ制御部116と各表示素子110を接続する表示
データバスである。他は図28と同様である。
【0235】次に動作について説明する。要素プロセッ
サ3s内の出力情報加工部107は、メモリ部が送出す
る計算情報を、一要素プロセッサに対して一計算格子点
が割り当てられている場合にはそのままとし、一要素プ
ロセッサに複数の計算格子が畳み込まれている場合には
その格子点の情報に加工処理を施す。ホストコンピュー
タ1は、各要素プロセッサ3sから出力加工情報を出力
加工情報バス113へ出すタイミングをコントロールす
る。各要素プロセッサ3sは、ホストコンピュータ1か
らのタイミングに合わせ、出力加工情報を出力情報加工
部107から出力加工情報バス113へ送出する。この
際、どの要素プロセッサ3sからの出力であるかを明確
にするため、要素プロセッサ番号を表す識別子をデータ
列の先頭あるいは後尾に添付しパケット状のデータ構成
とする。データ出力制御部114は、出力加工情報バス
113を介して入ってくる出力加工情報を要素プロセッ
サ番号識別子に従って並べかえ、1つのシリアルデータ
に変換する。さらに、シリアルデータバス115を介し
て表示データ制御部116に送られたデータは、再び要
素プロセッサ番号識別子に従って対応する表示素子11
0毎に振り分けられた後デジタル/アナログ変換回路を
介してデジタルデータをアナログデータに変換され、表
示データバス118を介して各表示素子110へ送出さ
れる。表示素子110は計算情報を、例えば液晶表示素
子のように光の透過率に変換したり、磁気歪を光透過に
変更したり、透過光の色変化に変換したりする。この
際、表示素子110は、それが光透過型であれば表示素
子110の裏側から、光反射型であれば表示素子の表面
から、反射鏡112によって平行光線に変換されたラン
プ111からの光が照射されるため、出力情報加工部1
07の動作を妨げることなく出力加工情報を視覚的に表
示することができる。
【0236】このように、本構成により、最小限のデー
タバスの構成で、計算機システムと表示装置の距離を大
きくとることができ、計算の高速処理を妨げることなく
計算の途中経過や最終計算結果を視覚的に観察したり制
御に利用したりすることができるようになる。
【0237】<実施の形態20>次にこの発明の第20
実施の形態について説明する。この実施の形態は、例え
ば流体解析等において説明する。計算対象が、外部流れ
であれば複雑な曲面形状を持つ物体外部表面、内部流れ
であれば複雑な曲面形状を持つ内壁面に沿う流れを解析
する場合には、物体表面に沿った格子を使用する物体適
合座標系(Body Fitted Curvature)を、さらに局所的に
複雑な構造を持っている場合には、粗い格子と細かい格
子とを組み合わせて使用する複合座標系を、或いは現象
が局所的に激しく変化する場合には、変化の激しい部分
の格子を自動的に細かくする解適合座標系等を用いる
と、解析の精度が向上する。しかし、これらの座標系を
用いるには物理座標系と計算座標系の間の煩雑な座標変
換を常に実施しなければならない。この実施の形態は、
物理座標空間と計算座標空間の間に座標変換機能を受け
持つ座標変換専用ユニットを設けて、格子生成を容易に
するとともに、流体解析の計算速度を高め、更に計算結
果の表示時間を短縮するためのもので、図30にマルチ
プロセッサの全体構成図を示す。
【0238】図において、1はホストコンピュータ、3
は要素プロセッサ、7は要素プロセッサ3間を結び情報
のやりとりを行う要素プロセッサ間コネクション、18
は要素プロセッサ3を要素プロセッサ間コネクション7
により2次元平面状に接続した2次元計算基板、4はホ
ストコンピュータ1と2次元計算基板18内の要素プロ
セッサを接続し情報のやりとりを行うネットワーク、1
20はネットワーク4の途中に設けられ座標変換を行う
座標変換専用ユニットである。
【0239】ホストコンピュータから初期条件や境界条
件がマルチプロセッサにロードされる際、まず座標変換
ユニット120において物理座標系から計算座標系に座
標変換され、マルチプロセッサへは計算座標系に関する
情報のみインプットされる。従って、要素プロセッサ3
では煩雑な座標変換計算が分離され、本来の流体計算の
高速化が図られる。また、計算結果の出力に際しては、
変換計算結果を視覚的に理解容易な物理座標系へ変換す
る必要があるが、要素プロセッサ3内の演算を妨げる物
理座標系への変換は要素プロセッサ3からホストコンピ
ュータ1へ送られる途中で座標変換専用ユニット120
により行われる。従って、計算結果の出力時間が短縮さ
れると共に、要素プロセッサは計算結果出力のために演
算を妨害されず高速演算を維持できる。
【0240】このように、この実施の形態によれば、計
算に要する座標変換が容易になる上、座標系前処理、後
処理等の座標変換専用ユニットをハードウェアあるいは
ソフトウェアでサポートすることにより、格子形成が容
易になり、解の精度も向上する。また計算結果の可視化
においても、座標変換専用ユニットを使用して計算座標
から物理座標への変換を高速に処理することにより、表
示時間の短縮が実現される。
【0241】<実施の形態21>次に、この発明の第2
1実施の形態について説明する。図31は各要素プロセ
ッサの負荷を平準化して、並列計算した際の効率化を図
るための一実施の形態を示す計算領域境界近傍の計算格
子点を示す。図において、125は計算領域の境界上の
格子点、126は計算領域内部の格子点、127は計算
領域外部で境界上の格子点125に隣接する仮想格子点
であり、これらの格子点と各要素プロセッサは一対一に
対応している。
【0242】境界上の格子点125は、その隣接する格
子点の数が内部の格子点126よりも少ないため、通信
量、演算量ともに内部の格子点126よりも少ない。こ
のために、境界上の格子点125に対する処理時間が短
くなる他の内部の格子点126との時間的な同期処理が
必要となる場合には、同期によるオーバーヘッドを避
け、非同期の計算を行う場合には、演算負荷の偏りを避
け、全格子点の処理を平準化するために、境界外部に仮
想格子点127を設けて、境界上の格子点125とダミ
ーの通信を行うことで処理量を内部の格子点125と同
一とする。
【0243】なお、上記実施の形態では、計算格子点と
要素プロセッサは一対一に対応している場合について述
べたが、一要素プロセッサに対して複数の計算格子点が
対応している場合でも、境界上の格子点125を含む要
素プロセッサは処理時間が短くなるため、境界上の格子
点125に仮想格子点127を接続して、内部の格子点
126のみを含む要素プロセッサと同様の計算負荷を与
えることにより上記実施の形態と同様の効果を得ること
ができる。
【0244】従って、この実施の形態によれば、各要素
プロセッサの負荷を平準化し、並列化した際の効率化を
図ることができる。
【0245】<実施の形態22>次に、この発明の第2
2実施の形態について説明する。要素プロセッサがいわ
ゆるノイマン型のプロセッサの場合には、複数の格子点
の計算が割り当てられたとき、時分割処理をすることに
なる。これは、ノイマン型の場合、単一のプロセッサで
は並列処理ができないからである。
【0246】これに対して、命令レベルの並列処理が可
能な、例えばデータフロープロセッサを用いれば複数の
格子点に対する計算を同時並行的に実行することができ
る。データフロープロセッサに関しては、例えば、三菱
電機技報,Vol.66,No.2,1992,pp24〜
pp25に示されている。このような記述から分かるよう
に、データフロープロセッサにおいて、命令レベルの並
列処理が可能である。
【0247】上記のように、データフロー(データ駆
動)方式では同時実行可能な命令を独立して実行するこ
とができる。
【0248】このような特徴を有するデータフロープロ
セッサ上で差分法に基づく微分方程式の求解プログラム
を実現する方法について説明する。例えば、図21に示
した要素プロセッサに適用する場合、プログラムメモリ
11に計算プログラムを割り当て、浮動小数点演算部1
0でデータフローグラフに沿った演算がなされる。
【0249】図32は、偏微分方程式の求解のためのプ
ログラムの一部が書き込まれたプログラムメモリを示す
図である。
【0250】図32に示すように、プログラムメモリ1
1の異なる領域131,132に格子点No.1と格子点N
o.2に対する計算プログラムが割り当てられている。外
部から入力される初期パケットには、プログラムメモリ
11を通過することなく命令を実行させるために、命令
コード及び行き先ノードアドレス等が予め与えられてい
る。マッチングメモリ83で待ち合わせが完了すると、
実行パケットが生成される。データメモリ8では、命令
コードに従ったメモリアクセスが行われる。データメモ
リから出力されたパケットを構成するフィールドのう
ち、行き先ノードアドレスはプログラムメモリ11で、
また命令コードとオペランドデータは演算処理部10で
各々処理される。すなわちプログラムメモリ11では入
力されたパケットの行き先ノードアドレスを読み出され
た次の行き先ノードアドレスに更新し、演算処理部10
では演算が行われた結果がパケットの第1オペランドデ
ータフィールドにセットされる。結果パケットは、再び
処理されるか、もしくは最終結果として外部に出力され
る。プログラムメモリ11の異なる領域131,132
に格納された2つのプログラムは、それぞれ結果パケッ
トに命令コード及び行き先ノードアドレスを与え、同時
に演算処理が進む。データフロー方式のプロセッサ上で
は、これら2つのプログラムが命令レベルで混在しつつ
同時並行処理される。
【0251】<実施の形態23>次に、この発明の第2
3実施の形態について説明する。ダイナミックデータフ
ロー方式のプロセッサ上で、識別子を用いた処理を行な
うことにより、同一プログラムを複数セットの入力デー
タに対して同時に実行することができる。このようなダ
イナミックデータフローに関しては、例えば、J.A.
シャープ著、「データ・フロー・コンピューティン
グ」、サイエンス社(1986)に示されている。
【0252】図33に示すように、当該要素プロセッサ
には2つの格子点(No.1とNo.2)が割り当てられてお
り、プログラムメモリ11には格子点No.1とNo.2に対
する小さなメインプログラム131,132が各々格納
されている。メインプログラム131,132の機能
は、それぞれの格子点に固有の識別子番号(カラー識別
子)をデータに付けた後に、計算カーネル部133にこ
れらのデータを与えることである。計算カーネル部13
3では、格子点No.1とNo.2に対する処理131、およ
び132が同時に行なわれるが、データに識別子が付与
されているので、完全に独立に2つの処理が実行され
る。
【0253】上記説明のとおり、メモリアクセスを要し
ないデータフロー処理であれば、カラー識別子を導入す
ることによって、同一プログラムを複数セットのデータ
に対して同時に実行することができる。しかし、データ
メモリアクセスについてはカラー識別子による排他制御
はできない。プログラマーの責任でこの問題は回避する
必要がある。一つの回避策として、カラー識別子とデー
タメモリアドレスの変換をプログラムで行ない、カラー
識別子毎に異なるデータメモリアドレスを得ることがで
きる。
【0254】図34に、カラー識別子の内容をオペラン
ドデータフィールドに格納するための関数の例を示す
(以降、カラー獲得関数と称す)。図34はカラー獲得
関数を示すデータフローグラフである。また、図の右側
にデータパケットの変遷を併せて記述した。図では簡単
のため、パケットのフォーマットとしてカラー識別子、
左データ(第1オペランド)、右データ(第2オペラン
ド)のみを記述した。図において、135から138は
順にデータの処理を行うノードである。ノード135で
はPC命令、ノード136ではOR命令、ノード137
ではPC命令そして最後のノード138ではSWAP命
令が実行される。図34においてフローグラフに用いら
れている命令の機能について以下に説明する。
【0255】(1)PCは、カラー識別子と左データを
交換する命令である。
【0256】(2)ORは、左データと右データとのビ
ット毎の論理和演算を行い、その結果を左データに格納
する命令である。
【0257】(3)SWAPは、左データと右データを
交換して出力する命令である。
【0258】次に、カラー獲得関数の動作について説明
する。入力されるデータパケットは、カラー識別子とし
てC1、左データに5、右データにDR1が格納されて
いるものとする。
【0259】入力されたデータは、ノード135におい
て、PC命令によりカラー識別子と左データが交換され
る。次に、そのデータはノード136において、定数値
「0」とのOR演算が施されその結果、カラー識別子が
5、左データ、および右データがC1のデータパケット
が出力される。さらに、ノード137において、このデ
ータパケットにPC命令が実行され、カラー識別子がC
1、左データが5、右データがC1のパケットとなる。
最後に、ノード138において、SWAP命令により左
データと右データが交換され、入力されたデータパケッ
トと同一のカラー識別子をもち、かつ、左データに自ら
が有するカラー識別子が格納され出力される。カラー獲
得関数からの出力パケットは自らの有するカラー識別子
を左データとして獲得できた。
【0260】次に、上記のカラー獲得関数で計算した結
果を用いてデータメモリのアドレスを計算する方法につ
いて説明する。各格子点にカラー識別子を割り当てる方
法の一例についての概念図を図35に示す。図におい
て、139は格子点である。格子点139がメッシュ状
に配置されている2次元の解析について説明する。ここ
では、N行N列のメッシュ状に配置された格子点139
に、左上端にカラー識別子0を割り付け、右方向及び下
方向へ進むに従ってカラー番号が増加するように各格子
点へのカラーの割付を行っている。
【0261】図35に示す概念図において、各格子点1
39の左上の符号が各格子点に割り当てられたカラー識
別子である。上記のような割り付けを行ったため、カラ
ー獲得関数で獲得した自格子点に割り当てられているカ
ラー識別子を用いて近傍の格子点に割り当てられている
カラー識別子(CN)を下記の数36のようにして計算
することができる。
【0262】なお、方向を示す用語として、上方を北、
下方を南、右方を東、左方を西と呼ぶことにする。数3
6の(1)式に当該格子点の北方向の近傍格子点に割り
当てられたカラー識別子を示す。同様に、数36の
(2)〜(4)式に、それぞれ、当該格子点の南、西及
び東方向の近傍格子点に割り当てられたカラー識別子を
示す。
【0263】
【数36】
【0264】図36に示されるように、各格子点毎にデ
ータメモリ8のY語を割り当て、カラー識別子がZであ
る格子点に割り当てられているデータメモリのアドレス
がZ×Y〜Z×Y+Y−1の領域になるようにメモリ割
付を行っている。
【0265】したがって、カラー識別子がCNである格
子点に割り当てられているメモリのアドレスは数37で
与えられる。
【0266】
【数37】
【0267】ただし、kは予め定めた数であり、カラー
識別子がCNである格子点に割り当てられているY語の
データメモリ要素のうちのk番目の語をアクセスするこ
とを意味する。
【0268】以上説明したように、カラー識別子とデー
タメモリアドレスの変換をプログラムで行ない、カラー
識別子毎に異なるデータメモリの領域をアクセスするよ
うにしたので、特別なハードウェアを使用することな
く、データフロー方式においても、要素プロセッサ3の
メモリを相互に参照することによって、等価的に格子点
間の非同期の通信を実現することができる。
【0269】<実施の形態24>次に、この発明の第2
4実施の形態について説明する。この種の、微分方程式
を求解する情報処理装置においては、対象とする方程式
を差分化、すなわち空間(場合によっては時間も含む)
を格子状に分割し、各格子点(分割された空間の代表
点)での諸量を求めるために、近傍の格子点での計算結
果を使用しながら収束計算を実行する。この実施の形態
では、各格子点での計算結果を格納するメモリを各格子
点毎に割り当て、格子点間でのデータの授受を上記のメ
モリを参照することで実現する。以下に格子点間でのデ
ータ授受の方法を示した一実施の形態について説明す
る。
【0270】図37に1つの格子点での計算結果を格納
するために割り当てられたデータメモリの領域を示す。
図において、140は格子点での計算結果を格納するた
めデータメモリ8内の一つの格子点に割り当てられた領
域、141乃至144は領域140内に割り付けられ、
それぞれ東、西、南及び北方向の格子点の通信要否フラ
グのデータを格納している領域である。
【0271】図37に示されているように、各格子点に
割り当てられたデータメモリの領域には、(1)格子点
での計算結果のうち隣接する格子点が参照するデータ、
及び(2)通信の方向(ここでは、2次元を仮定して、
東、西、南、北方向と称する)毎に通信の要否、通信が
同一プロセッサ内に割り付けられた格子点処理か、ネッ
トワークを介した通信であるか否か等を示したフラグの
2種類のデータが格納されている。
【0272】図38は、格子点間で通信を行う場合の処
理の流れを示すフローチャートである。以下、図38の
フローチャートに沿って説明する。まず、格子点間で通
信を行う場合には、通信方向毎に割り当てられたデータ
メモリ領域の予め定められたアドレスに格納されたデー
タを読み出す(ステップST1)。次に、ステップST
2において、通信の要否の判断を行う。つまり、読み出
されたデータが「1」である場合は通信しようとする方
向に隣接する格子点が存在することを意味しており通信
のための処理を行う。他方、読み出されたデータが
「0」の場合は、この格子点は系の境界上に位置し、こ
の方向には通信が不要であることを意味し、通信のため
の処理は行われない。
【0273】次に、ステップST3において、通信の方
向に従って、通信の種類を示すフラグが格納されたデー
タメモリの予め定められた別のアドレスに格納されたデ
ータを読み出し、上記と同様に、読みだしたデータ値を
テストする。
【0274】読み出されたデータの値が「0」である場
合は、同一プロセッサ内に割り付けられた格子点との通
信を行うことを意味し、この発明の第23実施の形態で
示した方法でアドレス計算を行い、隣接格子点に割り当
てられたデータメモリ領域を参照・更新する事で格子点
間での通信を行う。
【0275】他方、読みだしたデータが「0」以外であ
る場合は、通信を行う格子点が別のプロセッサに割り付
けられていることを意味していると同時に、読みだした
32ビットのデータの上位8ビットには通信の相手の格
子点が割り付けられたプロセッサの番号、および下位2
4ビットには通信相手の格子点に割り付けられたデータ
メモリのベースアドレスが格納されている。実施の形態
22で示したように、上記の32ビットのデータに、オ
フセットアドレスを加算して所望のデータが格納されて
いるデータメモリのアドレスを計算する。上記のデータ
をアドレスとして分散共有メモリアクセスを実行する
と、通信を行う必要がある格子点が割り付けられている
プロセッサへデータパケットがネットワークを介して転
送され、所望のデータを読み出し、そのデータとともに
再び通信元のプロセッサへ戻り、格子点の計算を続行す
る。
【0276】以上説明したように、格子点間で通信を行
うマルチプロセッサにおいて、各格子点ごとに各方向ご
との通信可能方向かどうか、ネットワークを介する通信
かどうか等の通信可否、方法を示す情報を格納するフィ
ールドをデータメモリ内に割り当て、ネットワークを介
する通信の場合は分散共有メモリアクセスを使用した。
なお、分散共有メモリアクセスの機構については、特開
平3−122338号公報に詳細に開示されている。
【0277】このため、境界上の格子点の処理も、境界
内の格子点処理も同一のプログラムで実現でき、プログ
ラムサイズの削減ができる。
【0278】また、各格子点を複数のプロセッサにわた
って割り付けた場合、格子点の割付方法によらずプロセ
ッサをわたる格子点間の通信が容易に実現できる。
【0279】以降に述べる、この発明の第25実施の形
態、第26実施の形態、第27実施の形態、第28実施
の形態においては、複数の格子点の処理プログラムを同
一の要素プロセッサに割り付け、格子点間のデータ授受
を同一要素プロセッサ内のデータメモリを介して行うこ
とを前提としている。以下に、各実施の形態についての
詳細な説明をする。
【0280】<実施の形態25>次に、この発明の第2
5実施の形態について説明する。各格子点ごとにメモリ
を割り当て、このメモリを介して近接する格子点間の通
信を行うマルチプロセッサにおいて、格子点ごとに通信
すべき各方向のメモリ領域を示すテーブルをもつ計算方
式について説明する。
【0281】図39はデータメモリの領域の分割を示す
図である。図において、145は隣接格子点での計算結
果を得るためデータメモリ8内の一つの格子点に割り当
てられた領域、146〜149は領域145内に割り付
けられ、それぞれ東、西、南及び北方向の格子点のメモ
リ領域の先頭アドレスを格納している領域である。
【0282】図39に示すように、各格子点ごとのメモ
リ割り当ての中に、通信を必要とする各方向の格子点の
メモリ領域の先頭アドレスを格納する。この実施の形態
の場合には、格子点ごとに、東方向、西方向、南方向、
北方向の4つのデータ領域146〜149を使用して通
信方向の格子点のメモリ領域の先頭アドレスを格納して
いる。
【0283】図40は、通信を行う場合の処理の流れを
示すフローチャートである。通信を行う場合には、通信
方向に従って、通信先のメモリ領域の先頭アドレスを読
み出す(ステップST6)。通信しようとする方向が、
通信不可能方向の場合には、通信方向の格子点のメモリ
領域の先頭アドレスを格納する領域には、予め−1が格
納されている。読み込んだデータが−1であった場合に
は、通信処理は行わない(ステップST7)。通信不可
能方向でないと確認された場合には、通信先の先頭アド
レスに通信すべきデータのアドレスオフセットを加算
し、実際に通信するアドレスを得、実際の通信を行う
(ステップST8)。
【0284】なお、上記実施の形態では、通信すべき各
方向のメモリ領域の先頭アドレスを格納する場合の例を
示したが、例えば格子点番号順にメモリ領域が取られて
いる場合は、格子点番号を格納するような実施の形態に
対してもこの発明は適用できる。
【0285】また、上記実施の形態では、通信すべき各
方向のメモリ領域の先頭アドレスを格納する場合の例を
示したが、通信すべきメモリ領域を特定できる識別子、
例えば、通信元の格子点のメモリ領域の先頭アドレスと
通信先のメモリ領域の先頭アドレスとの差やその値を一
つ格子点が使用するメモリのサイズで割った値である格
子点間距離や、ポインタを格納するような実施の形態に
対してもすべて、この発明は適用できる。
【0286】また、上記実施の形態では、通信すべき方
向として、4方向の場合について、説明したが、6方向
や8方向(北東、北西、南西、南東方向、または、その
一部を含む場合)の場合、についても、この発明は適用
できる。
【0287】また、上記実施の形態では、通信不可能方
向の場合には、−1が格納されている場合について説明
したが、識別子として使用しない任意の値を通信不可能
方向を示す識別子として使用する実施の形態に対して
も、この発明は適用できる。
【0288】粗ノード処理時には、通信すべき近接格子
点が少し離れた点であり、細ノード処理時には近くの格
子点になるといったように、通信すべき格子点が変化す
るような処理の場合でも、通信方向の格子点のメモリ領
域を示す識別子の領域を書き換えるだけで、全く同一の
プログラムで処理を行うことができる。
【0289】また、従来は図41に示したような、凸凹
のある領域を処理の対象とする場合には、凸凹領域を包
含するような正方形や長方形を処理対象としていた。こ
のため、本来処理しなくてもよい格子点に対しても処理
が必要であったのに対して、この発明を適用すると任意
の格子点の任意の方向に対して、通信不可能格子点とす
ることが可能であるので、凸凹領域のままで処理可能と
なる。これにより、従来、無駄に処理を行っていた、凸
凹領域の外側の格子点のメモリ領域が不要となり、メモ
リサイズの圧縮ができる。また、凸凹領域の外の格子点
の処理が不要となり、処理の高速化が可能となる。メモ
リサイズの圧縮と処理の高速化の両方が実現できる。
【0290】この実施の形態の通信方向の識別子として
使用する識別子としては、格子点番号や通信元の格子点
のメモリ領域の先頭アドレスと通信先のメモリ領域の先
頭アドレスとの差を一つ格子点が使用するメモリのサイ
ズで割った値を用いた場合の方が、アドレスやアドレス
の差そのものを使用する場合に比べて、メモリとして必
要なビット数が少なくなり使用メモリサイズの圧縮にな
る。
【0291】上記実施の形態は、一つの要素プロセッサ
に多数の格子点を畳み込んだ場合のメモリ領域アクセス
方法を提供するものであるが、要素プロセッサ間の通信
に関しては、以下に示す実施の形態によって通信を簡略
化することが可能となる。
【0292】格子型トポロジーに要素プロセッサを接続
した場合、斜め方向の要素プロセッサとの通信が問題と
なる。図42は斜め方向の要素プロセッサとの通信方式
を示す図で、図において、151はNW方向の要素プロ
セッサを、152はN方向の要素プロセッサを、153
はNE方向の要素プロセッサ、154はW方向の要素プ
ロセッサを、155は計算中の要素プロセッサを、15
6はE方向の要素プロセッサを、157はSW方向の要
素プロセッサを、158はS方向の要素プロセッサを、
159はSE方向の要素プロセッサを、それぞれ表して
いる。
【0293】また、図において、160はNW方向の仮
想通信路を、161はSE方向の仮想通信路を、162
は要素プロセッサ間ネットワークを、163はSW方向
の仮想通信路を、164はNE方向の仮想通信路を示
す。要素プロセッサ155が、NW方向及びSE方向の
要素プロセッサ151,159と通信する場合、従来の
方法では、仮想通信路160及び161を直接要素プロ
セッサ151,155間及び要素プロセッサ155,1
59間に敷設することで通信を行うか、要素プロセッサ
152或いは158を経由してデータ通信を行ってき
た。ところが、これらの通信方法では、前者の場合、通
信網が複雑になりすぎる点、後者の場合、通信の同期待
ちが大きくなりシステム全体の速度パフォーマンスが劣
化する点など問題点が多かった。そこで、それぞれの要
素プロセッサが上下の要素プロセッサの持つデータをメ
モリ上に2重持ちすることによって、例えば要素プロセ
ッサ151との通信は、要素プロセッサ154のメモリ
上に保存されている要素プロセッサ151のデータを参
照することで、通信方式が簡略化される。但し、2重持
ちデータは、元データ更新の度に書き換えられなければ
ならない。
【0294】また、上下の要素プロセッサのデータの代
わりに、左右の要素プロセッサのデータを2重持ちし、
例えば、要素プロセッサ151と通信を行う場合は、要
素プロセッサ152のメモリ上に記憶されている要素プ
ロセッサ151のデータとアクセスすることでも同様の
効果を奏する。
【0295】<実施の形態26>次に、この発明の第2
6実施の形態について説明する。各格子点ごとにメモリ
を割り当て、このメモリを介して近接する格子点間の通
信を行うマルチプロセッサにおいて、格子点ごとに通信
すべき各方向のメモリ領域を示す情報を保持させ、特に
通信不可能方向には共通のダミー領域を示す情報を保持
するようにした。
【0296】図43に、第26実施の形態で使用される
メモリの割り付け図を示す。図43において、170は
データメモリ8内の処理対象の格子点に割り当てられた
メモリ領域、171はメモリ領域170内の一つの格子
点に割り当てられたメモリ領域、172は処理対象の格
子点に割り当てられたメモリ領域170とは別にデータ
メモリ8内に割り当てられた通信不可能方向用のダミー
領域として割り当てられた1格子分のメモリ領域であ
る。実際に処理する格子点用のメモリ領域以外に通信不
可能方向用のダミー領域として1格子分のメモリ領域を
確保する。実際に処理する格子点に割り当てられたメモ
リ領域の各通信方向の格子点のメモリ領域を示す識別子
を格納する領域に通信不可能領域を示す識別子として、
ダミーの領域を示す識別子を格納しておく。
【0297】この実施の形態の処理の流れを図44に示
す。通信処理を行うにあたっては、通信方向の格子点の
メモリ領域を示す識別子を読み込む(ステップST1
0)。その後、その識別子がダミー領域であってもなく
ても、その領域に対して、通信処理を行う(ステップS
T11)。
【0298】通信処理に通信先の領域からの読み出しが
含まれる場合には、ダミー領域にも、処理に悪影響がな
いような値を予め格納しておく。但し、各格子点の処理
で必要なデータを、近接格子点から必ず予め渡すように
処理させることによって通信では、通信元から通信先へ
の処理を書き込みのみに限定することは、可能である。
【0299】通信可能か不可能かに関わらず同一の処理
であるので、判定部分のプログラムが不要となり、プロ
グラムサイズの圧縮が可能となる。
【0300】通信可能か不可能かに関わらず同一の処理
であるので、格子点ごとの計算負荷のばらつきを抑える
ことができ、通信不可能方向の多い格子点だけが処理が
進みすぎることを避けることができ、各格子点間での同
期処理等が必要な場合であっても、プログラムサイズの
圧縮および処理の高速化が実現できる。
【0301】<実施の形態27>次に、この発明の第2
7実施の形態について説明する。隣接する格子点が要素
プロセッサをまたがって割り当てられている場合、デー
タの授受の遅れ時間を短縮するために、双方の要素プロ
セッサで相手方のデータを2重持ちすることが効果的で
ある。この場合、これらの格子点に対するデータが更新
されたときには必ず隣接プログラムに新しいデータを送
って、双方の要素プログラムのデータの一貫性を保証す
る必要がある。
【0302】しかし、データが更新される度に隣接要素
プロセッサにデータを送信するのは、更新されたデータ
の差異がわずかであるときには、いたずらにプロセッサ
間通信を増加させる結果になり、本来の処理に悪影響を
及ぼす。図45は隣接プロセッサ間での通信の状況を示
す概念図である。図において、左側の要素プロセッサ3
は、格子点No.0〜No.nの計算を行い、右側の要素プロセ
ッサ3は格子点No.n+1〜No.mの計算を行う。図45に示
すように、例えば左側の要素プロセッサ3が格子点No.n
の計算結果データを隣接要素プロセッサ3へ送る場合、
隣接要素プロセッサ3への送信すべきデータAを前の世
代のデータBと比較して、同じまたは一定値以下の変位
ならば送らないようにすることにより、このような悪影
響を回避することができる。
【0303】データBはここでは前の世代(すなわち、
前回の計算結果データ)としたが、「一定値以下の変位
ならば送らないようにする」場合には、毎回の変化はわ
ずかであっても差が蓄積することが懸念されるので、デ
ータBは前回隣接要素プロセッサ3に送信したデータと
してもよい。
【0304】<実施の形態28>次に、この発明の第2
8実施の形態による方程式を解くためのプログラムの簡
略化について説明する。図46は方程式の解析のための
計算領域と計算領域に割り付けられた格子点との関係を
示す平面図である。実線で囲まれた処理を要する格子点
の外側に1周分の格子点を考える。外側1周分の各格子
点用のメモリ領域を割り当てておき、各々の格子点の下
の数字を格子点番号とする。
【0305】通信元の格子点番号がnのとき、各方向の
格子点番号は、数38の計算で得ることができ、端の格
子点に対しても特別な処理は必要ない。
【0306】
【数38】
【0307】格子点に対するデータがアドレスSから格
子点順に1つの格子点ごとに、Rエントリづつ確保され
ているとすると、上記の計算により得られた通信先の格
子点番号をDとすると、数39で通信先の格子点のデー
タ領域の先頭アドレスを得ることができる。通信処理
は、第25及び第26実施の形態と同じである。
【0308】
【数39】
【0309】通信処理に通信先の領域からの読み出しが
含まれる場合には、各ダミー領域には、処理に悪影響が
ないような値を予め格納しておく。これは、ダミー領域
はかべと同一のデータにする近接格子点と同一のデータ
を持たせることで大きな影響を省く等により実現でき
る。また、各演算の単位元となる値がある場合には、そ
の値を設定することでも実現できる。
【0310】この実施の形態では、計算により各方向の
格子点番号を得たが第25実施の形態と同様に通信方向
の格子点の識別子をメモリに格納する実施の形態に対し
ても、上記方法が適用できる。
【0311】第25ないし第27実施の形態では、各格
子点ごとに一つにかたまった領域のメモリを割り当てた
場合について説明したが、たとえば圧力値、速度といっ
た要素ごとにかためて領域を確保し、各領域は格子点番
号順に各要素が格納されているといったように、要素ご
とにかためて領域を確保した場合の実施の形態について
も適用できる。
【0312】各格子点ごとにデータメモリ領域を割り当
て、前記メモリを参照することにより隣接する格子点の
データを得ることができる計算方式において、境界に位
置する格子点について、外側の格子点を模擬する仮想的
なデータ領域を割り当てることにより、処理プログラム
の単純化、プログラムサイズの圧縮、処理の高速化が実
現できる。
【0313】要素ごとをかためて領域を確保する場合に
は、頻繁にアクセスする要素をかためることで、キャッ
シュのヒット率を向上させることができ、処理の高速化
が可能となる。
【0314】<実施の形態29>次にこの発明の第29
実施の形態について説明する。微分方程式の求解におい
ては対象とする系を細かい格子点に分割するが、この場
合、境界条件によって定まる格子点の状態が全格子点に
伝搬し、安定状態に到るまでには境界から各々の格子点
ノードまでの点数に比例した時間がかかり、収束に到る
時間が長くなっていることが懸念される。
【0315】このような非効率を回避するためには、粗
ノードと細ノードを交互に使用して収束性をあげること
が考えられる。図47は粗ノードと細ノードを交互に使
用して収束性をあげるための一実施の形態を示す計算領
域境界近傍の計算格子点を示す。図において、125は
計算領域の境界上の格子点、126aは細ノード結合時
の計算領域内部の格子点、126bは粗ノード結合時の
計算領域内部の格子点、7aは細ノード結合用の要素プ
ロセッサ間コネクション、7bは粗ノード結合用の要素
プロセッサ間コネクションであり、これらの格子点と各
要素プロセッサは一対一に対応している。
【0316】この実施の形態では、細ノード結合時はす
べての計算領域内部の格子点126a及び126bを細
ノード結合時の要素プロセッサ間コネクション7aによ
り結合し、粗ノード結合時は複数の内部の格子点をジャ
ンプして粗ノード結合時の内部の格子点126bを粗ノ
ード結合時の要素間コネクション7bにより結合してい
る。ここで、粗ノード結合時の内部の格子点126bは
細ノード時と粗ノード時の両方において計算格子点の役
を果たしているため、粗ノード時の内部の格子点126
bの内部のデータメモリは、粗ノード時と細ノード時の
情報の受け渡しの役割を果たす。そして、計算に際して
は、細ノード結合と粗ノード結合を交互に使用する。こ
のような構成においては、粗ノード結合時の要素間コネ
クション7bにより境界上の格子点125の持つ境界条
件は、細ノード結合時より3倍速く計算領域内部に伝え
られ、その後細ノード結合により近傍の細ノード結合時
の内部の格子点126aへ伝えられて詳細な計算が実施
される。
【0317】従って、この実施の形態によれば、粗ノー
ドの使用により境界条件を計算領域内に即座に浸透させ
て収束性を高め、その後に細ノードの使用により計算精
度の高い演算結果が得られ、結果として高精度の高速演
算を達成できる。
【0318】なお、この実施の形態では粗ノード結合時
は細ノード結合時の格子点を2点おきに結合した例を示
したが、何点おきでも同様の効果を期待できることは言
うまでもない。また、この実施の形態では、格子の粗さ
を細ノード結合時と粗ノード結合時の2段階としたが、
さらに複数の段階の粗さの格子を用いても同様の効果を
奏する。さらに、この実施の形態では、粗ノード結合時
の計算と細ノード結合時の計算を1回ずつ交互に行う場
合について説明したが、粗ノード結合時と細ノード結合
時の計算を複数回に交互に行ってもよい。
【0319】上記の実施の形態では、粗ノードと細ノー
ドを交互に使用する場合について説明したが、粗ノード
で収束に到った後に、より細かいノードを用いて徐々に
解の精度を向上させていく方法もとることができる。
【0320】即ち、図47において、粗ノード結合時の
要素プロセッサ間コネクション7bにより結合された粗
ノード結合時の内部の格子点126bと境界上の格子点
125を用いて、収束解が得られるまで繰り返し演算を
行う、その後、粗ノード結合時の内部の格子点126b
の解を初期条件として与えるか、あるいは、粗ノード結
合時の内部の格子点126bの解を細ノードの空間分布
に合わせて比例配分して初期条件として与え、細ノード
結合時の要素プロセッサ間コネクション7aにより結合
された内部の格子点126a、粗ノード結合時の内部の
格子点126b、及び境界上の格子点125を用いて、
解の精度が高まるまで繰り返し計算を行い、収束解を最
終解とする。
【0321】この手法を採用することにより、大局的な
収束に到るまでの計算時間を大幅に加速することができ
る。すなわち、無駄に局所的な計算を行なうことを回避
することができ、安定的に収束に到ることができると同
時に、より早く最終的な収束に到達させることができ
る。
【0322】また、この実施の形態では、格子点と各要
素プロセッサは1対1に対応している場合について述べ
たが複数の格子点群が存在する空間領域を各要素プロセ
ッサに対応させる場合(割り当てる場合)でも同様の効
果を奏する。
【0323】<実施の形態30>次に、この発明の第3
0実施の形態について説明する。上記の第29実施の形
態では、隣接する要素プロセッサ間の結合コネクション
をジャンパ配線によりスキップすることにより粗ノード
結合を実現する場合を説明した。この実施の形態では、
この粗ノードをS/Wのみで実現する場合について説明
する。
【0324】この発明の第25実施の形態で説明した、
格子点毎にデータメモリの領域を確保し、格子点間のデ
ータ通信を、この格子点毎に確保されたデータメモリの
領域を通信が必要な格子点同士で互いにアクセスしあう
ことで実現する方法において、格子点毎に通信すべき各
方向のデータメモリ領域を指し示すテーブルを持ち、こ
のテーブルの各エントリに所望の格子点数分スキップし
た格子点のために確保されたデータメモリ領域のアドレ
スを格納することにより隣接する格子点以外の格子点と
データ通信を行う、すなわち粗ノード結合をS/Wのみ
で実現することができる。
【0325】従って、場の方程式の求解を始めた段階で
は通信すべき各方向のデータメモリ領域を指し示すテー
ブルを粗ノード処理を実現するように設定しておき、処
理が収束した後に前記のテーブルを細ノード処理を実現
するように隣接格子点に確保されたデータメモリ領域を
指し示すように変更し、細ノード処理を行うことができ
る。
【0326】また、上記と同様な方法でテーブルを適宜
書き換えることにより、粗ノード処理と、細ノード処理
を交互に実行することもできる。
【0327】さらに、前記の通信すべき各方向のデータ
メモリ領域を指し示すテーブルを、粗ノード結合処理用
と細ノード結合用と2個もち、かつ粗ノード処理用のプ
ログラムと細ノード処理用のプログラムを並行して実行
することにより、粗ノードの処理と細ノードの処理を並
行して実行することも可能である。
【0328】粗ノード処理時には、通信すべき近接格子
点が少し離れた点であり、細ノード処理時には近くの格
子点になるといったように、通信すべき格子点が変化す
るような処理の場合でも、通信方向の格子点のメモリ領
域を示す識別子の領域を書き換えるだけで、全く同一の
プログラムで処理を行うことができる。
【0329】上記実施の形態では粗ノードと細ノードを
同時に実行することにより収束性を向上させる場合につ
いて説明したが、粗ノード処理のアルゴリズムと細ノー
ド処理のアルゴリズムが同一である必要はない。粗ノー
ドと細ノードのプログラムを個別に有することにより粗
ノード処理のアルゴリズムと細ノード処理のアルゴリズ
ムとして異なるアルゴリズムを用いることができる。
【0330】たとえば、粗ノードでは収束性はよいが精
度に欠けるアルゴリズムを用いることにより系全体とし
てさらに収束性を向上させることができる。
【0331】SIMPLE法に関する上記実施の形態で
は、隣接する格子点の現在のデータを参照して該当格子
点に関する計算を行なっている。しかし、隣接する格子
点に関するデータを2世代以上持ち、世代間変動が一定
量以下の場合には該当ノードの演算を省略することによ
り、総計算量を低減し、計算時間を大幅に短縮すること
ができる。また、世代間変動が一定値以下の格子点の計
算を省略することにより得られた計算資源を他の格子点
処理のために使用できるという効果もある。ここでい
う、「2世代のデータ」とは、隣接格子点に関する「繰
り返し計算の1ステップ前の計算結果に基づくデータ」
と「繰り返し計算の2ステップ前の計算結果に基づくデ
ータ」を指している。
【0332】上記のSIMPLE法においては、各格子
点における計算を省略するための条件を与える。隣接格
子点の世代間のデータの差異は一定値であった。しかし
ながら、収束計算の過程において、計算を省略するため
の条件である世代間のデータの差異の許容値を、最初は
大きくしておき徐々に縮めていくことにより、大局的な
収束に到るまでの計算時間を大幅に加速することができ
る。この手法を適用することによって、無駄に局所的な
計算を行なうことを回避することができ、最終的な収束
により早く到達することができる。
【0333】<実施の形態31>次に、この発明の第3
1実施の形態について説明する。従来の並列計算機で
は、計算回数を最小化することに主眼がおかれていたた
めに、ある時刻における全格子点の計算が終了した時点
で収束の有無を判定し、未収束であれば、時刻を進め
て、再び各格子点の計算を開始するという逐次的手段を
とっていたために、収束処理が全体を律速するという欠
点があった。
【0334】一般に流体シミュレーションでは、(各格
子点での計算コストCA)>(収束判定処理のコストC
C)の関係が成立するため、若干のバッファ装置を用意
すれば、この構成を採用することが可能である。また、
部分的に収束判定をすれば、このバッファが少なくても
すむ。収束するまでの繰り返し計算の回数をNとする
と、N・(CA+CC+α)がN・CA+αに実行時間
で短縮される。ただし、αは通信コストである。
【0335】図48は、シミュレーションと収束判定処
理の相互依存関係を断ち切り、シミュレーションの速度
を向上させるためのこの発明の一実施の形態を示す、マ
ルチプロセッサの構成図である。
【0336】図において、3kは演算を行う要素プロセ
ッサ、180は列毎に配置された各要素プロセッサ3k
が出力する収束フラグの情報により列毎の収束状況を判
定する収束判定ユニット、1は要素プロセッサ3k及び
収束判定ユニット180を統括管理するためのホストコ
ンピュータ、104は行方向の要素プロセッサ3k間の
演算のためのデータをやり取りするための行方向計算情
報バス、105は列方向の要素プロセッサ3k間の演算
のためのデータをやり取りするための列方向計算情報バ
ス、181は各要素プロセッサ3kの出力する収束フラ
グを収束判定ユニット180へ伝達するための収束フラ
グ情報バス、182は各収束判定ユニット180の収束
情報をホストコンピュータへ伝達するための収束情報バ
スである。
【0337】次に動作について説明する。各要素プロセ
ッサ3kは自己の内部演算結果に対し各計算繰り返しス
テップ毎またはある一定の計算繰り返しステップ数毎に
計算の収束を判定して、例えば収束したならば収束判定
フラグを1として収束フラグ情報バス181へ出力して
いる。収束判定ユニット180は各要素プロセッサ3k
から出力された収束判定フラグの情報を集め、各々の収
束判定ユニット180の管轄する要素プロセッサ3kの
全てが収束したと判断すれば収束情報を個別に収束情報
バス182へ出力する。そして、最終的にホストコンピ
ュータ1が全収束情報バス182から吸上げた全要素プ
ロセッサ3kの収束情報から全体の収束を判定して演算
を終了させる。
【0338】この様に構成することにより、各要素プロ
セッサ3kは各々の演算を妨げられることなく並列に演
算を実行することができ、演算の高速化を図ることがで
きる。
【0339】なお、この実施の形態では収束判定ユニッ
ト180は格子状に配置された要素プロセッサの行毎に
グループ分けを行いこのグループの収束情報を管理して
いるが、列毎にグループ分けしても、ランダムにグルー
プ分けしても同様の効果を奏することは言うまでもな
い。
【0340】<実施の形態32>次にこの発明の第32
実施の形態について説明する。図49はさらにシミュレ
ーションと収束判定処理の相互依存関係を断ち切り、シ
ミュレーションの速度を向上させるための実施の形態を
示すマルチプロセッサの構成図である。
【0341】図において、3kは演算を行う要素プロセ
ッサ、180および180aは列毎に配置された各要素
プロセッサ3kが出力する収束フラグの情報により列毎
の収束状況を判定する収束判定ユニット、1は要素プロ
セッサ3k及び収束判定ユニット180を統括管理する
ためのホストコンピュータ、104は行方向の要素プロ
セッサ3k間の演算のためのデータをやり取りするため
の行方向計算情報バス、105は列方向の要素プロセッ
サ3間の演算のためのデータをやり取りするための列方
向計算情報バス、181は各要素プロセッサ3kの収束
状況を示す収束フラグを収束判定ユニット180へ伝達
するための収束フラグ情報バス、182は隣接する収束
判定ユニット180間及びホストコンピュータ1を結び
収束判定ユニット180の収束情報を伝達するための収
束情報バスである。
【0342】この構成においては、収束判定ユニット1
80は互いに隣接した収束判定ユニット同士に対して一
方向にしか情報伝達ができないように収束情報バス18
2を配している。そして、ホストコンピュータ1から最
も遠い収束判定ユニット180aの管轄する全要素プロ
セッサ3kの計算が収束した際に収束情報の送出を開始
する。他の収束判定ユニット180は隣接する収束判定
ユニット180からの収束情報と、収束フラグにより自
己の管轄する全要素プロセッサ3kの計算が収束したと
の判断の双方がそろった場合に、収束情報を隣接する収
束判定ユニット180へ送出する。
【0343】このようにすれば、最もホストコンピュー
タ1に近い収束判定ユニット180が収束情報をホスト
コンピュータ1へ送出した時点で、ホストコンピュータ
1は計算の終了を即座に判定できるため、要素プロセッ
サ3k及びホストコンピュータ1の処理を妨げることな
く、より計算の高速化を図ることができる。
【0344】なお、この実施の形態においては収束判定
ユニット180は格子状に配置された要素プロセッサの
行毎にグループ分けを行いこのグループの収束情報を管
理しているが、列毎にグループ分けしても、ランダムに
グループ分けしても同様の効果を奏することは言うまで
もない。また、収束判定ユニット180同士の接続方法
はホストコンピュータ1からの距離に関係なく接続して
も同様の効果が期待できる。
【0345】<実施の形態33>次に、この発明の第3
3実施の形態について説明する。第32実施の形態で示
したように、収束フラグを要素プロセッサの外部に構成
した収束フラグ情報バスを介して伝達するのは、通信時
間のロスを引き起こす。図50は収束フラグの伝送時間
短縮のための第33実施の形態による要素プロセッサの
構成を示すブロック図である。また、図51は図50の
要素プロセッサを構成要素とするマルチプロセッサの構
成を示すブロック図である。
【0346】図50において、3mは要素プロセッサ本
体、5は要素プロセッサ3m内に形成され計算を実施す
るためのプロセッシングユニット、6は要素プロセッサ
3m内に形成されプロセッシングユニット5の計算に必
要な計算情報を格納するメモリ部、183は要素プロセ
ッサ3m内に形成され自己の属する要素プロセッサ3m
内のプロセッシングユニット5の収束状況、隣接する要
素プロセッサ3m内の収束状況及び全要素プロセッサ3
mの収束状況を判定する収束判定部、104は行方向の
要素プロセッサ3m内のメモリ部6間の演算に必要なデ
ータをやり取りするための行方向計算情報バス、105
は列方向の要素プロセッサ内のプロセッシングユニット
5間の演算に必要なデータをやり取りするための列方向
計算情報バス、181は各要素プロセッサ内の収束判定
部183をリング状に接続して収束フラグを隣接する要
素プロセッサ内の収束判定部183へ伝送するための収
束フラグ情報バス、182は全要素プロセッサの収束判
定部183の少なくとも1つ以上の収束判定部183と
ホストコンピュータを接続し全要素プロセッサの収束情
報をホストコンピュータ1へ伝送するための収束情報バ
ス、184はプロセッシングユニット5の出力する収束
フラグを収束判定ユニット180へ伝達するための内部
情報フラグバス、106はプロセッシングユニット5と
メモリ部6の間で演算に必要なデータや演算結果データ
をやり取りする内部計算情報バスである。
【0347】図51において、1は要素プロセッサ3
m、3kを統括管理するためのホストコンピュータであ
る。各プロセッシングユニット5においては、各計算繰
り返しステップ毎またはある一定の計算繰り返しステッ
プ数毎に計算の収束を判定して、例えば収束したならば
内部情報フラグを1として内部情報フラグパス184を
介して収束判定部183へ送出している。また、各要素
プロセッサ3kの収束判定部183は収束フラグ情報バ
スを介してリング状に接続されている。収束判定の開始
は、予め定められた特定の要素プロセッサ3mから行な
う。要素プロセッサ3mの収束判定部183が、その内
部のプロセッシングユニット5から収束したことを示す
内部情報フラグを受け取ると同時に、例えば収束したな
らば収束フラグを1として隣接する要素プロセッサ3k
の収束判定部183へ収束フラグ情報バスを介して発信
する。ここでは、リング状に接続された収束情報フラグ
バス181は一方向への情報伝達を行う機能を有すると
する。前述の隣接する要素プロセッサ3kの収束判定部
183は、自己の属する要素プロセッサ3kのプロセッ
シングユニットからの内部情報フラグ(=1)と、隣接
する要素プロセッサ3mの収束判定部183からの収束
フラグ(=1)の論理積(AND)をとって真(=1)
となれば、収束フラグを1としてさらに隣接する要素プ
ロセッサ3kの収束判定部183へ収束フラグ情報バス
181を介して送出する。
【0348】リング状に接続された各収束判定部183
は、自己の属する要素プロセッサ3kのプロセッシング
ユニットからの内部情報フラグ(=1)と、隣接する要
素プロセッサ3kの収束判定部183からの収束フラグ
(=1)の論理積(AND)をとって1となれば、収束
フラグを1としてさらに隣接する要素プロセッサ3kの
収束判定部183へ収束フラグ情報バスを介して送出す
る手順を収束フラグ情報バス181の接続順に次々と実
施する。最終的に、最初に収束フラグを1として発信し
た要素プロセッサ3mの収束判定部183へ収束フラグ
(=1)が戻された時点で、全要素プロセッサ3k,3
mが収束したと判断し、収束情報(=1)を収束情報バ
ス182を介してホストコンピュータ1へ送出し、計算
を終了させる。
【0349】このようにすれば、内部情報フラグバス1
81が各要素プロセッサ3k,3mの内部に設けられて
いるので、収束に関する情報の伝達時間を短縮でき、計
算の高速化を達成できる。
【0350】なお、上記実施の形態では内部情報フラ
グ、収束フラグ情報、収束情報は各々0または1の論理
値として説明したが、収束、未収束が判定できれば何で
あっても良い。また、収束情報バス182は一つの要素
プロセッサ3mに設けられていればよく、全要素プロセ
ッサに設ける必要はない。
【0351】さらに、特定の要素プロセッサ3mは、全
要素プロセッサのどれであっても良い。
【0352】<実施の形態34>次に、この発明の第3
4実施の形態について説明する。図52は、全要素プロ
セッサを複数のグループに分け、各々のグループ毎に収
束情報フラグパスの情報伝達リンクを形成し、収束判定
の並列化を実現するための実施の形態を示すマルチプロ
セッサの構成を示すブロック図である。
【0353】図52において、181は全要素プロセッ
サを複数のグループに分割し、グループ内各要素プロセ
ッサ3k,3m内の収束判定部183をリング状に接続
して収束フラグを隣接する要素プロセッサ3k,3m内
の収束判定部183へ伝送するための収束フラグ情報バ
ス、182は各グループ内の一つの特定要素プロセッサ
3mに設けられ収束判定部183とホストコンピュータ
1間を結び各グループの収束情報を伝達するための収束
情報バスである。
【0354】各グループの内では、収束情報バス182
が設けられた特定の要素プロセッサ3mの収束判定部1
83において、その内部のプロセッシングユニット5か
ら収束したことを示す内部情報フラグを受け取ると同時
に、例えば収束したならば収束フラグを1として隣接す
る要素プロセッサ3kの収束判定部183へ収束フラグ
情報バスを介して発信する。ここでは、グループ内の要
素プロセッサの収束判定部183間をリング状に接続さ
れた収束フラグ情報バス181は一方向への情報伝達を
行う機能を有するとする。前述の隣接する要素プロセッ
サ3kの収束判定部183は、自己の属する要素プロセ
ッサ3kのプロセッシングユニットからの内部情報フラ
グ(=1)と、隣接する要素プロセッサ3mの収束判定
部183からの収束フラグ(=1)の論理積(AND)
をとって真(=1)となれば、収束フラグを1としてさ
らに隣接する要素プロセッサ3kの収束判定部183へ
収束フラグ情報バス181を介して送出する。
【0355】リング状に接続された各収束判定部183
は、自己の属する要素プロセッサ3kのプロセッシング
ユニットからの内部情報フラグ(=1)と、隣接する要
素プロセッサ3kの収束判定部183からの収束フラグ
(=1)の論理積(AND)をとって1となれば、収束
フラグを1としてさらに隣接する要素プロセッサ3kの
収束判定部183へ収束フラグ情報バスを介して送出す
る手順を収束フラグ情報バス181の接続順に次々と実
施する。最終的に、最初に収束フラグを1として発信し
た特定の要素プロセッサ3mの収束判定部183へ1の
収束フラグ(=1)が戻された時点で、グループ内の全
要素プロセッサ3が収束したと判断し、収束情報(=
1)を収束情報バス182を介してホストコンピュータ
1へ送出する。ホストコンピュータ1は全グループから
収束情報(=1)を受け取った時点で全要素プロセッサ
の計算が収束したと判断して、計算を終了させる。
【0356】このように構成すれば、グループ毎に収束
判定が並列化され、収束判定時間を短縮できる。
【0357】なお、この実施の形態においては収束判定
部183は格子状に配置された要素プロセッサの行毎に
グループ分けを行いこのグループの収束情報を管理して
いるが、列毎にグループ分けしても、ランダムにグルー
プ分けしても同様の効果を奏することは言うまでもな
い。また、上記実施の形態では内部情報フラグ、収束フ
ラグ情報、収束情報は各々0または1の論理値として説
明したが、収束、未収束が判定できれば何であっても良
い。また、収束情報バス182はグループ内の一つの要
素プロセッサ3mに設けられていればよく、全要素プロ
セッサに設ける必要はない。
【0358】さらに、特定の要素プロセッサ3mは、グ
ループ内にある要素プロセッサのどれであってもよい。
【0359】<実施の形態35>次に、この発明の第3
5実施の形態について説明する。図53は収束判定を並
列化させた際のホストコンピュータの負荷を軽減させる
ことを実現するためのマルチプロセッサを形成する要素
プロセッサの構成を示すブロック図である。また、図5
4は図53の要素プロセッサを構成要素とするマルチプ
ロセッサの全体構成図である。
【0360】図53において、181は全要素プロセッ
サ3k,3p,3qを複数のグループに分割し、グルー
プ内各要素プロセッサ内の収束判定部183をリング状
に接続して収束フラグを隣接する要素プロセッサ内の収
束判定部183へ伝送するための収束フラグ情報バス、
182は各グループの少なくとも一つ以上の要素プロセ
ッサ3p,3qに設けられ隣接するグループのこれを設
けた要素プロセッサ3p,3qの収束判定部183をリ
ング状に接続した収束情報バス、186は全グループの
少なくとも一つ以上の全要素プロセッサ3pに設けられ
この要素プロセッサ3pの収束判定部183とホストコ
ンピュータ間を結び全グループの収束情報を伝達するた
めの終了情報バスである。
【0361】図54に示すようなグループ分けを行う
と、収束情報バス182が設けられたグループ内の特定
の要素プロセッサ3pの収束判定部183において、収
束判定を開始し、その内部のプロセッシングユニット5
から収束したことを示す内部情報フラグを受け取ると同
時に、例えば収束したならば収束フラグを1として隣接
する要素プロセッサ3kの収束判定部183へ収束フラ
グ情報バスを介して発信する。ここでは、グループ内の
要素プロセッサ3k,3pの収束判定部183間をリン
グ状に接続された収束情報フラグバス181は一方向へ
の情報伝達を行う機能を有するとする。
【0362】前述の隣接する要素プロセッサ3kの収束
判定部183は、自己の属する要素プロセッサ3kのプ
ロセッシングユニットからの内部情報フラグ(=1)
と、隣接する要素プロセッサ3p,3qの収束判定部1
83からの収束フラグ(=1)の論理積(AND)をと
って真(=1)となれば、収束フラグを1としてさらに
隣接する要素プロセッサ3kの収束判定部183へ収束
フラグ情報バスを介して送出する。リング状に接続され
た各収束判定部183は、自己の属する要素プロセッサ
3kのプロセッシングユニットからの内部情報フラグ
(=1)と、隣接する要素プロセッサ3kの収束判定部
183からの収束フラグ(=1)の論理積(AND)を
とって1となれば、収束フラグを1としてさらに隣接す
る要素プロセッサ3kの収束判定部183へ収束フラグ
情報バス181を介して送出する手順を収束フラグ情報
バス181の接続順に次々と実施する。最終的に、最初
に収束フラグを1として発信した特定の要素プロセッサ
3p,3qの収束判定部183へ1の収束フラグ(=
1)が戻された時点で、グループ内の全要素プロセッサ
3pまたは3qが収束したと判断する。
【0363】さらに、終了情報バス186を設けられた
要素プロセッサ3pの内の特定の要素プロセッサの収束
判定部183が自己の属するグループの全要素プロセッ
サ3p,3kが収束したと判断すれば、収束情報を1と
してリング状に接続された収束情報バスを介して収束情
報(=1)を発信する。ここでは、グループ内の要素プ
ロセッサ3p,3qの収束判定部183間をリング状に
接続された収束情報バス182は一方向への情報伝達を
行う機能を有するとする。
【0364】予め定められたグループの要素プロセッサ
3pが隣接するグループの収束情報バス182を設けた
要素プロセッサ3qへ送出する。前述の隣接するグルー
プの収束情報バス182を設けられた要素プロセッサ3
qの収束判定部183は、自己の属するグループの収束
情報(=1)と、隣接するグループの収束情報(=1)
の論理積(AND)をとって真(=1)となれば、収束
情報を1としてさらに隣接するグループの要素プロセッ
サ3qの収束判定部183へ収束情報バス182を介し
て送出する。
【0365】このように、リング状に接続された各収束
判定部183は、自己の属するグループの収束情報(=
1)と、隣接するグループからの収束情報(=1)の論
理積(AND)をとって1となれば、収束情報を1とし
てさらに隣接するグループの収束情報バス182を設け
た要素プロセッサ3qの収束判定部183へ収束情報バ
ス182を介して送出する手順を収束情報バス182の
接続順に次々と実施する。
【0366】最終的に、最初に収束フラグを1として発
信した特定の要素プロセッサ3pの収束判定部183へ
収束情報(=1)が戻された時点で、全グループの全要
素プロセッサ3k,3p,3qが収束したと判断し、終
了情報(=1)を終了情報バス186を介してホストコ
ンピュータ1へ送出する。ホストコンピュータ1は終了
情報(=1)を受け取った時点で全要素プロセッサ3
k,3p,3qの計算が収束したと判断して計算を終了
させる。
【0367】このように構成すれば、収束判定を並列化
させた際のホストコンピュータの負荷を軽減させること
ができ、さらに計算の高速化を図ることができる。
【0368】なお、この実施の形態においては収束判定
部183は格子状に配置された要素プロセッサの行毎に
グループ分けを行いこのグループの収束情報を管理して
いるが、列毎にグループ分けしても、ランダムにグルー
プ分けしても同様の効果を奏することは言うまでもな
い。また、上記実施の形態では内部情報フラグ、収束フ
ラグ情報、収束情報は各々0または1の論理値として説
明したが、収束、未収束が判定できれば何であっても良
い。また、収束情報バス182はグループ内の一つの要
素プロセッサ3pおよび3qに設けられていればよく、
全要素プロセッサに設ける必要はない。さらに、終了情
報バス186は一つの要素プロセッサ3pに設けられて
いればよく、全要素プロセッサに設ける必要はない。
【0369】さらに、特定の要素プロセッサ3pおよび
3qは、グループ内にある要素プロセッサのどれであっ
てもよく、また特定の要素プロセッサ3pはグループを
代表する要素プロセッサのどれであってもよい。
【0370】<実施の形態36>次に、この発明の第3
6実施の形態について説明する。マルチプロセッサ上で
収束計算を実行した場合、希ではあるが非安定点(非収
束点)が巡回することがある。このような、いわゆる
「発振現象」を検出する必要がある。
【0371】「発振現象」の検出は、一旦全要素プロセ
ッサにおける収束を確認した後、再度収束判定を行うこ
とにより可能であり、複数回収束判定を行うことにより
相当な精度で収束を判定することができる。
【0372】具体的には、予めきめられた経路に従って
終了フラグを順次転送し、全体としての収束判定を行
う。図55に終了フラグを転送する経路の一例を示した
概念図を示す。図55において、190および191は
2次元空間を離散化した結果得られる格子点を示してい
る。また、各格子点を結ぶ矢印線192は終了フラグが
転送される経路を示している。
【0373】以下に、各格子点での収束判定のための処
理について説明する。隣接格子点からの終了フラグが到
着後、はじめて収束が確認された時、次の格子点に終了
フラグを伝搬する。図56に各格子点が終了フラグを隣
接格子点へ伝搬するためのフローチャートを示す。ただ
し、終了フラグの起点となる格子点190の処理を除
く。
【0374】図56に示されているように、まず、隣接
する格子点から終了フラグをもったメッセージが到着し
たかどうか判断する(ステップST20)。そして、隣
接する格子点から終了フラグをもったメッセージが到着
すると自格子点の収束判定処理が駆動され、自格子点の
処理が収束に達するまで待ち(ステップST21)、収
束した時点で図55で示されているような予め決められ
た経路に沿って次の格子点へ終了フラグをもったメッセ
ージを転送する(ステップST22)。
【0375】図57に終了フラグ転送の起点となってい
る格子点での終了フラグ送出のためのフローチャートを
示す。図に示されているように終了フラグの起点となる
格子点では自格子点での処理の収束のみを判定し(ステ
ップST25)、収束していれば図55に示されたよう
な経路に沿って終了フラグをもったメッセージを次の格
子点へ送出する(ステップST26)。
【0376】上記のようにして、すべての格子点を通過
後、終了フラグはホストコンピュータに転送され、収束
が確認される。この第35実施の形態のマルチプロセッ
サにおいては、一旦収束が確認された後、再度上記のプ
ロセスを繰り返すことにより収束判定を確実なものにす
る。
【0377】以上説明したようにこの実施の形態におい
ては、各格子点での処理に収束判定フラグを持ったメッ
セージが入力されることにより、自格子点での処理の収
束判定処理が起動され、自格子点の処理が収束している
場合には収束判定フラグを持ったメッセージを出力する
ようにしたので、非安定点が存在する場合でも系全体の
収束判定を正しく行うことが出来る。
【0378】また、この実施の形態においては終了フラ
グの起点となる格子点における自格子点の処理の収束判
定処理を常時起動する場合について説明したが、ホスト
コンピュータから収束判定の処理を起動しても同一の効
果が得られることはもちろんである。
【0379】この種の情報処理装置においては、微分方
程式の解は各格子点毎に割り付けられたメモリなどの記
憶手段に分散して格納される。そのため、分散して格納
された計算結果を集積し、可視化などの処理を行い、モ
ニタ上に表示する必要がある。
【0380】この実施の形態では、各格子点に分散して
いる微分方程式の解をホストコンピュータに集積する方
法について示す。
【0381】第36実施の形態では、マルチプロセッサ
上で収束計算を実行した場合、システム全体として計算
が終了したか、否かの収束判定方法について説明した。
すなわち、予めきめられた経路に従って終了フラグを順
次転送し、全格子点を一巡した後、系全体が収束したこ
とを示すメッセージをホストコンピュータに送出する。
ホストコンピュータは前記のメッセージを受信すること
で計算の終了を再度確認するための処理を行う。
【0382】図56に各格子点での収束判定処理と微分
方程式の解の送出の関係を示したフローチャートを示
す。図56に沿って収束判定の手順及び微分方程式の解
の送出について説明する。まず、各格子点が隣接する格
子点から終了フラグを受けとる(ステップST20)。
自格子点の処理の収束判定を行い(ステップST2
1)、収束を確認した後、予め定めた経路に沿って終了
フラグを送出する(ステップST22)と同時に、自格
子点での計算結果、すなわち、微分方程式の解をホスト
コンピュータに送出する。
【0383】また、図58にホストコンピュータに送出
する微分方程式の解をもったメッセージパケットPAC
のフォーマットを示す。メッセージパケットのフィール
ドは、左データフィールド(第1オペランド)pa3、
右データフィールド(第2オペランド)pa4、メッセ
ージパケットが転送されるべき要素プロセッサ番号が格
納された行き先PE番号pa1、および次ぎに実行する
命令のアドレスが格納された行き先ノード番号pa2の
各フィールドから構成されている。
【0384】この実施の形態にかかるメッセージパケッ
トにおける左データフィールド、右データフィールド、
行き先要素プロセッサ番号及び行き先ノード番号は以下
のように与えられる。左データフィールドは、微分方程
式の解の当該格子点での値(関数値)である。右データ
フィールドは、当該格子点の識別番号である。行き先要
素プロセッサ(PE)番号は、ホストコンピュータが要
素プロセッサに割り振った番号である。行き先ノード番
号は、RESULTである。RESULTは予め定めた値で、メッセ
ージパケットが各格子点での計算結果を格納しているこ
とを示す。
【0385】上記のようなメッセージパケットをホスト
コンピュータが受信すると以下の動作を行う。
【0386】(1)行き先ノード番号のフィールドをチ
ェックし、値がRESULTであることから、そのメッセージ
パケットが各格子点での演算結果であることを確認す
る。
【0387】(2)右データフィールドに格納された格
子点の番号、左データに格納された微分方程式の解を読
みだす。
【0388】(3)格子点番号から予め定めた方法でア
ドレスを決定し、当該格子点での解の値をホストコンピ
ュータのメモリなどの記憶手段に格納する。
【0389】以上説明したように、この実施の形態では
各格子点の計算の収束が確認されると同時にホストコン
ピュータに自格子点での計算結果(微分方程式の解)を
転送するようにしたので、全システムの計算が収束し、
すなわち、実行中の微分方程式の求解の完了が確認され
た時点で最終的な結果データがホストコンピュータ上に
揃うという効果がある。
【0390】なお、第36実施の形態では、1つの格子
点処理(プログラム)を1つの要素プロセッサに割り付
けることを前提にしているが、第37実施の形態乃至第
40実施の形態においては、複数の格子点の処理プログ
ラムを同一の要素プロセッサに割り付け、格子点間のデ
ータ授受を同一要素プロセッサ内のデータメモリを介し
て行うことを前提としている。以下に、各実施の形態に
ついての詳細な説明をする。
【0391】<実施の形態37>この発明の第37実施
の形態について説明する。非安定点(非収束点)の巡回
を検出する他の方法として、すべての格子点を通過する
複数の経路で終了フラグの転送を行うことにより、すべ
ての格子点が収束したことを多重に確認する収束判定方
法が考えられる。
【0392】具体的には、正方格子状に配置された要素
プロセッサに対して、縦方向と横方向の2方向で終了フ
ラグを授受することにより、多重に収束判定することが
できる。
【0393】図59にこの実施の形態における終了フラ
グの転送経路を示した概念図を示す。
【0394】図において、193,194および195
は2次元空間における正方格子を示し、実線で示した矢
印は第1の終了フラグ転送経路196を、点線で示した
矢印は第2の終了フラグ転送経路197を各々示してい
る。この実施の形態では、第1、および第2の終了フラ
グの転送経路は互いに直交させることによって非収束点
の循環を検出可能である。
【0395】図60に各格子点が終了フラグを隣接格子
点へ伝搬するためのフローチャートを示す。ただし、終
了フラグの起点となる格子点193,195の処理を除
く。
【0396】図60に示されているように、まず、隣接
する格子点から収束判定メッセージが到着したか否かを
判断する(ステップST30)。隣接する格子点から終
了フラグをもったメッセージが到着すると自格子点の収
束判定処理が駆動され、自格子点の処理が収束に達する
まで待ち(ステップST31)、収束した時点で、到着
した終了フラグが第1の転送経路に属するものか、第2
の転送経路に属するものかを判定し、図59で示されて
いるような予め決められた所望の経路に沿って次の格子
点へ終了フラグをもったメッセージを転送する(ステッ
プST32)。
【0397】図61に終了フラグ転送の起点となってい
る格子点での終了フラグ送出のためのフローチャートを
示す。図に示されているように、まず、終了フラグの起
点となる格子点では自格子点での処理の収束のみを判定
し(ステップST40)、収束していれば収束メッセー
ジに第1あるいは第2の経路に属することを示すフラグ
を格納し(ステップST41)、その後、図59に示さ
れたような経路に沿って終了フラグをもったメッセージ
を次の格子点へ送出する(ステップST42)。
【0398】この際、終了フラグの値にそのフラグが第
1の経路に属するものか、第2の経路に属するものかの
種別に対応した値を格納する。この値をもとにその他の
格子点では到着した終了フラグの経路を決定することが
できる。
【0399】以上説明したように、2個以上の収束判定
フラグを転送する経路を設けたので、非安定点が存在す
る場合でも系全体の収束判定を正しく実行できる。
【0400】この実施の形態では終了フラグが2つの経
路のうちいずれの経路上を転送されているものであるか
を表示するためにフラグの値を用いたが、終了フラグが
処理されるプログラムを別々に用意し、各々の終了フラ
グが到着した際に終了フラグの転送経路毎に収束判定の
ためのプログラムを起動するようにしても同一の効果が
得られることは明らかである。
【0401】<実施の形態38>次に、この発明の第3
8実施の形態について説明する。非安定点が存在する可
能性がある場合の、マルチプロセッサを用いた収束計算
において非安定点を検出する手順について説明する。
【0402】まず、第35実施の形態と同様にして、予
め定めた経路に沿って全格子点を通過して終了フラグを
転送した後、ホストコンピュータに転送する。つぎに、
ホストコンピュータからすべての格子点の処理を停止さ
せるためのメッセージを送信し、結果として、全ての処
理を停止させる。その後、改めて収束の確認をすること
によっても、非安定点の巡回を検知し、確実な収束判定
を実現することができる。
【0403】図62は、この実施の形態における各格子
点の収束判定に関連する処理内容を示したフローチャー
トである。図62に基づいて各格子点の収束判定に関連
する処理について説明する。この実施の形態では収束判
定の結果を格納するためにメモリもしくはレジスタを使
用する。
【0404】ステップST50で、隣接する格子点から
終了フラグを持ったメッセージが到着したか否かを判断
する。隣接する格子点から終了フラグをもったメッセー
ジが到着すると自格子点の収束判定処理が駆動され、自
格子点の処理が収束に達するまで待ち(ステップST5
1)、収束した時点で、例えば、図55で示されている
ような予め決められた経路に沿って次の格子点へ終了フ
ラグをもったメッセージを転送する(ステップST5
3)。この際、前記のメモリをクリアし(ステップST
52)、かつ、収束判定処理プログラムを起動する(ス
テップST54)。収束判定処理プログラムは自格子点
の処理が非収束状態か否かを判定し、もし非収束状態と
判定した場合には前記メモリに自格子点が非収束状態に
なったことを示すフラグを書き込む。
【0405】また、終了フラグをもったメッセージの起
点となる格子点での収束判定のための処理は図63で示
したように、基本的には第36実施の形態における終了
フラグをもったメッセージの起点となる格子点の処理と
同様であるが、この処理に加えて前記メモリをクリアし
(ステップST61)、かつ、収束判定処理プログラム
を起動する(ステップST63)。収束判定処理プログ
ラムは自格子点の処理が非収束状態か否かを判定し、も
し非収束状態と判定した場合には前記メモリに自格子点
が非収束状態になったことを示すフラグを書き込む。
【0406】しかる後に、終了フラグをもったメッセー
ジがホストコンピュータに転送される。ホストコンピュ
ータが終了フラグをもったメッセージ受信すると、予め
定めてあった格子点に対して処理を停止させるためのメ
ッセージを送信する。
【0407】前記処理を停止させるためのメッセージを
受信した格子点は処理を停止すると同時に予め定めてあ
る経路に沿って処理を停止するためのメッセージを隣接
する次の格子点に転送する。処理を停止するためのメッ
セージを受信した格子点も同様の停止処理を行う。全て
の格子点の処理が停止した後、ホストコンピュータから
前記の各格子点に割り付けられたメモリを読みだし全て
の読みだし結果がゼロであった場合には、対象となる計
算は収束したことになる。もし、前記の読みだし結果の
1つでもゼロと異なるものがあった場合には上述の処理
を再度繰り返す。
【0408】図64に格子点が処理の停止を行うための
フローチャートを示す。ホストコンピュータから予め定
めた格子点にのみ処理の停止をするためのメッセージを
送信する。予め定められた格子点は処理停止メッセージ
が到着したか否かを判断する(ステップST70)。処
理停止メッセージが到着したら処理を停止する(ステッ
プST71)。その後予め定めた経路に沿って前記処理
を停止するためのメッセージを転送する(ステップST
72)。この実施の形態では、ホストコンピュータから
予め定めた格子点にのみ処理の停止をするためのメッセ
ージを送信する場合について説明したが、本メッセージ
を全て、もしくは複数の格子点に対して同時もしくは時
系列的に送信しても同様の効果が得られる。
【0409】また、この実施の形態ではメッセージによ
り格子点の処理を停止する場合を示したが、この発明に
かかるマルチプロセッサ・システムを構成する要素プロ
セッサが割り込み信号を受信する機構を有している場
合、ホストコンピュータから前記要素プロセッサに割り
込みをかけることにより格子点の処理を停止させても同
一の効果が得られる。
【0410】また、この実施の形態では格子点が非収束
状態になったことを示すフラグを格納するメモリを各格
子点毎に割り当てた場合を説明したが、メモリはシステ
ム内に1個以上存在していれば同一の効果を得ることが
できることは明らかである。また、前記マルチプロセッ
サを構成する要素プロセッサがレジスタを有する構造で
あれば、レジスタを用いても同一の効果が得られる。
【0411】<実施の形態39>次に、この発明の第3
9実施の形態について説明する。第36ないし第38実
施の形態では、予め定めた経路に沿って、自格子点の処
理が収束状態に到達したことを示すフラグを持ったメッ
セージが転送され、ホストコンピュータに上記のメッセ
ージが伝達される。その後、ホストコンピュータが第3
6実施の形態で説明した「発振現象」を検出するための
処理を起動する場合について説明した。
【0412】しかし、希にではあるが、境界条件等によ
っては長時間の間収束状態に到達しないことが想定され
る。
【0413】以下に、上記のように系の状態が継続的に
不安定な状態に陥った場合にも対応可能な情報処理装置
の収束判定方法について説明する。
【0414】ホストコンピュータ上のタイマ、システム
に取り付けられたウォッチ・ドッグ・タイマ等を用いて
処理時間を計測し、一定時間上記の収束メッセージがホ
ストコンピュータに転送されなかった場合、各格子点の
処理プログラムは以下の(1)(2)の処理を行う。
【0415】(1)各格子点での収束判定の基準を通常
より緩める。
【0416】(2)転送するメッセージに、緩められた
判定基準を用いて判定したことを示すフラグを付ける。
【0417】(1)(2)の処理を行うことにより系が
継続的に不安定な状態に陥ることを防止することができ
る。
【0418】次に、(1)(2)の処理を実現するため
の実施の形態について第36実施の形態を元に説明す
る。
【0419】図65、図66に上記(1)(2)の処理
を実現するために必要な各格子点での収束判定処理のフ
ローチャートを示す。なお、図65、図66は、第36
実施の形態で説明した図56、図57に各々対応してい
る。
【0420】図65にフラグの起点となる格子点以外の
格子点での収束判定処理を示したフローチャートを示
す。図に示したように、まず、隣接する格子点から終了
フラグを持ったメッセージが到着したか否かを判断する
(ステップST80)。そのメッセージが到着したら、
到着したメッセージに収束判定基準を緩めることを示す
フラグが付加されていないかどうかを判別する(ステッ
プST81)。
【0421】もし、このメッセージが収束判定基準を緩
めることを示すフラグが付されていなければ、通常の判
定基準で収束判定し(ステップST81)、収束したか
否かを判断する(ステップST83)。収束すると隣接
格子点へ収束メッセージを送出する(ステップST8
4)。
【0422】隣接する格子点から収束メッセージが入力
された後、このメッセージに判定基準を緩めて収束判定
を行ったことを示すフラグが付加されていた場合には自
格子点の収束判定を予め設定されている第2の基準を用
いて行い(ステップST85,ST86)、収束判定を
緩めたことを示すフラグを付加して次の格子点に送出す
る(ステップST87)。
【0423】フラグの起点となる格子点での収束判定処
理を示したフローチャートを図66に示す。図66は、
ホストコンピュータから収束判定基準の変更を指示する
メッセージを受信した場合には収束判定を予め定めた第
2の判定基準を用いて行い、判定基準を緩めたことを示
すフラグを付加して隣接する格子点へのメッセージを送
出する場合の手順について示している。ホストコンピュ
ータから収束判定基準を変更する指示メッセージが到着
したか否かを判断する(ステップST90)。指示メッ
セージが到着すると、ステップST91で、収束判定基
準を変更する。そして自格子点の処理が与えられた基準
で収束したか否かを判断する(ステップST92)。自
格子点の処理が与えられた基準で収束した場合、収束判
定基準の変更があったか否かを判断する(ステップST
93)。収束判定基準の変更がなかった場合には、その
まま隣接格子点へ収束メッセージを送出し(ステップS
T95)、収束判定基準の変更があった場合には、収束
メッセージに判定基準を緩めたことを示すフラグを付加
して(ステップST94)、隣接格子点へ収束メッセー
ジを送出する(ステップST95)。
【0424】第37及び第38実施の形態においても上
記の(1)(2)を実現するための機能を第39実施の
形態同様に追加できることは明らかである。
【0425】<実施の形態40>次に、この発明の第4
0実施の形態について説明する。この実施の形態の特徴
は、マルチプロセッサを用いた収束計算における非安定
点を検出する収束判定方法にある。
【0426】この実施の形態では、各格子点の計算が収
束したか否かを判定する収束判定プログラム(収束判定
部)と、収束状態を格納するレジスタ(CREG)また
はメモリを備える。CREGは任意のタイミングで外部
からゼロクリアすることができ、また、収束判定プログ
ラムによって当該格子点の計算が収束していないと判定
した場合には1がセットされる。
【0427】システム全体の収束判定は次の手順で行
う。また、対応するフローチャートを図67に示す。
【0428】(1)すべての格子点に対応するCREG
レジスタをゼロクリアする(ステップST100)。
【0429】(2)すべての格子点の1回分の処理が終
了するために十分な時間待つ(ステップST101)。
【0430】(3)全格子点の上記レジスタを読み出し
0のままであることを確認する(ステップST10
2)。
【0431】(4)1格子点でも1が読み出された場合
には、(1)〜(3)の処理を繰り返す。もし、全格子
点の上記レジスタの値が全て0の場合は処理を終了する
(ステップST103)。
【0432】この実施の形態では収束判定プログラムに
より、収束していないと判断した場合には、上記CRE
Gレジスタに1を書き込むようにするが、この処理は最
初からプログラムに組み込んでおいてもよいし、一旦、
当該格子点の計算が収束した後にプログラムを書き換え
て前記の収束判定プログラムを起動し前記のCREGレ
ジスタの操作を行うようにしてもよい。
【0433】また、この実施の形態では格子点の計算の
収束状態を格納する記憶手段として各格子点毎にレジス
タを割り付けた場合について説明したが、前記記憶手段
としてメモリを用いても同一の効果が得られることは明
らかである。また、この実施の形態では各格子点毎にレ
ジスタ、もしくはメモリ要素を割り付ける場合について
説明したが、システム内に1個以上あればよい。また、
マルチプロセッサ構成のシステム上でこの発明にかかる
収束判定方法を用いる場合には前記の記憶手段を要素プ
ロセッサ毎に1個以上割り当てるとより効果的であるこ
とは言うまでもない。
【0434】上記のように、この実施の形態では非収束
状態に陥ったことを記憶する記憶手段をシステム内に少
なくとも1つ有し、その記憶手段を全てゼロクリアする
手段と、その記憶手段の記憶内容を読みだし、その全て
がゼロであることを確認する手段を備えているので、非
収束点が存在する場合であっても誤りなく系の収束判定
が可能となる。
【0435】また、この実施の形態では、各格子点の処
理プログラムは当該格子点が非収束状態に陥った場合に
レジスタ(CREG)に「1」を書き込むようにしてい
るが、「1」を加算するようにすれば、最終的にCRE
Gの値を読み出すことで、非収束状態に陥った格子点の
個数がわかる。こうように、各格子点処理プログラムが
当該格子点が非収束状態に陥った場合に、CREGの内
容に1を加算するようにすれば、最終的なCREGの値
をもとに収束判定基準の変更、格子点の粗さ等を調整す
ることで、処理時間を短縮することができるという効果
がある。
【0436】なお、第31ないし第39実施の形態の発
明は、複数のプロセッサを有する通常のマルチプロセッ
サに対して効果があるのいずれかは言うまでもないが、
第1実施の形態等の要素プロセッサが独立に演算を行え
る情報処理装置と組み合わせて用いることによって、収
束判定の間も要素プロセッサが独立に動作でき解の精度
を向上できるという効果がある。
【0437】<実施の形態41>次に、この発明の第4
1実施の形態について説明する。図71はこの発明の第
41実施の形態による隣接する要素プロセッサ間のデー
タ通信を行うために入出力制御部とデータメモリとで構
成されたネットワーク構成を示すブロック図である。図
71において、3tはデータメモリやデータメモリとの
通信のための入出力制御部を内部に持たない要素プロセ
ッサ、200はネットワーク上に配置されたデータメモ
リ、201は要素プロセッサ3tと複数のデータメモリ
200とのアクセス経路を決定し、要素プロセッサ3t
とデータメモリ200との間のデータ通信を制御する入
出力制御部、202はデータ通信のために要素プロセッ
サ3tと入出力制御部201との間を結ぶデータバス、
203は要素プロセッサ3tとデータメモリ200とを
連結する要素プロセッサ間コネクションである。
【0438】入出力制御部201は、ここでは4つのデ
ータメモリ200が接続されており、それぞれのデータ
メモリ200は要素プロセッサ3tの隣接要素プロセッ
サに接続されている他の入出力制御部に接続される。た
だし、入出力制御部201に接続されるデータメモリ2
00の数は、4つに限られるものではない。各入出力制
御部201に接続されるデータメモリ200の数はネッ
クワークの状態に応じて決定され、ネックワークの状態
は各解析の態様に応じて決定されるものである。
【0439】要素プロセッサ3tは、データバス202
を介して入出力制御部201へメモリアクセス要求を送
る。メモリアクセス要求には、4方向のうちいずれのデ
ータメモリ200とアクセスを行うかを記述した通信方
向データと、指定されたデータメモリ200のメモリ空
間のアドレス番号が記述されている。入出力制御部20
1は、このアクセス要求に従って通信方向を切り替え、
4方向のうちの指定されたデータメモリ200とのアク
セスを可能にする。そして、メモリアクセス要求に記述
されたアドレス番号のデータが、要素プロセッサ間コネ
クション203を通し、入出力制御部201を経由し、
データバス202を通して要素プロセッサ3tに与えら
れる。この要素プロセッサ3tに与えられるデータは、
例えば、隣接要素プロセッサが予め書き込んであったも
のであり、隣接要素プロセッサとの直接の通信によって
与えられたと等価なデータである。
【0440】また、メモリ上に規則的に配置された複数
のデータにアクセスする際には、要素プロセッサ3tか
らその先頭アドレス、アドレッシング・モードを入出力
制御部201に送ることで、それらのデータへの連続ア
クセスを実現することができることは言うまでもない。
【0441】以上のように、入出力制御部201をデー
タメモリ200間に配置してネットワークを構成するこ
とにより、要素プロセッサ3t内に入出力制御部201
が実装されていない場合においても隣接要素プロセッサ
がデータを書き込んだデータメモリ200に高速でアク
セスすることが可能になる。
【0442】図71に示したネットワーク構成では、要
素プロセッサ3tと入出力制御部201とはデータバス
202を介して直結されていたが、直結しているため参
照/更新要求が衝突しないようにシステムの動作を構築
することが必要になる。もし、同一メモリアドレスに対
する参照/更新要求が衝突した場合には処理が中断し、
アクセス時間の増大を招く。
【0443】図72に示すネットワーク構成は、要素プ
ロセッサ3tから入出力制御部201へ出されるメモリ
アクセス要求を一時的に記憶するためのバッファ機構を
備えている。図72において、204はデータパス20
2に接続され要素プロセッサ3tからのメモリアクセス
要求を一時的に記憶するためのバッファ機構であり、そ
の他図71と同一符号のものは図71の同一符号部分に
相当する部分である。
【0444】図72に示すように構成されたマルチプロ
セッサ・システムでは、互いに隣接する2つの要素プロ
セッサ3tによって一つのデータメモリ200が共有さ
れる。隣接する2つの要素プロセッサ3tが同時に同一
のメモリにアクセスする可能性がある。バッファ機構2
04は、データメモリに対する参照/更新要求を一時的
に記憶しておく。要素プロセッサ3tはバッファ機構2
04に参照/更新要求が記憶されると、データメモリ2
00からのデータ取得に関係なく、処理を進めることが
できる。このようにバッファ機構204を備えたマルチ
プロセッサ・システムでは、同一メモリアドレスに対す
る参照/更新要求が衝突した場合でも、処理を中断する
ことなく、より高速なメモリアクセスが可能となる。
【0445】図71で示した単位ユニットを複数個連結
することにより熱流体解析に最適な格子型ネットワーク
トポロジーを形成したものを、図73に示す。第8実施
の形態ないし第11実施の形態において説明した2次元
格子型ネットワークでは、格子が交わる位置に要素プロ
セッサ3tが配置されている。図73に示すように、入
力制御部201が要素プロセッサ3tの外部にある場合
には、格子が交わる位置には、入出力制御部201が配
置される。入出力制御部201には要素プロセッサ3t
が一対一に対応しており、入出力制御部201と要素プ
ロセッサ3tとはデータバス202を介して接続され、
さらに入出力制御部201には4つのデータメモリ20
0が接続されている。
【0446】このように、入出力制御部201を中心と
して要素プロセッサ3tやデータメモリ200などの各
デバイスを接続することにより、2次元格子型ネットワ
ークを構成し、高速で隣接要素プロセッサ間のメモリア
クセスを実行することができる。
【0447】勿論、入出力制御部201を使用して1次
元パイプライン・トポロジーに基づくネットワークを構
成することも可能である。図74は1次元パイプライン
トポロジー状に構成されたマルチプロセッサ・システム
のネットワークの一部を示すブロック図である。1次元
ネットワークの場合、入出力制御部201に接続される
データメモリ200の数は2つである。
【0448】このように入出力制御部201を介してネ
ットワークを構成することにより、2次元格子型ネット
ワークの場合と同様に、1次元パイプライン型ネットワ
ークにおいても要素プロセッサ3tのデータメモリ20
0へのアクセスを高速化できることは言うまでもない。
【0449】また、要素プロセッサを3次元に配置する
場合についても同様に構成できる。図75に示すよう
に、3次元に構成する場合には、一つの入出力制御部に
6つのデータメモリ200が接続される。例えば、図7
3に示した格子型ネットワークトポロジーを複数枚重ね
て3次元に構成することができる。図75において、入
出力制御部201aと201bとは、異なる平面に配置
された格子型ネットワークトポロジーに属する。この2
つの入出力制御部201a,201bは、一つのデータ
メモリ200を共有する。このように、入出力制御部2
01a、201bを中心として要素プロセッサ3tやデ
ータメモリ200などの各デバイスを接続することによ
り、3次元格子型ネットワークを構成し、高速で隣接要
素プロセッサ間のメモリアクセスを実行することができ
る。
【0450】また、任意のネットワークにおいて適用可
能であるが、例えば、図73に示したような格子型ネッ
トワークトポロジーにおいて、隣接する要素プロセッサ
3t以外の周囲にある遠い要素プロセッサ3tとの間で
のデータの通信も可能である。例えば、データメモリ内
に所定の要素プロセッサのデータを書き込む領域を設
け、入出力制御部201によってその領域をコピーする
ことによって、各要素プロセッサ3tは、隣接する要素
プロセッサ3tよりも少し離れた場所に配置された要素
プロセッサのデータを入手することも可能である。
【0451】要素プロセッサが複数の入出力制御部に対
して参照/更新要求を出力するように構成することも可
能である。これを、図73で示した2次元格子型トポロ
ジーに応用すると、図76に示す構成になる。図76に
示すように、要素プロセッサ3tc,3tdは四方に配
置された入出力制御部201cに参照/更新要求を出力
することができる。例えば、要素プロセッサ3tc同士
で通信する場合には、一つのデータメモリ200を共有
する隣接した2つの入出力制御部201cに対して参照
/更新要求を出力する。そうすると、隣接要素プロセッ
サ3tdを一つ飛ばして要素プロセッサ3tc同士で通
信ができる。例えば、要素プロセッサ3tcのみを用い
て計算を行う粗ノード結合コネクションと、要素プロセ
ッサ3tc,3tdを用いて計算を行う細ノード結合コ
ネクションとの使い分けを行うことができる。
【0452】また、要素プロセッサ3tは、周囲に配置
された入出力制御部201とデータバスによって接続
し、参照/更新要求を出すだけではなく、解析の対象や
精度等に応じて、もっと離れた場所の入出力接続部20
1にデータバスを介して接続してもよいことは言うまで
もない。
【0453】<実施の形態42>次に、この発明の第4
2実施の形態について説明する。第30ないし第34実
施の形態では、各要素プロセッサ3k,3m,3p,3
qが出力する収束判定フラグ(1または0)を収束判定
ユニット180や収束判定部183内に実装された論理
回路によって、次々と論理的に掛け合わせ、最終的に収
束判定情報としてホストコンピュータ1に転送してい
た。ところで、マルチプロセッサ・システムにおいて、
接続されている要素プロセッサの台数が数十台程度の小
規模な場合には、第30実施の形態ないし第34実施の
形態で示した構成でも十分高速に収束判定ビットの論理
積を取ることは可能である。しかしながら、要素プロセ
ッサが数百台にも及ぶ大規模マルチプロセッサ・システ
ムの場合には、全収束判定ユニット180や収束判定部
183の論理積が終了してホストコンピュータ1に収束
判定結果転送される迄の合計時間は膨大なものとなる。
【0454】図77はこの発明の第42実施の形態によ
る収束判定装置の概略を示す概念図である。図77にお
いて、3は要素プロセッサ、205は収束判定ビットを
一時格納するための収束判定ビット用レジスタ、206
は要素プロセッサ3と収束判定ビット用レジスタ205
とを接続して要素プロセッサ3から出力される収束判定
ビットを伝達するための収束判定ビット線、208は収
束情報をホストコンピュータに伝達するための収束情報
信号線、209は接地電位VSSに固定された接地電位点
207に接続されたソースと収束判定ビット用レジスタ
205に接続されたゲートと収束情報信号線208に接
続されたドレインとを有するN型MOSトランジスタ、
210は電源電位点211に接続された一方端と収束情
報信号線208に接続された他方端とを有する抵抗であ
る。収束判定装置は、アナログ回路であるワイヤードO
Rを用いて構成されている。ワイヤードORは、N型M
OSトランジスタと収束情報信号線208と抵抗210
とで構成される。
【0455】各要素プロセッサ3からそれぞれ出力され
る少なくとも1ビットの収束判定ビットは、収束判定ビ
ット線7を介して収束判定ビット用レジスタ8上に一時
的に保存される。収束判定ビット用レジスタ8に格納さ
れた収束判定ビットは、ワイヤードORにて論理積が取
られ、収束情報信号線12に出力される少なくとも1ビ
ットの収束判定結果に反映される。
【0456】いま、各要素プロセッサ3から出力される
収束判定ビットが「0」の時を収束、「1」の時を未収
束状態であると定義する。各要素プロセッサ3の全てが
収束判定ビットとして「0」、すなわち収束状態を出力
した場合は、NチャネルMOSトランジスタ209は全
て非導通状態となり、収束情報信号線208からは抵抗
210を介して電源電位VDDが出力され、系全体が収束
に至ったことをホストコンピュータが認識できる。
【0457】また、各要素プロセッサ3のうち少なくと
も一つが収束判定ビットとして「1」(即ち未収束状
態)を出力した場合は、対応するN型MOSトランジス
タ209が導通状態となっているため、抵抗210の抵
抗値をN型MOSトランジスタ209の導通時の抵抗値
に比べ十分に大きく設定することで、収束情報信号線2
08にはデジタル的に接地電位VSSと見なしうる電位が
出力される。収束情報信号線208が接地電位VSSと見
なしうる電位にあることで、系全体としてはまだ収束に
至っていないことをホストコンピュータ1が認識でき
る。
【0458】なお、この実施の形態において、各要素プ
ロセッサ3が出力する収束判定ビットの論理値が「1」
の時は収束を、「0」の時は未収束状態であることを示
していると定義し、N型MOSトランジスタをP型MO
Sトランジスタに変更することで、同様な動作をする回
路を構成できることは言うまでもない。
【0459】以上のように収束判定装置を構成すること
によって、全収束判定用レジスタ205上に保存された
収束判定ビットの論理値を数μ秒程度の短時間で連続的
に得ることが可能となり、収束判定を演算処理から独立
に行いつつ、収束判定時間を短縮することができる。
【0460】<実施の形態43>次に、この発明の第4
3実施の形態について説明する。領域分割法による熱流
体数値解析の並列化手法では、計算領域を少なくとも要
素プロセッサ3と同数の分割領域に分け、各々の領域の
計算を各要素プロセッサ3に分担させる。一般に行われ
ているように、要素プロセッサ3間の通信方式をメッセ
ージ・パッシング式の低速なリモートアクセスとした場
合、要素プロセッサ3の処理量の違いにより、要素プロ
セッサ3に担当させる格子点をほぼ同一にして計算付加
を均一化することである程度は対処できるが、分割領域
内に不安定点が存在する場合には、収束解を得るまでに
より多くの繰り返し演算が要求され、これが原因で要素
プロセッサ3の処理量が増大する。そこで、通信同期待
ちによるレイテンシーを完全に排除する非同期通信方式
でマルチプロセッサ・システムを構成し、実装する格子
点数を要素プロセッサ3毎に変えることで上記問題を解
決する。
【0461】図78は解析不安定点を含む計算領域の分
割形態を示したものである。図78において、213は
解析に用いる全計算領域、214は各要素プロセッサ3
がそれぞれ担当する分割領域、215は通常の格子点、
216は物理量が時間的に変化する等の不安定要因が存
在する解析不安定点である。解析が不安定になる要因と
しては、例えば、速度変化あるいは温度変化の激しい
点、渦中の点、非定常に物理量が変動する点、移動物体
あるいは移動境界の近傍点、旋回流中の点、角等の特異
点、熱の発生点、流体等の流入・流出点、等やその近傍
の点である。
【0462】次に動作について説明する。解析不安定点
216を含む分割領域14を担当する要素プロセッサ3
では、解析不安定点216の不安定性が分割領域214
内の全格子点に波及して空間的な収束解を得るまでの反
復回数が増大する。そこで、図に示したように解析不安
定点216を含む分割領域の格子点数をその他の解析不
安定点216を含まない分割領域214の格子点数より
少なくする。すると、繰り返し回数の増大に伴う処理量
の増大を、格子点数を減らすことで相殺することができ
る。さらに、非同期通信方式を行うことにより、解析不
安定点216を含む分割領域214の計算を安定な分割
領域214よりも先行させることが可能である。以上の
ように、非同期通信方式と格子点の不等分配とを併用す
ることにより、計算領域中に不安定領域が含まれる場合
であっても収束演算を高速化することができる。
【0463】<実施の形態44>次に、この発明の第4
4実施の形態について説明する。第1実施の形態ないし
第5実施の形態において説明した要素プロセッサ3内で
使用される演算回路は、要素プロセッサ3内に設けられ
たクロックに基づく同期方式がほとんどである。これ
は、現在の技術力では、回路中の素子の反応時間(素子
遅延)>チップ内の情報伝達に伴う遅延(配線遅延)の
関係が成り立つためである。
【0464】ところが、近年では超高速素子技術が急速
に進歩し、シリコン半導体素子では10ps,化合物半導
体素子では5ps,ジョセフソン素子では1psレベルの素
子遅延で動作が可能となっている。さらに、VLSI技
術の進歩に伴い、チップ寸法は15mm×15mmまで拡大
し、さらに実装可能な素子数が論理LSIで300万個
にまで達しようとしている。このようなピコ秒LSIが
実現されれば、素子への入力に対して処理結果が出力さ
れるまでの時間(素子遅延)が減少するのに対し、従来
まで問題にされていなかったチップ内の配線を情報が通
過するのに掛かる時間(配線遅延)が無視できなくな
る。もしも、1ピコ秒の素子遅延を持つ素子によってチ
ップを構成すると、チップ全体を単一クロックでの動作
は、最大でも0.3mm×0.3mmのチップ面積までしか
保証されない。そこで、チップ内の動作をクロックで同
期させないプロセッサ内非同期方式に基づく回路設計を
行い、要素プロセッサの処理能力を大幅に向上させるこ
とが可能である。さらに、非同期システム設計では、後
述する〜等の利点が挙げられ、要素プロセッサ3の
ロバスト性、高速性を向上することができ、ひいては熱
流体解析の高速化を達成することが可能である。信号
遷移の因果関係に従い素子遅延の大小に係わらず正常動
作が可能になり、高速性を達成できる。情報処理装置
の電圧変動、温度環境変化等の外的擾乱に対してもタイ
ミング変動がなくなり、高信頼性を達成できる。タイ
ミング調整が不要になり、設計が容易になる。クロッ
ク発生のための電力が不要になり、低電力消費の情報処
理装置を得ることができる。
【0465】このような特徴を持つ非同期式回路を要素
プロセッサ3内の回路に使用することができる。そこ
で、以下に非同期式回路の基本構成について説明する。
非同期式システムは、互いに信号をやり取りする非同期
式回路で構成された機能モジュールの集合体である。あ
る機能モジュールAから機能モジュールBに処理要求が
発生した場合、モジュールAからモジュールBへの処理
要求を示す『要求』という要求信号と、モジュールBか
らモジュールAへの処理終了通知を示す『応答』という
応答信号の2つの信号の受け渡しで、機能モジュール
A,B間における一つの処理要求に対する動作が完了す
る。ところが、非同期式では、同期クロックが存在しな
いため、これらの要求信号と応答信号の到着タイミング
を知らせる工夫が必要となる。まず、制御信号について
は、「有効」を「1」、「無効」を「0」と定義すれ
ば、0→1あるいは1→0の遷移そのものが要求あるい
は応答のタイミングを表している。問題となるのは、や
り取りする信号がデータ信号の場合である。通常、デー
タ信号は1線式であり、2値表現しかできないため、要
求・応答のタイミングを記述できない。そこで、非同期
式回路で構成された複数の機能モジュール間のデータ信
号のやり取りには、例えば、1ビット情報を2本の信号
線で表現する2線式データを用いる。2線式データ表現
には、2線2相方式、2線遷移方式、パリティ交番方式
等があるが、中でも2線2相方式は汎用性が高く、回路
構成も単純化できるため、以下では2線2相方式のデー
タ信号表現を用いる場合について説明する。
【0466】2線2相方式のデータ表現では、1ビット
データDを2線信号(d1,d0)で数40のように表
現する。
【0467】
【数40】
【0468】例えば、「1」を転送するには、休止相
(0,0)を(1,0)に変え、処理終了後次のデータ
転送に備えるためにスペーサ状態(0,0)にリセット
するという一連の動作を行う。
【0469】次に、この2線2相式データ表現に基づく
データ転送経路を考える。図79は、2線2相式データ
表現に基づくレジスタ間データ転送経路モデルを示すブ
ロック図である。図79において、217は制御信号を
転送するための制御信号バス、218は要求・応答処理
が終了後に2線式信号をリセットする2線2相制御モジ
ュール、219は信号を一時的に記憶するためのレジス
タ、220は2線式論理回路、221は2線式データバ
スである。ただし、図中の2線式論理回路220は2線
式論理に基づいて構成された基本論理素子より成る。
【0470】上位からの処理終了情報を受けて2線2相
制御モジュール218が要求を発生する(0→1遷
移)。この要求を受けて2線式データ信号が転送元レジ
スタ219から読み出される。転送元レジスタ219か
ら読み出されたデータは、2線式データバス221を介
して2線式論理回路220に与えられ、2線式論理回路
220で処理される。さらに、2線式論理回路220で
処理されたデータは、2線式データバス221を通して
転送先レジスタ219へ書き込まれる。その後、レジス
タ219で発生した応答(0→1遷移)を受けた2線2
相式制御モジュール218が、処理終了情報を下位に転
送する。上位からの処理終了情報に続いて、データをリ
セットするために上位から要求消滅命令(1→0)が転
送され、転送元レジスタ219から論理回路220を経
て転送先レジスタ219へ至る全ての2線信号をスペー
サ状態に遷移させ、最終的に応答を消滅(1→0遷移)
させて終了する。
【0471】図79における2線式論理回路220は、
2線式ANDゲート、ORゲート、NOTゲート等の基
本論理素子を結線して構成された回路であればどのよう
な構成の回路であってもよい。例えば、第1実施の形態
ないし第5実施の形態のいずれかに記載のプロセッシン
グユニット5全体を2線式論理回路220で実現するこ
とにより、配線遅延が素子遅延よりも大きくなった場合
でも、要素プロセッサ3内の演算処理を高速に実現する
ことが可能になる。
【0472】勿論、特定の演算列についてのみクロック
を用いない非同期式処理を適用することもでき、この場
合にも同様の効果を奏することは言うまでもない。
【0473】また、前記各実施の形態を組み合わせて用
いることも可能である。
【0474】
【発明の効果】以上のように請求項1記載の発明の情報
処理装置によれば、場を空間的に分割して得られる複数
の格子点を要素プロセッサに割り当てて計算を行わせる
情報処理装置において、隣接する要素プロセッサ間相互
でデータの通信を行うための複数のデータバスを備え、
データバスによって伝達されるデータを用いて、非同期
に、かつ独立に要素プロセッサを動作させて計算を行う
ので、要素プロセッサ間の通信時間を短縮することがで
き、情報処理装置の処理の高速化を図ることができると
いう効果がある。
【0475】また、請求項1記載の発明の情報処理装置
によれば、隣接する要素プロセッサ間のデータの通信
を、要素プロセッサ毎に、非同期でかつ繰り返し行うの
で、隣接要素プロセッサの処理を阻害することなく、全
く非同期に処理を継続することが可能となり、隣接要素
プロセッサの演算を妨げずに通信することができるの
で、演算の高速化が図れる効果がある。
【0476】さらに、請求項1記載の発明の情報処理装
置によれば、要素プロセッサは、それぞれ、隣接する要
素プロセッサのデータメモリを直接参照できるので、容
易に、隣接する要素プロセッサのプロセッシングユニッ
ト間のデータの通信をプロセッシングユニット毎に、非
同期でかつ繰り返し行わせることができ、情報処理装置
の高速化を容易に実現できるという効果がある。
【0477】さらにまた、請求項1記載の発明の情報処
理装置によれば、内点ビット、外点ビット及び境界条件
ビットに従ってデータフローグラフの処理を変更するこ
とができる同一の布線論理に従ったハードウェア回路を
備えるので、格子点の種類に関わらず同一の布線論理に
従ったハードウェア回路によって計算ができ、計算プロ
グラムを簡素化して情報処理装置の規模を縮小すること
ができるという効果がある。
【0478】請求項2記載の発明の情報処理装置によれ
ば、場を空間的に分割して得られる複数の格子点を要素
プロセッサに割り当てて計算を行わせる情報処理装置に
おいて、隣接する要素プロセッサ間相互でデータの通信
を行うための複数のデータバスを備え、データバスによ
って伝達されるデータを用いて、非同期に、かつ独立に
要素プロセッサを動作させて計算を行うので、要素プロ
セッサ間の通信時間を短縮することができ、情報処理装
置の処理の高速化を図ることができるという効果があ
る。
【0479】また、請求項2記載の発明の情報処理装置
によれば、隣接する要素プロセッサ間のデータの通信
を、要素プロセッサ毎に、非同期でかつ繰り返し行うの
で、隣接要素プロセッサの処理を阻害することなく、全
く非同期に処理を継続することが可能となり、隣接要素
プロセッサの演算を妨げずに通信することができるの
で、演算の高速化が図れる効果がある。
【0480】さらに、請求項2記載の発明の情報処理装
置によれば、要素プロセッサは、それぞれ、隣接する要
素プロセッサのデータメモリを直接参照できるので、容
易に、隣接する要素プロセッサのプロセッシングユニッ
ト間のデータの通信をプロセッシングユニット毎に、非
同期でかつ繰り返し行わせることができ、情報処理装置
の高速化を容易に実現できるという効果がある。
【0481】さらにまた、請求項2記載の発明の情報処
理装置によれば、粗ノード結合によって結ばれた要素プ
ロセッサによる計算と細ノード結合によって結ばれた要
素プロセッサによる計算を行うことによって方程式につ
いての計算を進めるので、粗ノード結合によって結ばれ
た要素プロセッサを用いた計算によって収束性を高める
とともに、細ノード結合によって結ばれた要素プロセッ
サを用いた計算によって計算の精度を維持することがで
き、精度の高い処理を高速で行えるという効果がある。
【0482】請求項3記載の発明の情報処理装置おける
計算方法によれば、場を空間的に分割して得られる複数
の格子点を要素プロセッサに割り当てて計算を行わせる
情報処理装置において、隣接する要素プロセッサ間相互
でデータの通信を行うための複数のデータバスを備え、
データバスによって伝達されるデータを用いて、非同期
に、かつ独立に要素プロセッサを動作させて計算を行う
ので、要素プロセッサ間の通信時間を短縮することがで
き、情報処理装置の処理の高速化を図ることができると
いう効果がある。
【0483】また、請求項3記載の発明の情報処理装置
における計算方法によれば、隣接する要素プロセッサ間
のデータの通信を、要素プロセッサ毎に、非同期でかつ
繰り返し行うので、隣接要素プロセッサの処理を阻害す
ることなく、全く非同期に処理を継続することが可能と
なり、隣接要素プロセッサの演算を妨げずに通信するこ
とができるので、演算の高速化が図れる効果がある。
【0484】さらに、請求項3記載の発明の情報処理装
置における計算方法によれば、非同期に、かつ独立に要
素プロセッサを動作させて微分方程式の解を差分法を用
いて得るので、解析の精度を落とすことなく、情報処理
装置の処理の高速化を図ることができるという効果があ
る。
【0485】請求項4記載の発明の情報処理装置おける
計算方法によれば、場を空間的に分割して得られる複数
の格子点を要素プロセッサに割り当てて計算を行わせる
情報処理装置において、隣接する要素プロセッサ間相互
でデータの通信を行うための複数のデータバスを備え、
データバスによって伝達されるデータを用いて、非同期
に、かつ独立に要素プロセッサを動作させて計算を行う
ので、要素プロセッサ間の通信時間を短縮することがで
き、情報処理装置の処理の高速化を図ることができると
いう効果がある。
【0486】また、請求項4記載の発明の情報処理装置
における計算方法によれば、隣接する要素プロセッサ間
のデータの通信を、要素プロセッサ毎に、非同期でかつ
繰り返し行うので、隣接要素プロセッサの処理を阻害す
ることなく、全く非同期に処理を継続することが可能と
なり、隣接要素プロセッサの演算を妨げずに通信するこ
とができるので、演算の高速化が図れる効果がある。
【0487】さらに、請求項4記載の発明の情報処理装
置における計算方法によれば、要素プロセッサは、それ
ぞれ、隣接する要素プロセッサのデータメモリを直接参
照できるので、容易に、隣接する要素プロセッサのプロ
セッシングユニット間のデータの通信をプロセッシング
ユニット毎に、非同期でかつ繰り返し行わせることがで
き、情報処理装置の高速化を容易に実現できるという効
果がある。
【0488】さらにまた、請求項4記載の発明の情報処
理装置における計算方法によれば、要素プロセッサには
内点ビット、外点ビット及び境界条件ビットにより処理
を変更することができる同一の計算プログラムを用いて
プロセッシングユニットが演算を行うので、格子点の種
類に関わらず同一の計算プログラムを用いて演算を行う
ことができ、計算プログラムを簡素化して情報処理装置
の規模を縮小することができるという効果がある。
【0489】請求項5記載の発明の情報処理装置おける
計算方法によれば、場を空間的に分割して得られる複数
の格子点を要素プロセッサに割り当てて計算を行わせる
情報処理装置において、隣接する要素プロセッサ間相互
でデータの通信を行うための複数のデータバスを備え、
データバスによって伝達されるデータを用いて、非同期
に、かつ独立に要素プロセッサを動作させて計算を行う
ので、要素プロセッサ間の通信時間を短縮することがで
き、情報処理装置の処理の高速化を図ることができると
いう効果がある。
【0490】また、請求項5記載の発明の情報処理装置
における計算方法によれば、隣接する要素プロセッサ間
のデータの通信を、要素プロセッサ毎に、非同期でかつ
繰り返し行うので、隣接要素プロセッサの処理を阻害す
ることなく、全く非同期に処理を継続することが可能と
なり、隣接要素プロセッサの演算を妨げずに通信するこ
とができるので、演算の高速化が図れる効果がある。
【0491】さらに、請求項5記載の発明の情報処理装
置における計算方法によれば、要素プロセッサは、それ
ぞれ、隣接する要素プロセッサのデータメモリを直接参
照できるので、容易に、隣接する要素プロセッサのプロ
セッシングユニット間のデータの通信をプロセッシング
ユニット毎に、非同期でかつ繰り返し行わせることがで
き、情報処理装置の高速化を容易に実現できるという効
果がある。
【0492】さらにまた、請求項5記載の発明の情報処
理装置における計算方法によれば、内点ビット、外点ビ
ット及び境界条件ビットに従ってデータフローグラフの
処理を変更することができる同一の布線論理に従ったハ
ードウェア回路を備えるので、格子点の種類に関わらず
同一の布線論理に従ったハードウェア回路によって計算
ができ、計算プログラムを簡素化して情報処理装置の規
模を縮小することができるという効果がある。
【0493】請求項6記載の発明の情報処理装置おける
計算方法によれば、場を空間的に分割して得られる複数
の格子点を要素プロセッサに割り当てて計算を行わせる
情報処理装置において、隣接する要素プロセッサ間相互
でデータの通信を行うための複数のデータバスを備え、
データバスによって伝達されるデータを用いて、非同期
に、かつ独立に要素プロセッサを動作させて計算を行う
ので、要素プロセッサ間の通信時間を短縮することがで
き、情報処理装置の処理の高速化を図ることができると
いう効果がある。
【0494】また、請求項6記載の発明の情報処理装置
における計算方法によれば、隣接する要素プロセッサ間
のデータの通信を、要素プロセッサ毎に、非同期でかつ
繰り返し行うので、隣接要素プロセッサの処理を阻害す
ることなく、全く非同期に処理を継続することが可能と
なり、隣接要素プロセッサの演算を妨げずに通信するこ
とができるので、演算の高速化が図れる効果がある。
【0495】さらに、請求項6記載の発明の情報処理装
置における計算方法によれば、要素プロセッサは、それ
ぞれ、隣接する要素プロセッサのデータメモリを直接参
照できるので、容易に、隣接する要素プロセッサのプロ
セッシングユニット間のデータの通信をプロセッシング
ユニット毎に、非同期でかつ繰り返し行わせることがで
き、情報処理装置の高速化を容易に実現できるという効
果がある。
【0496】さらにまた、請求項6記載の発明の情報処
理装置における計算方法によれば、全ての格子点での通
信回数を平準化するので、並列化した際の効率化を図る
ことができるという効果がある。
【0497】請求項7記載の発明の情報処理装置おける
計算方法によれば、場を空間的に分割して得られる複数
の格子点を要素プロセッサに割り当てて計算を行わせる
情報処理装置において、隣接する要素プロセッサ間相互
でデータの通信を行うための複数のデータバスを備え、
データバスによって伝達されるデータを用いて、非同期
に、かつ独立に要素プロセッサを動作させて計算を行う
ので、要素プロセッサ間の通信時間を短縮することがで
き、情報処理装置の処理の高速化を図ることができると
いう効果がある。
【0498】また、請求項7記載の発明の情報処理装置
における計算方法によれば、隣接する要素プロセッサ間
のデータの通信を、要素プロセッサ毎に、非同期でかつ
繰り返し行うので、隣接要素プロセッサの処理を阻害す
ることなく、全く非同期に処理を継続することが可能と
なり、隣接要素プロセッサの演算を妨げずに通信するこ
とができるので、演算の高速化が図れる効果がある。
【0499】さらに、請求項7記載の発明の情報処理装
置における計算方法によれば、要素プロセッサは、それ
ぞれ、隣接する要素プロセッサのデータメモリを直接参
照できるので、容易に、隣接する要素プロセッサのプロ
セッシングユニット間のデータの通信をプロセッシング
ユニット毎に、非同期でかつ繰り返し行わせることがで
き、情報処理装置の高速化を容易に実現できるという効
果がある。
【0500】さらにまた、請求項7記載の発明の情報処
理装置における計算方法によれば、演算量が少ない格子
点についてもダミーの演算を行うことにより全ての格子
点での演算回数を平準化するので、並列化した際の効率
化を図ることができるという効果がある。
【0501】請求項8記載の発明の情報処理装置おける
計算方法によれば、場を空間的に分割して得られる複数
の格子点を要素プロセッサに割り当てて計算を行わせる
情報処理装置において、隣接する要素プロセッサ間相互
でデータの通信を行うための複数のデータバスを備え、
データバスによって伝達されるデータを用いて、非同期
に、かつ独立に要素プロセッサを動作させて計算を行う
ので、要素プロセッサ間の通信時間を短縮することがで
き、情報処理装置の処理の高速化を図ることができると
いう効果がある。
【0502】また、請求項8記載の発明の情報処理装置
における計算方法によれば、隣接する要素プロセッサ間
のデータの通信を、要素プロセッサ毎に、非同期でかつ
繰り返し行うので、隣接要素プロセッサの処理を阻害す
ることなく、全く非同期に処理を継続することが可能と
なり、隣接要素プロセッサの演算を妨げずに通信するこ
とができるので、演算の高速化が図れる効果がある。
【0503】さらに、請求項8記載の発明の情報処理装
置における計算方法によれば、要素プロセッサは、それ
ぞれ、隣接する要素プロセッサのデータメモリを直接参
照できるので、容易に、隣接する要素プロセッサのプロ
セッシングユニット間のデータの通信をプロセッシング
ユニット毎に、非同期でかつ繰り返し行わせることがで
き、情報処理装置の高速化を容易に実現できるという効
果がある。
【0504】さらにまた、請求項8記載の発明の情報処
理装置における計算方法によれば、双方の要素プロセッ
サで互いに相手方から送信されたデータを時系列的に2
組もち、これらの格子点に対するデータが更新された場
合、更新されたデータが時系列的に前の組のデータと比
較して所定値以下の変位ならば相手方のデータの書換え
をしないので、要素プロセッサ間お不要な通信を省い
て、情報処理装置の処理の高速化を図ることができると
いう効果がある。
【0505】請求項9記載の発明の情報処理装置おける
計算方法によれば、場を空間的に分割して得られる複数
の格子点を要素プロセッサに割り当てて計算を行わせる
情報処理装置において、隣接する要素プロセッサ間相互
でデータの通信を行うための複数のデータバスを備え、
データバスによって伝達されるデータを用いて、非同期
に、かつ独立に要素プロセッサを動作させて計算を行う
ので、要素プロセッサ間の通信時間を短縮することがで
き、情報処理装置の処理の高速化を図ることができると
いう効果がある。
【0506】また、請求項9記載の発明の情報処理装置
における計算方法によれば、隣接する要素プロセッサ間
のデータの通信を、要素プロセッサ毎に、非同期でかつ
繰り返し行うので、隣接要素プロセッサの処理を阻害す
ることなく、全く非同期に処理を継続することが可能と
なり、隣接要素プロセッサの演算を妨げずに通信するこ
とができるので、演算の高速化が図れる効果がある。
【0507】さらに、請求項9記載の発明の情報処理装
置における計算方法によれば、要素プロセッサは、それ
ぞれ、隣接する要素プロセッサのデータメモリを直接参
照できるので、容易に、隣接する要素プロセッサのプロ
セッシングユニット間のデータの通信をプロセッシング
ユニット毎に、非同期でかつ繰り返し行わせることがで
き、情報処理装置の高速化を容易に実現できるという効
果がある。
【0508】さらにまた、請求項9記載の発明の情報処
理装置における計算方法によれば、粗ノード結合によっ
て結ばれた要素プロセッサによる計算と細ノード結合に
よって結ばれた要素プロセッサによる計算を行うことに
よって方程式についての計算を進めるので、粗ノード結
合によって結ばれた要素プロセッサを用いた計算によっ
て収束性を高めるとともに、細ノード結合によって結ば
れた要素プロセッサを用いた計算によって計算の精度を
維持することができ、精度の高い処理を高速で行えると
いう効果がある。
【図面の簡単な説明】
【図1】 この発明の第1実施の形態による情報処理装
置の構成を示すブロック図である。
【図2】 この発明の第2実施の形態による要素プロセ
ッサのハードウェア構成を示すブロック図である。
【図3】 この発明の第3実施の形態による要素プロセ
ッサのハードウェア構成を示すブロック図である。
【図4】 この発明の第4実施の形態による要素プロセ
ッサのハードウェア構成を示すブロック図である。
【図5】 演算処理の基本的な流れを示すデータグラフ
である。
【図6】 この発明の第5実施の形態による2次元計算
基板を3次元的に接続して3次元計算を行うための情報
処理装置の構成を示すブロック図である。
【図7】 この発明の第6実施の形態による非同期計算
方式による演算アルゴリズムを示したフローチャートで
ある。
【図8】 差分法に基づくコントロールボリュームを説
明するための概念図である。
【図9】 データメモリで扱われるデータの構成を示す
図である。
【図10】 非同期計算方式による演算アルゴリズムの
計算手順を示すフローチャートである。
【図11】 非同期計算方式による演算アルゴリズムの
計算手順を示すフローチャートである。
【図12】 この発明の第7実施の形態による時間軸方
向へのパイプライン化を行うための2次元基板の構成を
示すブロック図である。
【図13】 この発明の第8実施の形態における情報処
理装置の構成を示すブロック図である。
【図14】 この発明の第8実施の形態における情報処
理装置を構成する要素プロセッサの構成を示すブロック
図である。
【図15】 この発明の第9実施の形態による情報処理
装置の構成を示すブロック図である。
【図16】 この発明の第9実施の形態による情報処理
装置を実現するための要素プロセッサの構成を示すプロ
ック図である。
【図17】 この発明の第10実施の形態による情報処
理装置の構成を示すブロック図である。
【図18】 この発明の第10実施の形態による情報処
理装置を実現するための要素プロセッサの構成を示すブ
ロック図である。
【図19】 この発明の第10実施の形態による情報処
理装置を実現するためのメモリの構成を示すブロック図
である。
【図20】 この発明の第11実施の形態による要素プ
ロセッサの構成を示すブロック図である。
【図21】 この発明の第12実施の形態による要素プ
ロセッサの構成を示すブロック図である。
【図22】 この発明の第13実施の形態によるプロセ
ッサシングユニットの構成を説明するためのシステムフ
ローチャートである。
【図23】 この発明の第14実施の形態による情報処
理装置の構成を説明するためのブロック図である。
【図24】 この発明の第15実施の形態による情報処
理装置を実現するための要素プロセッサの構成を示すブ
ロック図である。
【図25】 この発明の第16実施の形態による情報処
理装置の構成を示すブロック図である。
【図26】 この発明の第17実施の形態による情報処
理装置の構成を示すブロック図である。
【図27】 第16及び第17実施の形態による情報処
理装置を実現するための要素プロセッサの構成を示すブ
ロック図である。
【図28】 この発明の第18実施の形態による情報処
理装置の構成を示す概念図である。
【図29】 この発明の第19実施の形態による情報処
理装置の構成を示す概念図である。
【図30】 この発明の第20実施の形態による情報処
理装置の構成を示すブロック図である。
【図31】 この発明の第21実施の形態による情報処
理装置を説明するための格子点の状態を示す平面図であ
る。
【図32】 この発明の第22実施の形態による情報処
理装置を説明するためのプログラムメモリの割り付けを
示す図である。
【図33】 この発明の第23実施の形態によるダイナ
ミックデータフロー方式の情報処理装置を説明するため
のプログラムメモリの割り付けを示す図である。
【図34】 第23実施の形態において、カラー識別子
ごとに異なるデータメモリアドレスを得るためのカラー
獲得関数の一例を示す概念図である。
【図35】 カラー獲得関数を実現するための格子点の
カラー識別子割付けの一例を示す概念図である。
【図36】 カラー獲得関数を実現するためデータメモ
リの構成の一例を示す図である。
【図37】 この発明の第24実施の形態による情報処
理装置を実現するためのデータメモリの構成を示す図で
ある。
【図38】 第24実施の形態による格子間通信の手順
を示すフローチャートである。
【図39】 この発明の第25実施の形態による情報処
理装置を実現するためのデータメモリの構成を示す図で
ある。
【図40】 第25実施の形態による格子間の通信手順
を示すフローチャートである。
【図41】 格子点ごとに通信すべき各方向のメモリ領
域を示す計算領域の概念図である。
【図42】 第25実施の形態による要素プロセッサ間
の通信について説明するための図である。
【図43】 この発明の第26実施の形態によるダミー
通信用のデータ領域の共有化を実現するためのデータメ
モリの構成を示す図である。
【図44】 ダミー通信用のデータ領域の共有化を実現
する処理流れのフローチャートである。
【図45】 この発明の第27実施の形態による要素プ
ロセッサ間の通信形式を説明するための概念図である。
【図46】 この発明の第28実施の形態によるプログ
ラムの単純化を説明するための格子点の配置図である。
【図47】 この発明の第29実施の形態による情報処
理装置の動作を説明するための格子点の関係を示す図で
ある。
【図48】 この発明の第31実施の形態による情報処
理装置の構成を示すブロック図である。
【図49】 この発明の第32実施の形態による情報処
理装置の構成を示すブロック図である。
【図50】 この発明の第33実施の形態による情報処
理装置を実現するための要素プロセッサの構成を示すブ
ロック図である。
【図51】 この発明の第33実施の形態による情報処
理装置の構成を示すブロック図である。
【図52】 この発明の第34実施の形態による情報処
理装置の構成を示すブロック図である。
【図53】 この発明の第35実施の形態による情報処
理装置を実現するための要素プロセッサの構成を示すブ
ロック図である。
【図54】 この発明の第35実施の形態による情報処
理装置の構成を示すブロック図である。
【図55】 この発明の第36実施の形態による情報処
理装置の動作を説明するための終了フラグの転送経路を
示す概念図である。
【図56】 第36実施の形態の情報処理装置の隣接格
子点への終了フラグ伝搬手順を説明するためのフローチ
ャートである。
【図57】 第36実施の形態の情報処理装置の隣接格
子点への終了フラグ伝搬手順を説明するためのフローチ
ャートである。
【図58】 第36実施の形態による結果データ出力に
用いられるメッセージパケットの構成を示す図である。
【図59】 この発明の第37実施の形態による情報処
理装置の動作を説明するための終了フラグの転送経路を
示す概念図である。
【図60】 この発明の第37実施の形態による情報処
理装置の隣接格子点への終了フラグ伝搬手順を説明する
ためのフローチャートである。
【図61】 この発明の第37実施の形態による情報処
理装置の終了フラグ転送の起点となっている要素プロセ
ッサの終了フラグ送出のための手順を示すフローチャー
トである。
【図62】 この発明の第38実施の形態による情報処
理装置の隣接格子点への終了フラグ伝搬手順を説明する
ためのフローチャートである。
【図63】 この発明の第38実施の形態による情報処
理装置の終了フラグ転送の起点となっている要素プロセ
ッサの終了フラグ送出のための手順を示すフローチャー
トである。
【図64】 この発明の第38実施の形態による情報処
理装置の格子点における処理調停の手順を示すフローチ
ャートである。
【図65】 第39実施の形態の情報処理装置の隣接格
子点への終了フラグ伝搬手順を説明するためのフローチ
ャートである。
【図66】 第39実施の形態の情報処理装置の隣接格
子点への終了フラグ伝搬手順を説明するためのフローチ
ャートである。
【図67】 この発明の第40実施の形態による情報処
理装置の収束判定の手順を示すフローチャートである。
【図68】 従来のマルチプロセッサを使用した微分方
程式求解のためのシステムの構成を示すブロック図であ
る。
【図69】 従来の偏微分方程式求解法を用いた場合の
並列化効率を示すグラフである。
【図70】 SIMPLE法による流体数値解析の計算
手順を示すフローチャートである。
【図71】 この発明の第41実施の形態による入出力
制御部とデータメモリとで構成されたネットワークの単
位を説明するためのブロック図である。
【図72】 この発明の第41実施の形態による入出力
制御部とデータメモリとで構成されたネットワークの他
の単位を説明するためのブロック図である。
【図73】 この発明の第41実施の形態による入出力
制御部とデータメモリとで構成された第1のネットワー
ク構成を説明するためのブロック図である。
【図74】 この発明の第41実施の形態による入出力
制御部とデータメモリとで構成された第2のネットワー
クを説明するためのブロック図である。
【図75】 この発明の第41実施の形態による入出力
制御部とデータメモリとで構成された第3のネットワー
ク構成を説明するためのブロック図である。
【図76】 この発明の第41実施の形態による入出力
制御部とデータメモリとで構成された第4のネットワー
ク構成を説明するためのブロック図である。
【図77】 この発明の第42実施の形態による収束判
定装置の構成の概略を示す概念図である。
【図78】 この発明の第43実施の形態による解析不
安定点を含む計算領域の分割形態を示す概念図である。
【図79】 この発明の第44実施の形態によるレジス
タ間データ転送経路モデルを示すブロック図である。
【符号の説明】
1 ホストコンピュータ、2 情報処理装置、3,3a
〜3t 要素プロセッサ、4 ネットワーク、5 プロ
セッシングユニット、6 メモリ部、7,203 要素
プロセッサ間コネクション、8,200 データメモ
リ、9 プロセッサ内データバス、10 浮動小数点計
算機、11 プログラムメモリ、12 機能モジュー
ル、13 データフローグラフ、14 演算器、15
データ線、16 演算ノード、17 アーク、18 2
次元計算基板、20 ナビエ・ストークスの運動方程式
を解くルーチン群、21 圧力補正式を解くルーチン
群、22速度・圧力の修正を行うルーチン群、23 非
線形性収束のための反復サイクル、24 時間進行のた
めの計算サイクル、25 格子点毎に割り当てられた要
素プロセッサ、26 コントロールボリューム、27
格子点(P)、28 隣接格子点(E)、29 隣接格
子点(W)、30 隣接格子点(N)、31 隣接格子
点(S)、32 一格子点分のパーティション、65
時刻n−1用2次元計算基板、66 時刻n用2次元計
算基板、67 時刻n+1用2次元計算基板、71,2
01 入出力制御部、76 メモリ、73,75,9
0,202データバス、76a マルチポートメモリ、
79 2ポートメモリ、80,204 バッファ機構、
83 マッチングメモリ、84 パイプライン、85
乗算器、86,87 加算器、88,89 データ線、
91 I/Oユニット、92出力データバス、93 出
力用I/Oユニット、94 出力データバス、95デー
タ出力制御部、96 シリアルデータバス、97 ポス
ト処理ユニット、98 画像出力データバス、99 デ
ィスプレイ、101 ネットワーク、104 行方向計
算情報バス、105 列方向計算情報バス、106 内
部計算情報バス、107 出力情報加工部、108 出
力情報バス、109 出力加工情報バス、120 座標
変換ユニット、125 境界上の格子点、126内部の
格子点、137 仮想格子点、180 収束判定ユニッ
ト、181 収束フラグ情報バス、182 収束情報バ
ス、183 収束判定部、184 内部情報フラグバ
ス、185 内部計算情報バス、186 終了情報バ
ス、205 収束判定ビット用レジスタ、206 収束
判定ビット線、208 収束情報信号線、209Nチャ
ネルMOSトランジスタ、210 抵抗。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 古藤 悟 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 坪田 浩乃 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 小守 伸史 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 中島 伸治 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 寺田 浩詔 大阪府吹田市山田西三丁目52番千里一条池 B−803 (72)発明者 岩田 誠 大阪府高槻市日吉台一番町3−16 (72)発明者 山口 克人 兵庫県西宮市上之町22−14 (72)発明者 大西 潤治 大阪府吹田市山田西3−52 A202 (72)発明者 近藤 明 兵庫県川西市萩原3−1−12 Fターム(参考) 5B045 AA07 GG12 5B056 AA04 BB03 HH00

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 複数の要素プロセッサと、互いに隣接す
    る前記要素プロセッサ間を繋ぐ複数のデータバスとを備
    え、所定の方程式で記述できる場の支配方程式を求解す
    る際に用いる格子状に離散化された計算空間を複数の領
    域に分割し、前記複数の領域のそれぞれごとに前記要素
    プロセッサを割り当てて、並列的にかつ反復的に演算を
    行わせる情報処理装置であって、 一の前記要素プロセッサは、反復的な演算の過程におい
    て、隣接する他の前記要素プロセッサにおける演算の過
    程に拘わらず、互いに隣接する前記領域同士の境界部分
    の格子点のデータを更新し、 前記他の要素プロセッサは、前記一の要素プロセッサに
    係る前記境界部分の前記格子点の前記データが前記一の
    要素プロセッサによって更新されたか否かに拘わらず、
    前記一の要素プロセッサに係る前記境界部分の前記格子
    点の前記データを前記データバスを介して参照しつつ、
    反復的な演算を行い、 前記要素プロセッサは、演算を実行するプロセッシング
    ユニット及び演算に関する各種データを記憶するための
    データメモリを有し、 前記一の要素プロセッサは、前記境界部分の前記格子点
    の前記データを自己の前記データメモリに書き込み、 前記他の要素プロセッサは、前記一の要素プロセッサの
    前記データメモリに記憶されている前記境界部分の前記
    格子点の前記データを参照し、 前記プロセッシングユニットは、前記格子点の全てに対
    し前記格子点の存在する位置が前記場の中の計算領域の
    内部か、あるいは前記計算領域内の物体の内部か外部か
    を示す内点ビット及び外点ビットを、さらに前記計算領
    域境界に位置する前記格子点に対して境界条件の情報を
    与える境界条件ビットを、前記要素プロセッサの前記デ
    ータメモリにロードしておき、前記内点ビット、前記外
    点ビット及び前記境界条件ビットに従ってデータフロー
    グラフの処理を変更することができる同一の布線論理に
    従ったハードウェア回路をさらに備える、情報処理装
    置。
  2. 【請求項2】 複数の要素プロセッサと、互いに隣接す
    る前記要素プロセッサ間を繋ぐ複数のデータバスとを備
    え、所定の方程式で記述できる場の支配方程式を求解す
    る際に用いる格子状に離散化された計算空間を複数の領
    域に分割し、前記複数の領域のそれぞれごとに前記要素
    プロセッサを割り当てて、並列的にかつ反復的に演算を
    行わせる情報処理装置であって、 一の前記要素プロセッサは、反復的な演算の過程におい
    て、隣接する他の前記要素プロセッサにおける演算の過
    程に拘わらず、互いに隣接する前記領域同士の境界部分
    の格子点のデータを更新し、 前記他の要素プロセッサは、前記一の要素プロセッサに
    係る前記境界部分の前記格子点の前記データが前記一の
    要素プロセッサによって更新されたか否かに拘わらず、
    前記一の要素プロセッサに係る前記境界部分の前記格子
    点の前記データを前記データバスを介して参照しつつ、
    反復的な演算を行い、 前記要素プロセッサは、演算を実行するプロセッシング
    ユニット及び演算に関する各種データを記憶するための
    データメモリを有し、 前記一の要素プロセッサは、前記境界部分の前記格子点
    の前記データを自己の前記データメモリに書き込み、 前記他の要素プロセッサは、前記一の要素プロセッサの
    前記データメモリに記憶されている前記境界部分の前記
    格子点の前記データを参照し、 隣接する前記要素プロセッサ同士を結合した細ノード結
    合と、一つ以上の前記要素プロセッサを飛び越して前記
    要素プロセッサ同士を粗ノード結合コネクションで結合
    した粗ノード結合とを有することを特徴とする、情報処
    理装置。
  3. 【請求項3】 複数の要素プロセッサと、互いに隣接す
    る前記要素プロセッサ間を繋ぐ複数のデータバスとを備
    え、所定の方程式で記述できる場の支配方程式を求解す
    る際に用いる格子状に離散化された計算空間を複数の領
    域に分割し、前記複数の領域のそれぞれごとに前記要素
    プロセッサを割り当てて、並列的にかつ反復的に演算を
    行わせる情報処理装置を用いた計算方法であって、 (a)一の前記要素プロセッサが、反復的な演算の過程
    において、隣接する他の前記要素プロセッサにおける演
    算の過程に拘わらず、互いに隣接する前記領域同士の境
    界部分の格子点のデータを更新する工程と、 (b)前記他の要素プロセッサが、前記一の要素プロセ
    ッサに係る前記境界部分の前記格子点の前記データが前
    記一の要素プロセッサによって更新されたか否かに拘わ
    らず、前記一の要素プロセッサに係る前記境界部分の前
    記格子点の前記データを前記データバスを介して参照し
    つつ、反復的な演算を行う工程とを備え、 前記所定の方程式は、微分方程式を含み、 非同期に、かつ独立に前記要素プロセッサを動作させて
    前記微分方程式の解を差分法を用いて得ることを特徴と
    する、情報処理装置における計算方法。
  4. 【請求項4】 複数の要素プロセッサと、互いに隣接す
    る前記要素プロセッサ間を繋ぐ複数のデータバスとを備
    え、所定の方程式で記述できる場の支配方程式を求解す
    る際に用いる格子状に離散化された計算空間を複数の領
    域に分割し、前記複数の領域のそれぞれごとに前記要素
    プロセッサを割り当てて、並列的にかつ反復的に演算を
    行わせる情報処理装置を用いた計算方法であって、 (a)一の前記要素プロセッサが、反復的な演算の過程
    において、隣接する他の前記要素プロセッサにおける演
    算の過程に拘わらず、互いに隣接する前記領域同士の境
    界部分の格子点のデータを更新する工程と、 (b)前記他の要素プロセッサが、前記一の要素プロセ
    ッサに係る前記境界部分の前記格子点の前記データが前
    記一の要素プロセッサによって更新されたか否かに拘わ
    らず、前記一の要素プロセッサに係る前記境界部分の前
    記格子点の前記データを前記データバスを介して参照し
    つつ、反復的な演算を行う工程とを備え、 前記要素プロセッサは、演算を実行するプロセッシング
    ユニット及び演算に関する各種データを記憶するための
    データメモリを有し、 前記工程(a)において、前記一の要素プロセッサは、
    前記境界部分の前記格子点の前記データを自己の前記デ
    ータメモリに書き込み、 前記工程(b)において、前記他の要素プロセッサは、
    前記一の要素プロセッサの前記データメモリに記憶され
    ている前記境界部分の前記格子点の前記データを参照
    し、 前記格子点の全てに対し前記格子点の存在する位置が前
    記場の中の計算領域の内部か外部か、あるいは前記計算
    領域内の物体の内部か外部かを示す内点ビット及び外点
    ビットを、さらに前記計算領域境界に位置する前記格子
    点に対して境界条件の情報を与える境界条件ビットを、
    前記要素プロセッサの前記データメモリ上に予め与えて
    おき、前記要素プロセッサには前記内点ビット、前記外
    点ビット及び前記境界条件ビットにより処理を変更する
    ことができる同一の計算プログラムを用いて前記プロセ
    ッシングユニットが演算を行うことを特徴とする、情報
    処理装置における計算方法。
  5. 【請求項5】 複数の要素プロセッサと、互いに隣接す
    る前記要素プロセッサ間を繋ぐ複数のデータバスとを備
    え、所定の方程式で記述できる場の支配方程式を求解す
    る際に用いる格子状に離散化された計算空間を複数の領
    域に分割し、前記複数の領域のそれぞれごとに前記要素
    プロセッサを割り当てて、並列的にかつ反復的に演算を
    行わせる情報処理装置を用いた計算方法であって、 (a)一の前記要素プロセッサが、反復的な演算の過程
    において、隣接する他の前記要素プロセッサにおける演
    算の過程に拘わらず、互いに隣接する前記領域同士の境
    界部分の格子点のデータを更新する工程と、 (b)前記他の要素プロセッサが、前記一の要素プロセ
    ッサに係る前記境界部分の前記格子点の前記データが前
    記一の要素プロセッサによって更新されたか否かに拘わ
    らず、前記一の要素プロセッサに係る前記境界部分の前
    記格子点の前記データを前記データバスを介して参照し
    つつ、反復的な演算を行う工程とを備え、 前記要素プロセッサは、演算を実行するプロセッシング
    ユニット及び演算に関する各種データを記憶するための
    データメモリを有し、 前記工程(a)において、前記一の要素プロセッサは、
    前記境界部分の前記格子点の前記データを自己の前記デ
    ータメモリに書き込み、 前記工程(b)において、前記他の要素プロセッサは、
    前記一の要素プロセッサの前記データメモリに記憶され
    ている前記境界部分の前記格子点の前記データを参照
    し、 前記プロセッシングユニットは、前記格子点の全てに対
    し前記格子点の存在する位置が前記場の中の計算領域の
    内部か、あるいは前記計算領域内の物体の内部か外部か
    を示す内点ビット及び外点ビットを、さらに前記計算領
    域境界に位置する前記格子点に対して境界条件の情報を
    与える境界条件ビットを、前記要素プロセッサの前記デ
    ータメモリにロードしておき、前記内点ビット、前記外
    点ビット及び前記境界条件ビットに従ってデータフロー
    グラフの処理を変更することができる同一の布線論理に
    従ったハードウェア回路をさらに備える前記情報処理装
    置を用いる、情報処理装置における計算方法。
  6. 【請求項6】 複数の要素プロセッサと、互いに隣接す
    る前記要素プロセッサ間を繋ぐ複数のデータバスとを備
    え、所定の方程式で記述できる場の支配方程式を求解す
    る際に用いる格子状に離散化された計算空間を複数の領
    域に分割し、前記複数の領域のそれぞれごとに前記要素
    プロセッサを割り当てて、並列的にかつ反復的に演算を
    行わせる情報処理装置を用いた計算方法であって、 (a)一の前記要素プロセッサが、反復的な演算の過程
    において、隣接する他の前記要素プロセッサにおける演
    算の過程に拘わらず、互いに隣接する前記領域同士の境
    界部分の格子点のデータを更新する工程と、 (b)前記他の要素プロセッサが、前記一の要素プロセ
    ッサに係る前記境界部分の前記格子点の前記データが前
    記一の要素プロセッサによって更新されたか否かに拘わ
    らず、前記一の要素プロセッサに係る前記境界部分の前
    記格子点の前記データを前記データバスを介して参照し
    つつ、反復的な演算を行う工程とを備え、 前記要素プロセッサは、演算を実行するプロセッシング
    ユニット及び演算に関する各種データを記憶するための
    データメモリを有し、 前記工程(a)において、前記一の要素プロセッサは、
    前記境界部分の前記格子点の前記データを自己の前記デ
    ータメモリに書き込み、 前記工程(b)において、前記他の要素プロセッサは、
    前記一の要素プロセッサの前記データメモリに記憶され
    ている前記境界部分の前記格子点の前記データを参照
    し、 計算対象となる前記格子点が隣接する前記領域との境界
    上にあるため、前記場の支配方程式を解くための通信回
    数が少ない前記格子点についてもダミーの通信を行うこ
    とにより全ての前記格子点での通信回数を平準化するこ
    とを特徴とする、情報処理装置における計算方法。
  7. 【請求項7】 複数の要素プロセッサと、互いに隣接す
    る前記要素プロセッサ間を繋ぐ複数のデータバスとを備
    え、所定の方程式で記述できる場の支配方程式を求解す
    る際に用いる格子状に離散化された計算空間を複数の領
    域に分割し、前記複数の領域のそれぞれごとに前記要素
    プロセッサを割り当てて、並列的にかつ反復的に演算を
    行わせる情報処理装置を用いた計算方法であって、 (a)一の前記要素プロセッサが、反復的な演算の過程
    において、隣接する他の前記要素プロセッサにおける演
    算の過程に拘わらず、互いに隣接する前記領域同士の境
    界部分の格子点のデータを更新する工程と、 (b)前記他の要素プロセッサが、前記一の要素プロセ
    ッサに係る前記境界部分の前記格子点の前記データが前
    記一の要素プロセッサによって更新されたか否かに拘わ
    らず、前記一の要素プロセッサに係る前記境界部分の前
    記格子点の前記データを前記データバスを介して参照し
    つつ、反復的な演算を行う工程とを備え、 前記要素プロセッサは、演算を実行するプロセッシング
    ユニット及び演算に関する各種データを記憶するための
    データメモリを有し、 前記工程(a)において、前記一の要素プロセッサは、
    前記境界部分の前記格子点の前記データを自己の前記デ
    ータメモリに書き込み、 前記工程(b)において、前記他の要素プロセッサは、
    前記一の要素プロセッサの前記データメモリに記憶され
    ている前記境界部分の前記格子点の前記データを参照
    し、 計算対象となる前記格子点が隣接する前記領域との境界
    上にあるため、前記場の支配方程式を解くための演算回
    数が少ない前記格子点についてもダミーの演算を行うこ
    とにより全ての前記格子点での演算回数を平準化するこ
    とを特徴とする、情報処理装置における計算方法。
  8. 【請求項8】 複数の要素プロセッサと、互いに隣接す
    る前記要素プロセッサ間を繋ぐ複数のデータバスとを備
    え、所定の方程式で記述できる場の支配方程式を求解す
    る際に用いる格子状に離散化された計算空間を複数の領
    域に分割し、前記複数の領域のそれぞれごとに前記要素
    プロセッサを割り当てて、並列的にかつ反復的に演算を
    行わせる情報処理装置を用いた計算方法であって、 (a)一の前記要素プロセッサが、反復的な演算の過程
    において、隣接する他の前記要素プロセッサにおける演
    算の過程に拘わらず、互いに隣接する前記領域同士の境
    界部分の格子点のデータを更新する工程と、 (b)前記他の要素プロセッサが、前記一の要素プロセ
    ッサに係る前記境界部分の前記格子点の前記データが前
    記一の要素プロセッサによって更新されたか否かに拘わ
    らず、前記一の要素プロセッサに係る前記境界部分の前
    記格子点の前記データを前記データバスを介して参照し
    つつ、反復的な演算を行う工程とを備え、 前記要素プロセッサは、演算を実行するプロセッシング
    ユニット及び演算に関する各種データを記憶するための
    データメモリを有し、 前記工程(a)において、前記一の要素プロセッサは、
    前記境界部分の前記格子点の前記データを自己の前記デ
    ータメモリに書き込み、 前記工程(b)において、前記他の要素プロセッサは、
    前記一の要素プロセッサの前記データメモリに記憶され
    ている前記境界部分の前記格子点の前記データを参照
    し、 隣接する前記格子点が異なる前記要素プロセッサにまた
    がって割り当てられた場合、双方の前記要素プロセッサ
    で互いに相手方へ送信するためにデータを時系列的に2
    組もち、これらの格子点に対するデータが更新された場
    合、更新されたデータが時系列的に前の組のデータと比
    較して所定値以下の変位ならば相手方のデータの書換え
    をしないことを特徴とする、情報処理装置における計算
    方法。
  9. 【請求項9】 複数の要素プロセッサと、互いに隣接す
    る前記要素プロセッサ間を繋ぐ複数のデータバスとを備
    え、所定の方程式で記述できる場の支配方程式を求解す
    る際に用いる格子状に離散化された計算空間を複数の領
    域に分割し、前記複数の領域のそれぞれごとに前記要素
    プロセッサを割り当てて、並列的にかつ反復的に演算を
    行わせる情報処理装置を用いた計算方法であって、 (a)一の前記要素プロセッサが、反復的な演算の過程
    において、隣接する他の前記要素プロセッサにおける演
    算の過程に拘わらず、互いに隣接する前記領域同士の境
    界部分の格子点のデータを更新する工程と、 (b)前記他の要素プロセッサが、前記一の要素プロセ
    ッサに係る前記境界部分の前記格子点の前記データが前
    記一の要素プロセッサによって更新されたか否かに拘わ
    らず、前記一の要素プロセッサに係る前記境界部分の前
    記格子点の前記データを前記データバスを介して参照し
    つつ、反復的な演算を行う工程とを備え、 前記要素プロセッサは、演算を実行するプロセッシング
    ユニット及び演算に関する各種データを記憶するための
    データメモリを有し、 前記工程(a)において、前記一の要素プロセッサは、
    前記境界部分の前記格子点の前記データを自己の前記デ
    ータメモリに書き込み、 前記工程(b)において、前記他の要素プロセッサは、
    前記一の要素プロセッサの前記データメモリに記憶され
    ている前記境界部分の前記格子点の前記データを参照
    し、 隣接する前記要素プロセッサ同士を結合した細ノード結
    合と、一つ以上の前記要素プロセッサを飛び越して前記
    要素プロセッサ同士を粗ノード結合コネクションで結合
    した粗ノード結合とを有する前記情報処理装置を用いる
    ことを特徴とする、情報処理装置における計算方法。
JP2001169407A 1994-07-22 2001-06-05 情報処理装置および情報処理装置における計算方法 Expired - Fee Related JP3495010B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001169407A JP3495010B2 (ja) 1994-07-22 2001-06-05 情報処理装置および情報処理装置における計算方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP17138594 1994-07-22
JP6-171385 1994-07-22
JP2001169407A JP3495010B2 (ja) 1994-07-22 2001-06-05 情報処理装置および情報処理装置における計算方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP18019595A Division JP3308770B2 (ja) 1994-07-22 1995-07-17 情報処理装置および情報処理装置における計算方法

Publications (2)

Publication Number Publication Date
JP2002049596A true JP2002049596A (ja) 2002-02-15
JP3495010B2 JP3495010B2 (ja) 2004-02-09

Family

ID=26494131

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001169407A Expired - Fee Related JP3495010B2 (ja) 1994-07-22 2001-06-05 情報処理装置および情報処理装置における計算方法

Country Status (1)

Country Link
JP (1) JP3495010B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007034373A (ja) * 2005-07-22 2007-02-08 Hitachi Ltd 空間シミュレーションプログラムおよび装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007034373A (ja) * 2005-07-22 2007-02-08 Hitachi Ltd 空間シミュレーションプログラムおよび装置

Also Published As

Publication number Publication date
JP3495010B2 (ja) 2004-02-09

Similar Documents

Publication Publication Date Title
JP3308770B2 (ja) 情報処理装置および情報処理装置における計算方法
US20130226535A1 (en) Concurrent simulation system using graphic processing units (gpu) and method thereof
US20220027546A1 (en) Standard cell layout generation with applied artificial intelligence
Betkaoui et al. A framework for FPGA acceleration of large graph problems: Graphlet counting case study
US20190057060A1 (en) Reconfigurable fabric data routing
CN104011676A (zh) 用于跨过多个硬件线程的虚拟线程的细粒度并行的低延迟变量转移网络
US11347916B1 (en) Increasing positive clock skew for systolic array critical path
CN109669832A (zh) 一种面向gpu芯片图形管线单元性能验证方法及平台
US20190130269A1 (en) Pipelined tensor manipulation within a reconfigurable fabric
US20200167309A1 (en) Reconfigurable fabric configuration using spatial and temporal routing
CN109711003A (zh) 一种面向gpu芯片图形管线单元功能仿真方法及平台
Chen et al. FCUDA-NoC: A scalable and efficient network-on-chip implementation for the CUDA-to-FPGA flow
JPWO2017037903A1 (ja) 半導体システムおよび計算方法
Balkan et al. Mesh-of-trees and alternative interconnection networks for single-chip parallelism
US20230289242A1 (en) Hardware accelerated synchronization with asynchronous transaction support
US11593547B1 (en) Prediction and optimization of multi-kernel circuit design performance using a programmable overlay
US11476852B2 (en) Glitch-free multiplexer
Lundstrom Applications considerations in the system design of highly concurrent multiprocessors
CN114341805A (zh) 纯函数语言神经网络加速器系统及结构
US11625279B2 (en) Read-write page replication for multiple compute units
US20220004864A1 (en) Preventing glitch propagation
Gan et al. Solving mesoscale atmospheric dynamics using a reconfigurable dataflow architecture
JP3495010B2 (ja) 情報処理装置および情報処理装置における計算方法
US7516059B2 (en) Logical simulation device
CN116303113A (zh) 用于拓扑系统间直接存储访问的方法及装置、设备与介质

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees