JPH07253955A - データ分割方法 - Google Patents

データ分割方法

Info

Publication number
JPH07253955A
JPH07253955A JP4352894A JP4352894A JPH07253955A JP H07253955 A JPH07253955 A JP H07253955A JP 4352894 A JP4352894 A JP 4352894A JP 4352894 A JP4352894 A JP 4352894A JP H07253955 A JPH07253955 A JP H07253955A
Authority
JP
Japan
Prior art keywords
array
combination
dimension
dimensions
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4352894A
Other languages
English (en)
Inventor
Fujio Yamamoto
富士男 山本
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP4352894A priority Critical patent/JPH07253955A/ja
Publication of JPH07253955A publication Critical patent/JPH07253955A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【目的】 逐次プログラムを分散記憶型並列機向けに変
換する場合、その実行性能が高くなるようなデータの分
割方法を与える。 【構成】 配列要素に対する各代入文について、代入文
の重み計算300、左辺との結合度解析400、結合度
グラフ作成500、結合度グラフ更新600の各処理を
繰り返す。結合度グラフ作成500では、結合度解析結
果により生成された、右辺配列次元と左辺配列次元の組
[L、m][R、n]の各々について、処理520で、
頂点[R、n]を生成し、処理530で、2つの頂点
[L、m]と[R、n]の間に辺をひき、処理540
で、辺[L、m]ー[R、n]に重みCONW[L、m]
[R、n]を与え、処理550で、辺[L、m]ー
[R、n]に、頂点[R、n]の[L、m]に対する結
合情報CONWF[L、m][R、n]を与える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、技術計算等の逐次プロ
グラムを分散記憶型並列計算機上で効率的に実行させる
ために必要な、プログラム変換におけるデータ分割方法
に関する。
【0002】
【従来の技術】数値シミュレ−ションにおいては、その
解析対象の多様化と解析内容の精密化に伴い、大規模計
算の結果を短時間で取得して研究開発の一層の促進を図
りたいという要請が高まっている。それに答え得る有力
なマシンとして分散記憶型超並列機への期待が大きくな
っている。しかしながら、現時点では、このような超並
列機上で一つの計算を多数のプロセッサに分配して効率
良く計算させるための仕事は、多くの場合ユ−ザの人手
作業に委ねられていると言っても過言ではない。即ち、
ユーザは、自分の問題の解法(計算論理)を使い慣れた
通常のFORTRANやC言語で記述するだけでは済まず、解
法の手順と主要なデータを、対象とする並列計算機に適
合するように分割して表現するという困難な作業を追加
しなければならないという重大なボトルネックがある。
この問題を解決するための課題は多岐に渡るが、分散記
憶型超並列機の場合には、データと計算手順の分割、お
よびそれに伴って必要となるプロセッサ間通信を効率化
する方法の開発が特に重要な課題である。
【0003】このうち、データ分割に関するアプローチ
の一つが、インタナショナルコンファレンス オン ス
ーパーコンピューティング予稿集(1993年)第87
ペ−ジから第96ペ−ジ(Proceedings of the Interna
tional Conference on Supercomputing、 pp.87-96, 199
3)において論じられている。そこでは、配列の各次元
を頂点とし、配列添字式に一定の類似度がある頂点を辺
で結んだグラフを作成し、グラフの頂点をグループに分
ける分割を施して、同一グループの配列次元に共通のデ
ータ分割パタンを適用している。ここで、辺の重みとし
ては、両端の頂点すなわち配列の次元同士を、同一グル
ープにした場合としない場合の通信コストの差の値を与
えるとしている。しかし、この時点で、すなわち、どの
ようにデータ分割したらよいかが分からない時点で、こ
のような通信コストの差を算出することは論理的にでき
ないので、種々の仮定を置いた上で算出している。ま
た、グラフの頂点のグループ分けは、他のグループに接
続される辺の重みの総和が最小になるようになされる
が、同一グループに属する配列次元に対して完全に同一
の分割を施すのか、それとも添字式の形式に応じて、お
互いの配置をもう一度行なった後に分割するのかについ
ては言及していない。
【0004】
【発明が解決しようとする課題】分散記憶型超並列機向
けの並列化においては、データをどのように分割して各
プロセッサに割り付けるかが重要課題の一つである。し
かしながら現状では、どの様にデータを分割すれば最短
計算時間が得られるかに関する指針はあまり明かではな
い。このため、実機を使ってデータ分割パタンを変えて
は性能実測を繰り返し、そのなかから良いものを選択す
るという試行錯誤的な方法以外に適当な方法がないとい
う問題があった。本発明の目的は、分散記憶型並列計算
機を使用する前に、特定の並列機に依存しない抽象的な
並列機モデル上において、データ分割方法を決定する手
段を与えることにある。
【0005】
【課題を解決するための手段】このため、本発明では、
(a)代入文の左辺の配列の各次元と、右辺に出現する
配列の各次元との組み合わせについて添字式の類似度
を、予め定めた基準によって評価し、(b)次に出現す
る代入文において、ステップ(a)での配列次元の組み
合わせと同一の組み合わせがある場合に、組み合わせに
対する類似度を、類似度のうちの最大なものに設定し、
(c)ステップ(b)を、代入文が無くなるまで繰り返
し、(d)配列次元の組み合わせのうち、類似度の最大
なものを選択し、配列次元の組み合わせを基準として、
互いに組み合わせの一方の要素を共有するもの同士をグ
ループ化し、(e)残りの配列次元の組み合わせについ
て、ステップ(d)を繰り返してグループ化を終え、
(f)一つのグループに属する配列次元の全てに対し、
予め定めた基準による特定の分割パタンを用いて分割す
る。
【0006】さらに、本発明のより望ましい形態では、
配列次元の組み合わせについての添字式の類似度の評価
において、配列の使用または定義回数を重みとして用い
る。
【0007】また、本発明の他のより望ましい形態で
は、データの分割決定において、各配列次元の添字式の
形式に応じて、互いに次元の軸を一定の距離だけシフト
するか、または拡大して配置した上で共通の分割パタン
を用いる。
【0008】
【作用】本発明では、(a)代入文の左辺の配列の各次
元と、右辺に出現する配列の各次元との組み合わせにつ
いて添字式の類似度を、予め定めた基準によって評価
し、(b)次に出現する代入文において、ステップ
(a)での配列次元の組み合わせと同一の組み合わせが
ある場合に、組み合わせに対する類似度を、類似度のう
ちの最大なものに設定し、(c)ステップ(b)を代入
文が無くなるまで繰り返し、(d)配列次元の組み合わ
せのうち、類似度の最大なものを選択し、配列次元の組
み合わせを基準として、互いに組み合わせの一方の要素
を共有するもの同士をグループ化し、(e)残りの配列
次元の組み合わせについて、ステップ(d)を繰り返し
てグループ化を終え、(f)一つのグループに属する配
列次元の全てに対し、予め定めた基準による特定の分割
パタンを用いて分割し、また、配列次元の組み合わせに
ついての添字式の類似度の評価において、配列の使用ま
たは定義回数を重みとして用い、さらに、各配列次元の
添字式の形式に応じて、互いに次元の軸を一定の距離だ
けシフトするか、または拡大して配置した上で共通の分
割パタンを用いるので、プログラム実行に際して最も計
算量の多い配列同士の演算における通信頻度が少なくな
る分割を得ることができる。
【0009】
【実施例】以下、本発明の1実施例を図面を用いて説明
する。図1は逐次ソースプログラムを分散記憶型並列計
算機向けの並列プログラムに変換する、プログラム変換
処理100の全体構成図である。1は、ソースプログラ
ム中の、変数名や定数、キーワード等を識別するための
字句解析処理である。2は、字句解析処理の結果得られ
た各要素間の関係を解析し、どのようにステートメント
が構成されているかを調べる構文解析である。3は、各
ステートメントにおける変数に対する定義と使用の状況
とその順序関係を解析する依存解析処理である。8は、
依存解析処理が出力する、変数に対する定義と使用の状
況とその順序関係を表現したデータフロー情報である。
【0010】200は、配列データを各プロセッサへど
のように分割して配置するかを決める配列データ分割処
理であり、その実行ステップの詳細は図2に示すもので
ある。9は、その結果として出力される配列分割結果で
あり、その例は、図14に示すものである。4は、配列
分割結果とデータフロー情報に基づき、ループの計算を
分割して各プロセッサへ分配する、ループ計算の分割処
理である。
【0011】5は、以上の処理結果に基づいて、図16
に示すような分散記憶型並列計算機向けのプログラムを
作り出す、分散記憶型並列プログラムの生成処理であ
る。10は、生成される分散記憶型並列プログラムであ
り、ループ計算の分割処理結果を反映して、プロセッサ
間の通信文を含むものである。11は、実行用入力デー
タであり、90の分散記憶型並列計算機での実行に付さ
れる。
【0012】以下、配列データ分割200の処理の詳細
を述べる。図2は、配列データ分割200の各実行ステ
ップを示したものである。この処理では、プログラム中
で最もドミナンドな配列次元間の結合、即ちプログラム
に於て強い参照関係を保って実行される配列の次元の組
み合わせを見つけ出し、それらの次元上のデータがお互
いに出きるかぎり同一のプロセッサ上に配置されるよう
にする点に特徴がある。言い換えると、実行回数の多い
ステートメントに出現する配列のデータを、他のプロセ
ッサから通信によって得なくて済むようにし、そのステ
ートメントの実行の効率を上げる変換を可能にする点に
特徴がある。
【0013】21は、配列要素に対する各代入文につい
て、代入文の重み計算300、左辺との結合度解析40
0、結合度グラフ作成500、結合度グラフ更新600
の各処理を繰り返す制御である。300は、代入文の実
行回数を重みとして採用するための、代入文の重み計算
処理であり、その詳細は図3に示すものである。22
は、代入文の右辺の各配列についての繰り返し処理を制
御するループである。さらに、23は、その配列の各次
元をたどる繰り返しである。400は、左辺にの配列の
添字と右辺に出現する配列の添字に組に対してその類似
度を解析する、左辺との結合度解析処理であり、その詳
細ステップは図4に示すものである。500は、左辺と
の結合度解析処理結果をグラフに表現する、結合度グラ
フ作成処理であり、その詳細は図5に示すものである。
24は、すでに結合度グラフが存在するか否かを調べる
判定であり、もし存在すれば、結合度グラフ更新600
の処理によって、結合度グラフを修正する。その詳細ス
テップは、図6に示すものである。25は、作成された
各結合度グラフに関する繰り返しを制御するループであ
る。700は、これまでの処理結果に基づき、どの配列
のどの次元同士を一つのグループとして結合するかを具
体的に決定するための、配列間結合決定処理である。8
00は、配列間結合決定処理を受けて、配列の次元のグ
ループに、適当なデータの分割パタンを付与する処理で
ある。
【0014】図3は、代入文の重み計算の詳細ステップ
である。310は、L1にその代入文を包含する最内側
ループ識別子を、L2にL1を包含する最内側ループ識
別子を、L3にL2を包含する最内側ループ識別子をな
ど設定し、最後にLsにその代入文を包含する最外側ル
ープ識別子を設定する処理である。31は、L1からL
sまでについての繰り返しを制御する処理である。32
は、そのループの反復回数が静的に得られるか否か判定
する処理であり、それが可能である場合には、処理32
0によって、配列宣言などからそれを得る。もし不可能
であれば、処理330によって、対話的、またはプログ
ラムの実行によってそれを得る。処理340は、重みw
として、L1からLsまでのループ反復回数の全ての積
を設定する処理である。
【0015】図4は、左辺との結合度解析400の詳細
ステップを示すものである。410は、Rに現在対象と
している右辺の配列名を、nにその配列の現在対象とし
ている次元を、Jにその次元の添字式を、Lに現在対象
としている左辺の配列名をそれぞれ設定する処理であ
る。41は、左辺配列の各次元mについての繰り返しル
ープである。420は、Kにその次元の添字式を設定す
る処理である。42は、Kが、(定数1)*J+(定数
2)の形式であるかを判定する処理である。もし、その
形式であれば、処理430によって、テーブルCONW
[L、m][R、n]に重みwを、テーブルCONF[L、
m][R、n]に値の組(定数1, 定数2)をそれぞれ
設定する。
【0016】図5は、結合度グラフ作成500の詳細ス
テップを示すものである。51は、結合度解析結果によ
り生成された、右辺配列次元と左辺配列次元の組[L、
m][R、n]の各々についての繰り返しを制御する処
理である。52は、結合度グラフに頂点[L、m]が存
在しないかを判定する処理である。もし、存在しなけれ
ば処理510によって、頂点[L、m]を生成する。5
20は、頂点[R、n]を生成する処理である。530
は、2つの頂点[L、m]と[R、n]の間に辺をひく
処理である。540は、辺[L、m]ー[R、n]に重
みCONW[L、m][R、n]を与える処理である。55
0は、辺[L、m]ー[R、n]に、頂点[R、n]の
[L、m]に対する結合情報CONWF[L、m][R、
n]を与える処理である。
【0017】図6は、結合度グラフ更新600の詳細ス
テップを示すものである。この図において、mは左辺配
列の第m次元を表す。また、現在のグラフとは、最も新
しく新規作成された結合度グラフのことを指す。60
は、左辺配列の各次元に対応する頂点[L、m]につい
ての繰り返しループである。61は、右辺の各配列Rに
ついての繰り返しループである。62は、その配列の各
次元nについての繰り返しループである。63は、2つ
の頂点[L、m]と[R、n]の間に辺が存在するかを
判定する処理である。もし、存在すれば、処理64によ
って、他の既存グラフについてのループを処理する。6
10は、条件1として、「配列LとRに関するノードが共
に存在する」こと、条件2として、「[L、m]から
[R、n]への経路が存在し、n0≠nである」こと、
条件3として、「[L、m]から[R、n]への経路の
重みの方が、現在のグラフ上の辺[L、m]ー[R、
n]の重みより小さい」ことを設定する処理である。6
5は、条件1と条件2と条件3の全てが成立するか否か
を判定する処理である。成立すれば、処理620によっ
て、条件6として、この既存グラフに辺[L、m]ー
[R、n]が存在することを設定する。次に、処理66
によって条件6が成立するか否かを判定する。もし成立
すれば、処理630によって、辺の重みを、現在グラフ
のそれと等しくなるよう付け替える。逆に成立しなけれ
ば、処理640によって、辺[L、m]ー[R、n]を
引き、さらに現在の重みをこの辺に与える。引き続き、
処理650によって、頂点[L、m]から頂点[R、n
0]への経路のうち、[L、m]からこの既存グラフ上
の左辺配列ノードまでの辺を削除する。67は、上記の
条件1が成立するか否かを調べる処理である。もし成立
すれば、処理660によって、現在のグラフにおける辺
[L、m]ー[R、n]を削除する。
【0018】処理680は、条件4として、現在グラフ
において辺が少なくとも1つ存在することを設定する。
処理68は、条件4が成立するか否かを調べる処理であ
る。もし成立しなければ、処理670によって、現在の
グラフ全体を削除する。
【0019】図7は、配列間結合決定700の詳細ステ
ップを示すものである。71は、左辺配列Lの各次元mに
ついての繰り返しループである。72は、終端ノードに
至る各経路についての繰り返しループである。これらの
繰り返し制御の下で、処理710によって、系路上のノ
ードを記録してリスト構造を作る。処理720は、各ノ
ード間[L、m]ー[R、n]に関するCONWとCONFテー
ブルの値等を以下のように記録する。すなわち、リスト
の第1要素に[L、m]を、リストの第2要素にCONW
[L、m][R、n]を、リストの第3要素にCONF
[L、m]ー[R、n]を、リストの第4要素に[R、
n]に関する第1要素へのポインタをそれぞれ設定す
る。処理73は、左辺配列Lの各次元mについての繰り返
しループである。処理730は、リスト構造をたどって
第2要素が最大のノード[L0、m0]のうちで接続要
素数が最大のノードを得る。処理740は、配列L0の
第m0次元を、他の配列次元と結合する上での結合ベー
ス(アラインベース)に設定する。処理750は、その
リスト内の他の配列を、アラインベースを原点とした、
リストの第3要素で決まる相対位置に配置する。
【0020】図8は、配列分割パタン決定800の詳細
ステップを示すものである。81は、配列間結合決定後
の各アラインベースについての繰り返しループである。
処理810は、条件5として、「対応する左辺配列への
代入文が2重以上の多重DOループに包含されている」こ
とを設定する処理である。処理820は、条件6とし
て、「アラインベースに結合されている左辺配列の次元
をmとした場合に、第m次元の添字に含まれる、最内側の
DOループ変数の値のとる範囲がそれより外側のDOループ
変数の関数となっている」ことを設定するループであ
る。処理82は、条件5と条件6が共に成立するか否か
を判定する処理である。
【0021】もし成立すれば、処理830によって、そ
のアラインベースに結合されている配列次元の分割パタ
ンをサイクリック型、すなわちラウンドロビン型に設定
する。ただし同一配列に対してはいずれか一つの次元の
みをサイクリック型に設定する。この場合、一つの選択
として、アラインベースと相対的にずれている配列が結
合されていればその次元を優先することも可能である。
【0022】処理82の判定が成立しない場合は、処理
840によって、頂点[L、m]の分割をブロック型と
する。ただし同一配列に対してはいずれか一つの次元の
みをブロック型に設定する。この場合、一つの選択とし
て、アラインベースと相対的にずれている配列が結合さ
れていればその次元を優先することも可能である。
【0023】図9は、逐次ソースプログラム7の例を示
すものである。配列分割パタン決定800の詳細ステッ
プを示すものである。1001は、配列A、B、Cの宣
言であり、1002と1003はDOループである。1
004は最初の代入文である。1005と1006はD
Oループの終端を示す。1007と1008はDOルー
プである。1009は2番目の代入文である。1010
と1011はDOループの終端を示す。1012は、1
002のループ反復範囲をより短く変更した例である。
【0024】図10は、図9の逐次ソースプログラムで
使用される配列Aの形状1020、配列Bの形状102
1、配列Cの形状1022を夫々示したものである。
【0025】図11は、図9の逐次ソースプログラムに
対する、結合度グラフ作成500の処理結果を示してい
る。図11(a)は、代入文1004に対する結合度グ
ラフであり、図11(b)は、代入文1009に対する
結合度グラフである。表1031は、(a)の結合度グ
ラフの辺の重みを表すCONWテーブルであり、表10
32は、(a)の結合度グラフの頂点間の結合状況を表
すCONFテーブルである。同様に、表1033は、
(b)の結合度グラフの辺の重みを表すCONWテーブ
ルであり、表1034は、(b)の結合度グラフの頂点
間の結合状況を表すCONFテーブルである。
【0026】図12は、図11の結合度グラフに対す
る、結合度グラフ更新600の処理結果を示している。
1051は配列Aを表し、1052はそれが2次元であ
ること、1053は第1次元についての結合情報へのポ
インタ、1054は第2次元についての結合情報へのポ
インタを表す。1055は、リスト第1要素として配列
次元を指し、1056は、リスト上で次に接続されてい
る頂点との間の辺の重みを指し、1057は、その辺の
結合情報を指す。この例では、配列Cの第2次元目は、
配列Bの第2次元目に対して右へ1シフトした状態で結
合されることを示している。1058は、リスト上での
次の要素へのポインタを表す。
【0027】図13は、図12での結合度グラフ修正結
果に対して、配列間結合決定700の処理を適用した結
果を示している。この図は、アラインベースである配列
B1061の第2次元目に対し、配列C1063の第2
次元目を右へ1シフトした状態で結合すること、さら
に、配列C1063の第1次元目を2倍に拡大した状態
で結合することを示している。同様に、1064と10
65、1066の結合関係は、図9(b)の逐次ソース
プログラムに対するものである。
【0028】図14は、図13(a)の配列結合結果に
対する、配列分割パタン決定800の処理結果を示すも
のである。ここでは、4台のプロセッサへの分割パタン
を示している。太線で区切られた領域のそれぞれが指定
されたプロセッサへ割り付けられることを示している。
【0029】図15は、本発明の有効性を説明するもの
である。図15(a)の表1081は、本発明を図9
(a)の例に適用して得られた配列分割結果である。図
15(b)の表1082は、これに対する各プロセッサ
が担当する演算回数と、その計算を実施するに当たって
必要となる他のプロセッサからの受信データ数を示して
いる。一方、図15(C)の表1083は本発明を使わ
ずナイーブに配列の分割を決めた一例を示す。この配列
分割を採用した場合の各プロセッサが担当する演算回数
と、その計算を実施するに当たって必要となる他のプロ
セッサからの受信データ数を表1084に示す。108
3の分割は、図9(a)のようなプログラムに対してプ
ログラマが容易に思い付く分割である一方、1081の
分割はプログラムの中身をよく調べても容易には思い付
かないものと考えられる。1082と1084の結果を
比較すると、各プロセッサでの計算負荷の均衡を保ち、
かつ受信データ量の少なさの面で、本発明の有効性が分
かる。
【0030】図16は、分散記憶型並列計算機の構成を
示したものであり、1090はプロセッサ間の通信のた
めのネットワーク、1091はプロセッサ、1092は
各プロセッサに固有の記憶装置である。
【0031】
【発明の効果】本発明では、プログラム中で最もドミナ
ンドな配列次元間の結合、即ちプログラムに於て強い参
照関係を保って実行される配列の次元の組み合わせを見
つけ出し、それらの次元上のデータがお互いに出きるか
ぎり同一のプロセッサ上に配置されるようにできる。言
い換えると、実行回数の多いステートメントに出現する
配列のデータを、他のプロセッサから通信によって得な
くて済むようにして、そのステートメントの分散記憶型
超並列計算機上での効率的実行を可能にするという効果
がある。
【図面の簡単な説明】
【図1】本発明の一実施例を示す全体構成図である。
【図2】配列データ分割処理の詳細図である。
【図3】代入文の重み計算処理の詳細図である。
【図4】左辺との結合度解析処理の詳細図である。
【図5】結合度グラフ作成処理の説明図である。
【図6】結合度グラフ更新処理の説明図である。
【図7】配列間結合決定処理の説明図である。
【図8】配列分割パタン決定処理の説明図である。
【図9】逐次ソースプログラムの例を示す図である。
【図10】逐次ソースプログラムにおける配列形状の例
を示す図である。
【図11】結合度グラフの例を示す図である。
【図12】結合度グラフの更新結果の例を示す図であ
る。
【図13】配列結合結果の例を示す図である。
【図14】配列分割結果の例を示す図である。
【図15】本発明の効果の一例を示す図である。
【図16】分散記憶型超並列計算機の構成例を示す図で
ある。
【符号の説明】
1:字句解析、2:構文解析、3:依存解析、200:
配列データ分割、4:ループ計算の分割、5:分散記憶
型並列プログラムの生成、300:代入文の重み計算、
400:左辺との結合度解析、500:結合度グラフ作
成、600:結合度グラフ更新、700:配列間結合決
定、800:配列分割パタン決定、510:頂点ノード
の生成、530:頂点間の辺の生成、550:結合度情
報設定、660:辺の削除、710:ノードのリスト構
造の作成、740:アラインベースの決定、1031:
重み情報CONWテーブル、1032:結合情報CONFテーブ
ル。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】並列プログラムに変換されるべき逐次ソー
    スプログラムによって処理されるデータを分割し、各プ
    ロセッサへ分配する場合において、(a)代入文の左辺
    の配列の各次元と、右辺に出現する配列の各次元との組
    み合わせについて添字式の類似度を、予め定めた基準に
    よって評価し、(b)次に出現する代入文において、該
    ステップ(a)での配列次元の組み合わせと同一の組み
    合わせがある場合に、該組み合わせに対する類似度を、
    該類似度のうちの最大なものに設定し、(c)ステップ
    (b)を、代入文が無くなるまで繰り返し、(d)配列
    次元の組み合わせのうち、類似度の最大なものを選択
    し、該配列次元の組み合わせを基準として、互いに組み
    合わせの一方の要素を共有するもの同士をグループ化
    し、(e)残りの配列次元の組み合わせについて、ステ
    ップ(d)を繰り返してグループ化を終え、(f)一つ
    のグループに属する配列次元の全てに対し、予め定めた
    基準による特定の分割パタンを用いて分割することを特
    徴とする、データ分割方法。
  2. 【請求項2】配列次元の組み合わせについての添字式の
    類似度の評価において、該配列の使用または定義回数を
    重みとして用いる、請求項1記載のデータ分割方法。
  3. 【請求項3】該ステップ(f)での分割は、各配列次元
    の添字式の形式に応じて、互いに該次元の軸を一定の距
    離だけシフトするか、または拡大して配置した上で共通
    の分割パタンを用いる、請求項1記載のデータ分割方
    法。
