JP2001154998A - 並列化解析指示方法と並列化汎用連成解析装置 - Google Patents

並列化解析指示方法と並列化汎用連成解析装置

Info

Publication number
JP2001154998A
JP2001154998A JP33383799A JP33383799A JP2001154998A JP 2001154998 A JP2001154998 A JP 2001154998A JP 33383799 A JP33383799 A JP 33383799A JP 33383799 A JP33383799 A JP 33383799A JP 2001154998 A JP2001154998 A JP 2001154998A
Authority
JP
Japan
Prior art keywords
analysis
parallelization
procedure
parallelized
group
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
JP33383799A
Other languages
English (en)
Inventor
Katsuya Furukawa
勝也 古川
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 JP33383799A priority Critical patent/JP2001154998A/ja
Publication of JP2001154998A publication Critical patent/JP2001154998A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】製品の高性能化に伴い詳細な解析や製品の特性
評価の為に連成解析など、解析の規模が大きくなり解析
の計算時間が掛かるようになった。その為、解析の並列
化が重要になるが、自動並列化コンパイラでは、計算量
に合わせた並列化は困難であること、並列化言語を使う
には、解析作業者は並列化プログラミング技術が必要な
ことなど、解析作業者に大きな負担を掛けていた。 【解決手段】上記課題を解決する為に、本発明では、並
列化指示手順を提供し、解析モデルに対して、解析作業
者に並列化したい個所を指示してもらい、並列化連成解
析プログラム生成手順により、並列化連成解析プログラ
ムを自動生成し、その並列化連成解析プログラムを実行
する並列化汎用連成解析装置を提供することで、並列化
した解析ができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、電気回路や電磁場
等を連成して解析する際に、電気回路図、ブロック線
図、通風網等のモデル図とC言語やFortran言語
等からなるユーザ・プログラムを入力し、その入力した
解析モデルを基に、並列化された連成解析プログラムを
自動生成する汎用連成解析装置に関する。
【0002】
【従来の技術】従来の技術では、入力した解析モデルを
基に、自動生成されるプログラムは逐次処理型のプログ
ラムを生成していた。それを、並列化するには、特開平
8−328871号や特開平10−228455号で述
べられているように、自動生成された逐次型プログラム
を自動並列化コンパイラによって並列化していた。或い
は、並列化言語(HPF,OpenMP)を用いる方法で、自動生
成された逐次型プログラムに対して、プログラム中に並
列化を指示する文を追記して並列化する方法がある。
【0003】
【発明が解決しようとする課題】上述した従来技術の自
動並列化コンパイラを用いる方法では、逐次型のプログ
ラムを分析し並列化したとしても十分な並列化は得られ
ない。例えば、ループ内の計算量が等しく、データ依存
がない3つループ処理を2つに並列化する場合、2つの
ループ処理をする計算部分と1つのループ処理をする計
算部分に並列化するならば、ループ回数を考慮して並列
化するのが好ましいがループ回数が変数の場合、プログ
ラムの実行時でなければ、ループ回数が判らず計算量を
把握できない。運悪く、ループ回数が多い2つのループ
処理と、ループ回数が少ない1つのループ処理に分けた
場合、1つのループ処理の方が待ち状態になっているの
で、効率が悪いことが分かる。
【0004】また、上述の従来技術で述べた、プログラ
ム中に並列化指示文を追記して並列化をする並列化言語
を用いる方法では、解析作業者に並列化プログラミング
技術の知識を必要とする為、解析作業者に大きな負担が
掛かる。本発明の目的は、プログラムソースよりも、上
位の概念にある解析モデルで計算量を考慮し、解析作業
者が解析モデルに並列化の指示を与えて、上述した問題
点を解決し、並列化連成解析プログラムを自動生成する
手段を持つ、並列化汎用連成解析装置を提供することで
ある。
【0005】
【課題を解決するための手段】上記目的を達成する為
に、図式化した或はプログラム化した解析モデルを解析
装置に入力する入力装置と、入力された解析モデルを表
示する表示装置と、解析に必要な手順を保存する保存装
置と、解析に必要な手順を記憶する主記憶装置と、主記
憶装置に記憶された手順を並列に処理する処理装置とか
ら構成される解析装置において、入力された解析モデル
を基に並列化連成解析プログラムを自動生成する手順を
備えた並列化汎用連成解析装置である。
【0006】
【発明の実施の形態】本発明の並列化汎用連成解析装置
を図1を用いて説明する。図1は本発明の全体構成図で
ある。
【0007】上記した目的を達成するために本発明の解
析装置は、入力装置101、102、出力装置103、
入出力処理装置104、主記憶装置105、処理装置群
106及び保存装置107からなる装置である。矢印は
情報の流れを示す。
【0008】入力装置101は解析作業者が電気回路図
やブロック線図等を作図する為の装置で、マウス等であ
る。
【0009】入力装置102は、解析作業者が電気回路
図中の回路素子属性値、ブロック線図中の伝達要素属性
値やユーザ・プログラムを入力する為の装置で、キーボ
ード等である。
【0010】出力装置103は、入力した電気回路図、
ブロック線図やユーザ・プログラム等の解析モデルの表
示と確認、また、解析結果のグラフの表示等の為の装置
で、モニタ等がある。
【0011】入出力処理装置104は、入力装置10
1、102、出力装置103、保存装置107と主記憶
装置105を制御する処理装置である。
【0012】主記憶装置105は、保存装置107に保
存されている各処理手順の記憶や入出力するデータを記
憶する記憶装置である。
【0013】処理装置106は、2つのプロセッサPE1
とPE2から構成されており、主記憶装置105に記憶さ
れている処理手順を並列に処理する装置である。本実施
例では、理解しやすいようにフロセツサは2つである
が、4、8、16、32プロセッサと多くなるに従っ
て、高い並列処理が可能になる。
【0014】保存装置107は、各処理手順(108〜
112)の保存や入力した解析モデルデータ113、解
析に必要な解析用汎用ライブラリ114、解析の計算を
する並列化連成解析プログラム115や解析結果データ
116を保存する装置である。
【0015】次に本実施例で用いる解析モデルについ
て、図2、図3を用いて説明する。
【0016】図2に本実施例の説明に用いるブロック線
図の解析モデルを示す。201から207は要素で、2
08から214はノードである。201はソース要素で
ある。伝達要素204、206は積分要素で、入力を積
分して出力する要素である。伝達要素202、205、
207はゲイン要素である。ソース要素201の出力は
ゲイン要素202の入力になり、ゲイン要素202の出
力は突き合わせ要素203の片方の入力になる。以下同
様に、矢印の向きに各伝達要素の出力が伝わっていくこ
とを現わすブロック線図である。図3は、図2に示すブ
ロック線図を現した解析モデルのデータ構造である。3
01、303、305、307、309、311、31
3は要素テーブルで、要素のシンボルタイプ格納欄、ノ
ードテーブルへのポインタ格納欄、要素の配置情報格納
欄、要素の属性格納欄、並列化指示格納欄、並列化グル
ープID格納欄、優先並列化グループID格納欄等を備
えている。302、304、306、308、310、
312、314はノードテーブルで、ノードのシンボル
タイプ格納欄、要素テーブルへのポインタ格納欄、ノー
ドの配置情報格納欄等を備えている。要素テーブルにあ
るノードテーブルへのポインタ格納欄とノードテーブル
にある要素テーブルへのポインタ格納欄は、図2の説明
で述べたように、信号の伝わり方を示すように、ポイン
夕が格納されている。また、信号の伝わり方とは逆に辿
ることができるようにもポイン夕は格納されている。こ
のポイン夕情報により、下流の要素を検索したり、上流
の要素を検索できるようになっている。
【0017】ここで、伝達要素群の扱いについて説明す
る。
【0018】連続して結線された伝達要素群を、1つの
伝達要素と見なせば、解析モデルを階層的に構築した場
合、階層化した上位モデルの要素は、1つの伝達要素と
見なせる。また、マウス101で矩形エリア216のよ
うに指示して、その矩形エリア内に収まる連続に結線さ
れた伝達要素群を1つの伝達要素と見なすことができ
る。更に、異なる分野をモデル化する場合も同様に、各
分野を1つの伝達要素と見なせる。例えば、電気回路部
のモデルや電磁界解析部のモデルを1つの伝達要素と見
なせる。つまり、本解析装置では、異なる解析分野のモ
デルや制御系の伝達要素群でも、要素群を1つの伝達要
素と見なすことができ、一つの伝達要素と同様に扱え
る。従って、異なる解析分野毎のモデルであったり、伝
達要素群を現わすモデルであっても、本実施例で述べる
伝達要素の扱いと、同様に扱える。
【0019】次に本解析装置による解析モデルデータの
作成について説明する。
【0020】解析作業者が本解析装置を起動させると、
入出力処理装置が、解析モデル作成手順108、並列化
指示手順109と並列化グループ手順110、並列化用
解析サブプログラム生成手順111、並列化用解析サブ
プログラムマージ手順112を、保存装置107から読
み込み、主記憶装置105に記憶する。そして、処理装
置106のPE1が、解析モデル作成手順108を処理
する。解析モデル作成手順108には、要素の配置処理
があり、図2の様に要素を配置することができる。その
要素の配置処理では、解析作業者は解析モデル作成手順
108に従って、入力装置101を使い、制御系の伝達
要素シンボルや電気回路図の電気回路素子シンボルを配
置する。ソース要素201を配置する場合、解析作業者
は、出力装置103を見ながら、マウス101を移動さ
せて、ソース要素201を配置したい場所でピックす
る。ピックすることで、マウス101は配置情報を入出
力処理装置104へ送る。配置情報を受け取った入出力
処理装置104は、主記憶装置105へ配置情報を送
り、解析モデル作成手順108へ知らせる。配置情報を
受け取った解析モデル作成手順108は、解析作業者に
ソース要素201の配置を指示されたので、属性テーブ
ル301内のシンボルタイプ格納欄にソース要素タイプ
を設定し、マウス101からの配置情報を要素テーブル
301の配置情報格納欄に設定する。解析モデル作成手
順108は、作成した要素テーブル301から、モニタ
103に表示させたい情報を入出力処理装置104へ送
る。その情報を受け取った入出力処理装置104は、モ
ニタ103にその情報を送る。そして、モニタ103
は、ソース要素201を表示する。以下同様に、要素2
02、203、204、205、206、207の配置
位置をマウス101で指示してもらい、解析モデル作成
手順118は各要素に対応する要素テーブル303、3
05、307、309、311、313を主記憶装置1
05に作成する。そして、作成した要素テーブルを基
に、要素を配置した状態をモニタ103に表示させてい
る。以上が要素の配置処理である。次に、要素間の結線
処理について説明する。
【0021】要素201と要素202を結線する場合、
解析作業者はモニタ103に表示された要素201をマ
ウス101でピックする。マウス101はマウス101
の座標情報を入出力装置104へ送り、入出力装置10
4は受け取った座標情報を主記憶装置105に送る。主
記憶装置105では、送られた座標情報を、解析モデル
作成手順108は要素テーブルの配置情報と比較し、要
素テーブル301が選択されたことを知る。次にマウス
101がモニタ103に表示された要素202がピック
されると、マウス101は座標情報を入出力処理装置1
04へ送る。以下上記と同様の動作で、解析モデル作成
手順108は要素テーブル303が選択されたことを知
る。初めに要素テーブル301が選択され、次に要素テ
ーブル303が選択されたことで、解析モデル作成手順
108は、図3の301、302、303で示すように
各ポインタを設定し、ノードテーブル302を主記憶装
置105に作成する。そのポインタ情報を基に、解析モ
デル作成手順108は結線情報を入出力処理装置104
に知らせ、入出力処理装置104は、モニタ103へ結
線情報を送り、モニタ103は結線状態を表示し、解析
作業者に、解析モデルの作成状況を知らせる。要素20
2から要素207の各要素間の結線も同様である。
【0022】解析モデル作成手順108の処理である要
素属性の入力処理やユーザ・プログラムの入力処理で
は、解析作業者がキーボード102で入力した情報を、
キーボード102は入出力処理装置104へ送る。入出
力処理装置104は、キーボード102からの情報を解
析モデル作成手順108へ送り、解析モデル作成手順1
08は、キーボードからの入力情報で要素テーブルの属
性格納欄に設定する。
【0023】図3は、本実施例で作成した解析モデルの
データ構造である。
【0024】解析モデル作成手順108は、作成した要
素テーブルとノードテーブルを入出力処理装置104へ
送り、入出力処理装置104は、保存装置107の解析
モデルデータ113に保存する。
【0025】次に並列化連成解析プログラム生成手順の
動作について、図4を用いて説明する。図4は並列化連
成解析プログラム生成手順を表した動作フローである。
上述したように解析モデル作成手順108は、ブロック
線図401、電気回路402やユーザ・プログラム40
3を、解析作業者に入力して貰い、解析モデルデータ1
13を図3のように生成する。そして次に、処置装置1
06のPE1は、主記憶装置105に記憶されている並
列化指示手順109の処理を実行する。解析作業者に並
列化する伝達要素、または伝達要素群を指示させる場合
について説明する。
【0026】伝達要素205は本実施例では単純な要素
であるが、並列化して有効な要素は、階層化されたモデ
ルや電磁界解析プログラムのように計算量が多い場合で
ある。要素205に並列化計算するよう指示するには、
解析作業者が、モニタ103に表示されている伝達要素
205をマウス101を用いてドラックやピック(21
5)をする。ピックやドラックによって、マウス101
は、マウスの座標情報を入出力処理装置104へ送る。
入出力処理装置104は、その座標情報を主記憶装置1
05へ送り、並列化指示手順109へ知らせる。並列化
指示手順109は、ピックやドラック時のマウスの座標
情報と要素テーブルの配置情報を比較して、伝達要素2
05を表わす要素テーブル309が選択されたことを判
断する。そして、並列化指示手順109は、要素テーブ
ル309中の並列化指示欄に並列化指示の1を設定す
る。説明では、並列化の指示は1ケ所だけであるが、複
数ある場合も同様に並列化フラグを設定する。並列化指
示の0は、初期値であり並列化の対象でないとを示す。
このように、解析モデルを作成する解析作業者が、解析
モデルの計算量を考慮して、並列化の指示ができる。つ
まり、ソースプログラムレベルではなく、図式化した解
析モデルで並列化の指示ができ、解析作業者の負担を軽
減している。
【0027】次に並列化グループ識別手順110につい
て説明する。
【0028】上記した並列化指示手順109が終了した
ら、処理装置106のPE1は、主記憶装置105に記
憶されている並列化グループ識別手順110を処理す
る。
【0029】並列化グループ識別手順110では、要素
テーブルの並列化指示欄にある並列化指示欄を参照し
て、要素群を並列化グループに分ける処理である。図
5、図6の流れ図に従って、その処理について詳しく説
明する。
【0030】処理501は、並列化グループ識別手順1
10の開始である。
【0031】処理502では、入出力処理装置104が
解析モデルデータ113を読み込み、主記憶装置105
に記憶させる。
【0032】処理503で並列化グループ識別変数とし
てParalleGroupIDを0に初期化する。
【0033】次にiを1から解析モデル中の伝達要素数
まで、処理504、505、506、507を繰り返
す。
【0034】処理504は、要素テーブル(i)の並列
化指示欄を調べ、並列化指示の1がセットされている要
素テーブル(i)を見つけ出す。見つかれば処理505
へ進む。
【0035】処理505は、要素テーブル(i)から、
上流の要素テーブルを辿り、シンボルタイプが積分要
素、又はソース要素の要素テーブル(k)を探す。無い
場合は処理506へ進み、処理506で並列化が出来な
いことをメッセージとして出力して、処理504へ進
む。一方、有る場合は、探し出した積分要素又はソース
要素の要素テーブル(k)に対して、処理507で、要
素テーブル(k)からの下流要素群に並列化グループI
Dを設定する。この処置507について、図6を用いて
詳しく説明する。
【0036】図6は、処理507の詳細流れ図である。
処理601は、処理507の開始である。処理602で
並列化グループ識別変数ParalleGroupIDに1を加算す
る。処理603では、処理505で見つけた要素テーブ
ル(k)の並列化グループID欄にParalleGroupIDを設
定する。本実施例では要素テーブル(k)は要素テーブ
ル307に対応する。
【0037】処理604では要素テーブル(k)が指す
下流要素を探す。無い場合は処理609へ進み、処理5
06を終える。有る場合は、それを要素テーブル(j)
とし、処理605へ進む。
【0038】処理605は、要素テーブル(j)のシン
ボルタイプが積分要素か判断する。積分要素の時は、処
理604に進み要素テーブル(k)が示す下流要素を探
す。積分要素でない場合は、処理606に進む。
【0039】処理606は、要素テーブル(j)が指す
1つ上流になる要素テーブル全てに、並列グループID
が設定されているかチェックする。その上流要素テーブ
ル全てに並列グループIDが設定されていれば処理60
7に進む。また、上流要素テーブル全てに並列グループ
IDが設定されていなければ、処理608に進む。
【0040】処理607では、要素テーブル(j)の並
列化グループID欄にParalleGroupIDを設定し、処理6
04に進む。
【0041】処理608では、要素テーブル(j)の優
先並列化グループID欄にParalleGroupIDを設定して、
処理604へ進む。
【0042】以下、要素テーブル(k)が指す下流要素
が無くなるまで繰り返す。
【0043】処理507が終了したら、iに1を加算し
て要素テーブル(i)について同様の処理を繰り返す。
【0044】全要素について繰り返した後、新たにiを
1として、伝達要素数まで、処理508、509、51
0を繰り返す。
【0045】処理508では要素テーブル(i)の並列
化グループIDが設定されていないソース要素がなけれ
ば、処理510へ進み、設定されている場合は処理50
9へ進む。
【0046】処理509は、要素テーブル(i)の並列
化グルーフIDが設定されていない積分要素がなけれ
ば、処理510へ進み、ある時は、iに1を加算して処
理508へ進む。
【0047】処理510は上記した処理506と同じ処
理である。
【0048】以下、全ての要素テーブル(i)に対して
繰り返し処理をして並列化グループ識別手順110をP
E1が順次実行して終える。
【0049】本実施の解析モデルでは、図3に示すよう
な、並列化指示欄、並列化グループID欄、優先並列化
グループID欄の値が解析モデルデータ113に設定さ
れる。そして、PE1は次に並列化用解析サブプログラ
ム生成手順111を処理する。
【0050】図7を用いて並列化用解析サブプログラム
生成手順111の説明をする。図7は、解析モデルデー
タ113を元に、並列化用解析サブプログラム404、
405、406を生成する手順の流れ図である。
【0051】処理701は、並列化用解析サブプログラ
ム生成手順111の開始である。
【0052】処理702では、処理602で処理された
ParalleGroupID変数から、並列化グループ数を取得す
る。
【0053】そして、処理703を並列化グループ数だ
け繰り返し、並列化グループ数分ファイルを新規にオー
プンする。この処理で、入出力装置104は保存装置1
07に並列化解析サブプログラムを格納するファイルを
並列化グループ数分作成する。
【0054】次に、iを1から要素数まで、処理704
から処理712を繰り返す。
【0055】処理704は、要素テーブル(i)のシン
ボルタイプがソース要素又は積分要素の要素テーブル番
号を取り出し、処理705で取り出した要素テーブル番
号iの値を変数jに格納し、処理706へ進む。要素テ
ーブル(i)のシンボルタイプがソース要素又は積分要
素でない場合は、ループ変数iを+1して繰り返す。
【0056】処理706では要素テーブル(j)に設定
してある並列化グループIDを取り出し、処理707で
は、その並列化グループIDに対応するファイルに要素
テーブル(j)の計算手順を書き込む。
【0057】処理708では、要素テーブル(j)が指
す下流要素テーブルを探し、下流要素テーブルがある場
合、その要素テーブル番号を変数kに設定し、処理70
9へ進む。無い場合はループ変数iに1を加算して繰り
返す。
【0058】処理709は、要素テーブル(j)と要素
テーブル(k)の並列化グループIDを比較し、等しく
ない時はiに1を加算して繰り返す。並列化グループI
Dが等しい時は処理710へ進む。処理710では、変
数kの値を変数jに格納する。そして、処理711へ進
む。
【0059】処理711では、要素テーブル(j)の優
先並列化グループIDがあるかをチェックする。要素テ
ーブル(j)に優先並列化グループIDが無い場合は処
理706へ進み、優先並列化グループIDがある場合
は、処理712へ進む。
【0060】処理712は、要素テーブル(j)にある
優先並列化グループIDを用いスレッド終了待ち手順
を、要素テーブル(j)の並列化グループIDと対応す
るファイルに書き込む。そして、処理706へ進む。
【0061】以下、全ての要素テーブル(i)について
同様に繰り返し、並列化用解析サブプログラム生成手順
111は終了する。並列化用解析サブプログラム生成手
順111の処理で、保存装置107上に並列化用解析サ
ブプログラム404、405、406が生成される。
【0062】その詳細を図8に示す。サブプログラム4
04は、並列化グループIDが1である要素の処理手順
である。サブプログラム405は、並列化グループID
が2である要素の処理手順である。サブプログラム40
6は、並列化グループIDが3である要素の処理手順で
ある。
【0063】次に並列化用解析サブプログラムマージ手
順112について説明する。
【0064】並列化用解析サブプログラムマージ手順1
12は、並列化用解析サブプログラム生成手順111で
生成した並列用解析サブプログラム404、405、4
06を解析作業者が指示した並列化の指示に従って、並
列化の指示がされた要素に対応する並列化用解析サブプ
ログラム404を残し、並列化の指示がされなかった要
素に対応する並列化用解析サブプログラム405、40
6を1つの並列化用解析サブプログラム408にマージ
して、結果として2つの並列化用解析サブプログラム4
07、408にする。マージする場合、優先並列化グル
ープIDが設定されていない要素に対応する並列化用解
析サブプログラムを先に処理するようにマージする。こ
の処理で、入出力処理装置104は、保存装置107に
保存されているサブプログラム3(406)をサブプロ
グラム0(408)に書き込み、次にサブプログラム2
(405)をサブプログラム0(408)追記する。ま
た、サブプログラム1(404)に、自分自身のスレッ
ド終了手続きを書き込む。この並列化用解析サブプログ
ラムマージ手順112で作成された並列化用解析サブプ
ログラムの詳細を図9に示す。サブプログラム407
は、並列化の指示がされた要素に対応する並列化用解析
サブプログラムである。また、サブプログラム408は
並列化の指示が無かった要素に対応する。並列化用解析
サブプログラムである。このように、処理装置106の
PEが2個の場合、スレッドが2つになるように並列化
用解析サブプログラムを2つにする工夫をしている。も
し、並列化解析サブプログラム生成手順111が生成し
た並列化解析サブプログラムの数が、処理装置106の
PEの数以内のであれば、マージしない。
【0065】このような処理手順を行えば、並列化指
示、並列化グループIDと優先並列化グループIDの情
報を使って、解析モデルを並列に計算できるように並列
化用解析サブプログラムが生成できる。そして、生成し
た並列化用解析サブプログラム407、408を処理装
置106のPE1が、コンパイルし、解析用汎用ライブ
ラリ114とリンクして、並列化連成解析プログラム1
15を生成する。
【0066】次に図10、図11を用いて従来、生成さ
れていた連成解析プログラムと本解析装置により生成さ
れた並列化連成解析プログラム115の処理について説
明する。
【0067】図10は、従来の連成解析プログラムの全
体流れ図である。処理1001から処理1007は、汎
用化されたライブラリで、保存装置107に格納してあ
る。処理1008は、従来の連成解析プログラム生成手
順が生成した連成解析用サブプログラムである。つま
り、解析モデルが代わった場合、処理1008が異な
り、解析モデルに合わせた計算手順を自動生成してい
た。
【0068】これに対して、本発明による並列化連成解
析プログラムの全体流れ図を図11に示す。処理110
1から処理1108は汎用化されたライブラリで解析用
汎用ライブラリ112として保存装置107に格納され
ている。処理1109と処理1110は、並列化用解析
サブプログラムマージ手順113が生成した並列化用解
析サブプログラム407、408である。
【0069】解析作業者が、並列化連成解析プログラム
の実行を指示すると、処理装置106のPE1は、入出
力装置104に並列化連成解析プログラム115の読み
込みを指示する。指示された入出力装置104は保存装
置107にある並列化連成解析プログラム115を読み
込み、主記憶装置105へ書き込む。そして、PE1は
並列化連成解析プログラム116の実行を開始する。
【0070】処理装置106のPE1は、最初の処理1
101で一つ目のスレッド0を作成し、処理1102を
実行する。処理1102で並列化解析プログラムの初期
化を行い解析時刻tをゼロにセットする。そして、処理
1103では解析時刻が解析終了時刻かチェックをし解
析終了時刻であれば、処理1107へ進み、解析結果デ
ータ116を出力して並列解析プログラムは終了110
8する。処理1103で解析終了時刻でない時は処理1
104へ進む。PE1は処理1104で処理1110を
実行する為に、二つ目のスレッド1を生成する。そし
て、生成されたスレッド1は、処理装置PE2で処理1
110を実行する。
【0071】スレッド0は、PE1で処理され処理11
09を実行し、スレッド1の終了待ち手順の処理では、
処理1110を処理しているスレッド1の終了を待つ。
一方、スレッド1は処理1110を処理した後、スレッ
ド1は終了する。スレッド0は、スレッド1の終了を確
認すると次のステップへ進む。この処理で各並列処理の
同期をとっている。
【0072】処理1105では積分中であれば処理11
04へ進む。積分中は上記と同様の処理を繰り返す。
【0073】積分が終了すると処理1106へ進む。
【0074】処理1106では解析時刻を積分刻み時間
だけ、解析時刻に加算し、処理1103へ進む。
【0075】以上の手順が1ステップの処理手順であ
り、解析終了時刻まで繰り返される。
【0076】この様に、解析作業者が解析プログラムの
ソースコードに直接、並列化の指示文をコーディングす
ることなく、また、自動並列化コンパイラを利用せず
に、解析プログラムのソースコードの上位の概念である
図式化した解析モデル上で、計算量が多くなると思われ
る要素に、並列化の指示をするだけで、並列化用解析サ
ブプログラム407、408を自動生成し、並列に計算
する連成解析プログラムができる。その為、従来より解
析モデルの計算量を考慮した並列化が可能で、このこと
は処理装置106のリソースを有効に利用でき、効率的
な解析作業ができる。今回の実施例では、積分中でスレ
ッド生成1104とスレッド終了の処理をしているが、
スレッド生成を初期化1102で行い、スレッドの終了
を結果出力の処理1107で行う方法にすると、スレッ
ドの作成と終了のオーバヘッドが減り、更に計算の高速
化が計れる。また、並列化の同期を取る為に、処理11
05に変わる仕組みが必要になるが、同期変数を用いる
などして、実現は可能である。
【0077】
【発明の効果】以上述べたように、本発明によれば、解
析作業者は、自動並列化コンパイラを必要とせず、ま
た、特殊な並列化言語を用いた並列化のプログラミング
を必要とせずに、並列化した連成解析作業ができる。
【0078】このことは、解析作業者にとって、解析モ
デルの作成に集中でき、更に、解析モデル中で計算時間
が多く掛かりボトルネックとなる要素について、図式化
した解析モデル上で並列化の指示ができるので、処理装
置106のリソースを効率的に利用でき、解析時間を短
縮することができる。
【図面の簡単な説明】
【図1】本発明の一実施例に於ける、並列化汎用連成解
析装置の全体構成図である。
【図2】本発明の一実施例に用いる解析モデル図であ
る。
【図3】本発明の一実施例に用いる解析モデルのデータ
構造図である。
【図4】本発明の一実施例に用いた並列化連成解析プロ
グラム生成手順の動作フロー図である。
【図5】本発明の一実施例に用いた並列化グループ識別
手順の流れ図である。
【図6】図5の処理507に示す下流要素群に並列化グ
ループIDをセットする手順の流れ図である。
【図7】本発明の一実施例に用いた並列化用解析サブプ
ログラム生成手順の流れ図である。
【図8】並列化用解析サブプログラム生成手順が生成し
た並列化用解析サブプログラムを示す図である。
【図9】並列化用解析サブプログラムマージ手順でマー
ジした並列化用解析サブプログラムを示す図である。
【図10】従来の連成解析プログラムの全体流れ図であ
る。
【図11】本発明による並列化連成解析プログラムの全
体流れ図である。
【符号の説明】
101…入力装置マウス、102…入力装置キーボー
ド、103…出力装置、104…入出力処理装置、10
5…主記憶装置、106…処理装置群、107…保存装
置、108…解析モデル作成手順、109…並列化指示
手順、110…並列化グループ識別手順、111…並列
化用解析サブプログラム生成手順、112…並列化用解
析サブプログラムマージ手順、113…解析モデルデー
タ、114…解析用汎用ライブラリ、115…並列化連
成解析プログラム、116…解析結果データ、201…
ソース要素、202…伝達要素、203…突き合わせ要
素、204…積分要素、205…伝達要素、206…積
分要素、207…伝達要素、208、209、210、
211、212、213、214…ノード、215…ピ
ック、216…ドラック。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 図式化した或はプログラム化した解析モ
    デルを解析装置に入力する入力装置と、入力された解析
    モデルを表示する表示装置と、解析に必要な手順を保存
    する保存装置と、解析に必要な手順を記憶する主記憶装
    置と、主記憶装置に記憶された手順を並列に処理する処
    理装置とから構成される解析装置において、入力された
    解析モデルを基に並列化連成解析プログラムを自動生成
    する手順を備えていることを特徴とした並列化汎用連成
    解析装置。
  2. 【請求項2】 請求項1において、並列化したい要素、
    又は要素群に並列化フラグを与える並列化解析指示方法
    を備え、並列化フラグを与えられた要素又は要素群を基
    に最適な並列化グループを決定する手段を備え、決定さ
    れた並列化グループの要素群を抽出する手段と抽出され
    た要素群から並列化したプログラムを自動生成する手順
    を備えた並列化汎用連成解析装置。
  3. 【請求項3】 請求項1において、並列化する要素また
    は要素群に並列化フラグを与える並列化解析指示方法を
    省き、入力装置からの解析モデルの情報を分析して並列
    化する要素、又は要素群を決定する手段を備えた並列化
    汎用連成解析装置。
  4. 【請求項4】 請求項1において、解析分野が多種にわ
    たる解析モデルの分野を並列化要素又は要素群として指
    示する並列化解析指示方法を備え、並列化を指示した分
    野の解析モデルを、並列化したプログラムに自動生成す
    る手順を備えた並列化汎用連成解析装置。