JP4352894A 1994-03-15 1994-03-15 データ分割方法 Pending JPH07253955A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4352894A JPH07253955A (ja) 1994-03-15 1994-03-15 データ分割方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4352894A JPH07253955A (ja) 1994-03-15 1994-03-15 データ分割方法

Publications (1)

Publication Number Publication Date
JPH07253955A true JPH07253955A (ja) 1995-10-03

Family

ID=12666252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4352894A Pending JPH07253955A (ja) 1994-03-15 1994-03-15 データ分割方法

Country Status (1)

Country Link
JP (1) JPH07253955A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014504750A (ja) * 2010-12-22 2014-02-24 マイクロソフト コーポレーション アジャイル通信演算子
US10282179B2 (en) 2010-12-09 2019-05-07 Microsoft Technology Licensing, Llc Nested communication operator
US10620916B2 (en) 2010-11-19 2020-04-14 Microsoft Technology Licensing, Llc Read-only communication operator

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10620916B2 (en) 2010-11-19 2020-04-14 Microsoft Technology Licensing, Llc Read-only communication operator
US10282179B2 (en) 2010-12-09 2019-05-07 Microsoft Technology Licensing, Llc Nested communication operator
JP2014504750A (ja) * 2010-12-22 2014-02-24 マイクロソフト コーポレーション アジャイル通信演算子
US10423391B2 (en) 2010-12-22 2019-09-24 Microsoft Technology Licensing, Llc Agile communication operator

Similar Documents

Publication Publication Date Title
Bacci et al. P3 L: A structured high‐level parallel language, and its structured support
Kim et al. A scheduling algorithm for conditional resource sharing/spl minus/a hierarchical reduction approach
Duarte et al. Parallel variable neighbourhood search strategies for the cutwidth minimization problem
JPH08508838A (ja) 有限要素法の新しい解析法及び解析器
Diekmann et al. Load balancing strategies for distributed memory machines
JPH0744508A (ja) プログラム分割方法
JP3047998B2 (ja) 並列計算機におけるプロセッサ割り当て方法、及び装置
Linderoth Topics in parallel integer optimization
JPH07253955A (ja) データ分割方法
Kallinderis et al. Generic parallel adaptive-grid Navier-Stokes algorithm
Hudson et al. Spatiotemporal partitioning of computational structures onto configurable computing machines
Hoos Computer-aided design of high-performance algorithms
Li PARALLEL PROCESSING OF COMBINATORIAL SEARCH PROBLEMS (DIVIDE-AND-CONQUER, BRANCH-AND-BOUND, LOGIC PROGRAMMING, DYNAMIC)
Kennaway et al. Novel architectures for declarative languages
RU2691860C1 (ru) Способ распараллеливания программ в среде логического программирования в вычислительной системе
Blochinger et al. A Universal Parallel SAT Checking Kernel.
Lehn et al. Framework for architecture-independent run-time reconfigurable applications
Anderson A network definition and solution of simulation problems
Sinharoy et al. Data and Task Alignment in Distributed-Memory Architectures
Ramamoorthy et al. Compilation techniques for recognition of parallel processable tasks in arithmetic expressions
Cristea et al. Genetic algorithms and intrinsic parallel characteristics
Woodhams et al. Optimising accelerator for CAD workstation
Tan et al. A stochastic model of a dedicated heterogeneous computing system for establishing a greedy approach to developing data relocation heuristics
Dieterle et al. Skeleton composition versus stable process systems in Eden
Stillger et al. Aques: An agent-based query evaluation system