JP33383799A 1999-11-25 1999-11-25 並列化解析指示方法と並列化汎用連成解析装置 Pending JP2001154998A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33383799A JP2001154998A (ja) 1999-11-25 1999-11-25 並列化解析指示方法と並列化汎用連成解析装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33383799A JP2001154998A (ja) 1999-11-25 1999-11-25 並列化解析指示方法と並列化汎用連成解析装置

Publications (1)

Publication Number Publication Date
JP2001154998A true JP2001154998A (ja) 2001-06-08

Family

ID=18270506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33383799A Pending JP2001154998A (ja) 1999-11-25 1999-11-25 並列化解析指示方法と並列化汎用連成解析装置

Country Status (1)

Country Link
JP (1) JP2001154998A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008146426A (ja) * 2006-12-12 2008-06-26 Fujitsu Ltd 模擬ソースプログラム生成プログラム及び装置、並びに情報処理方法
JP2017529608A (ja) * 2014-09-02 2017-10-05 アビニシオ テクノロジー エルエルシー ユーザインタラクションを通じたグラフに基づくプログラム内の構成要素のサブセットの視覚的な規定
JP2018067218A (ja) * 2016-10-21 2018-04-26 株式会社日立製作所 アプリケーション開発支援装置およびアプリケーション開発支援方法
US11301445B2 (en) 2014-09-02 2022-04-12 Ab Initio Technology Llc Compiling graph-based program specifications

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008146426A (ja) * 2006-12-12 2008-06-26 Fujitsu Ltd 模擬ソースプログラム生成プログラム及び装置、並びに情報処理方法
JP2017529608A (ja) * 2014-09-02 2017-10-05 アビニシオ テクノロジー エルエルシー ユーザインタラクションを通じたグラフに基づくプログラム内の構成要素のサブセットの視覚的な規定
US11301445B2 (en) 2014-09-02 2022-04-12 Ab Initio Technology Llc Compiling graph-based program specifications
JP2018067218A (ja) * 2016-10-21 2018-04-26 株式会社日立製作所 アプリケーション開発支援装置およびアプリケーション開発支援方法

Similar Documents

Publication Publication Date Title
US6243863B1 (en) Apparatus and method for parallelizing legacy computer code
JP4962564B2 (ja) 並列化プログラム生成方法、並列化プログラム生成装置、及び並列化プログラム生成プログラム
KR101279179B1 (ko) 병렬 프로그램 생성 방법
JPH01121938A (ja) オブジェクト生成方法
JP2005352618A (ja) 信号処理装置
US5511167A (en) Program processing method and apparatus for producing a data flow type program
JPWO2007105309A1 (ja) 並列化プログラム生成プログラム、並列化プログラム生成装置、及び並列化プログラム生成方法
JP2001154998A (ja) 並列化解析指示方法と並列化汎用連成解析装置
JP4946323B2 (ja) 並列化プログラム生成方法、並列化プログラム生成装置、及び並列化プログラム生成プログラム
US20170206068A1 (en) Program optimization based on directives for intermediate code
Grunwald et al. Efficient computation of precedence information in parallel programs
JP3675623B2 (ja) プログラム開発支援装置及び方法並びにプログラム開発支援用ソフトウェアを記録した記録媒体
JPS63237165A (ja) 工程計画支援装置
CN1316359C (zh) 用户指导的程序半自动并行化方法
Sérot et al. Fast prototyping of parallel-vision applications using functional skeletons
Zima et al. Automatic Restructuring for Parallel and Vector Computers
CN115268877B (zh) 一种用于图计算并行执行的中间表示方法及装置
JPWO2011090032A1 (ja) 並列処理プログラム生成方法、並列処理プログラム生成プログラム、及び並列処理プログラム生成装置
CN113918211B (zh) 一种工业设备对象数据模型的执行方法、装置及设备
Vishkin A no-busy-wait balanced tree parallel algorithmic paradigm
JP2765861B2 (ja) 並列化コンパイル方法
JP2000231478A (ja) ソフトウェアの自動生成装置および方法、記録媒体
Yatnana et al. An environment for dataflow program development of parallel processing system‐harray
JPH05113885A (ja) 並列処理プログラム開発装置
OSAWA et al. A Performance Debugging System