JPH05143357A - プログラム自動並列化方法 - Google Patents

プログラム自動並列化方法

Info

Publication number
JPH05143357A
JPH05143357A JP3309370A JP30937091A JPH05143357A JP H05143357 A JPH05143357 A JP H05143357A JP 3309370 A JP3309370 A JP 3309370A JP 30937091 A JP30937091 A JP 30937091A JP H05143357 A JPH05143357 A JP H05143357A
Authority
JP
Japan
Prior art keywords
program
function
pass
statement
variable
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
JP3309370A
Other languages
English (en)
Other versions
JP3167386B2 (ja
Inventor
Masaki Kawaguchi
正樹 川口
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP30937091A priority Critical patent/JP3167386B2/ja
Publication of JPH05143357A publication Critical patent/JPH05143357A/ja
Application granted granted Critical
Publication of JP3167386B2 publication Critical patent/JP3167386B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【目的】従来自動変プログラムで解析を行うことが不可
能であった関数呼び出し文の解析、並列化を可能にする
ことにより、並列コンピュータや並列OSといった環境
下におけるプログラム実行の更なる効率化を行う。 【構成】逐次的に記述されたプログラムから並列実行可
能な部分を抽出する手法として2段階のパスを経由する
ことを特徴とする手段であり、第1のパスにおいて関数
内部で参照、代入が行なわれた大域変数を検出し、関数
内で使用された大域変数の情報を作成する。第2のパス
においてはソースプログラムの並列化の解析と並列化を
行うがその際、関数呼び出しの検出時において、第1の
パスにおいて作成された大域変数情報を参照しながら、
並列化したプログラムを出力する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、逐次的に記述されたソ
ースプログラムから、並列処理のためのプログラムを自
動的に生成するプログラムの自動並列化方法に関する。
【0002】
【従来の技術】従来コンピュータのプログラム作成に使
用されてきたプログラム言語は、命令の実行を逐次的に
行うノイマン型コンピュータ上で実行することを想定し
て造り上げられている。このため従来のプログラム言語
の仕様には、プログラムの指定した部分を並列に実行さ
せる等の並列実行の命令が存在しないことが多い。
【0003】従って複数の命令を並行して実行可能な並
列コンピュータや並列OSの環境下では、従来のプログ
ラム言語を用いて作成されたプログラムをそのまま動作
させても、逐次的に実行される命令部分が多く、並列コ
ンピュータや並列OSの環境下でプログラムの動作効率
を上昇させることが困難な事態が発生していた。
【0004】このため並列コンピュータや並列OSの環
境下での動作効率を上げることを目的に、並列実行命令
を備えた専用の並列化プログラム言語を開発し、この言
語を用いてプログラムを作成し直すといったことが行な
われている。
【0005】しかし、並列化命令を備えた専用の言語を
用いてプログラムの開発を行う際には、新たなプログラ
ム言語の学習が必要となるなどのプログラマの負担の他
に、それまでに開発したソフトウエア資産の蓄積が活か
せないという問題が存在する。
【0006】これらの問題を解決するため、従来の言語
で書かれたソースプログラムから並列実行可能な部分を
抽出し、抽出した部分を並列に実行する命令に変換して
出力するといった処理を行う自動変換プログラムが使用
されている。
【0007】このような自動変換プログラムには、並列
化プログラム言語のソースプログラムを出力する形態の
プログラムや、直接並列化したオブジェクトプログラム
を出力する自動並列化コンパイラのような形態のプログ
ラムが存在する。
【0008】
【発明が解決しようとする課題】上述のような従来の自
動変換プログラムによる並列化では、計算式同志の比較
的小さなプログラム単位間の並列化を行っていた。しか
し、関数呼び出しや構文といったより大きなプログラム
単位の解析や並列化を、構造化プログラム言語で書かれ
たプログラムに対して行うことは従来極めて困難であっ
た。
【0009】現在広く一般に普及しているC言語の様な
構造化プログラム言語では、複数の関数から共通に参照
及び代入が可能な大域変数を言語仕様の中に含む。この
ようなプログラム言語を用いて作成したプログラムを並
列化する場合、従来の自動変換プログラムでは、プログ
ラム中に関数呼び出しが存在すると、並列化の解析を行
うことができないという問題が発生していた。
【0010】以下に、図10に示すC言語で書かれたサ
ンプルプログラムを用いて、この問題の詳細を記述す
る。
【0011】図10の1行目では大域変数の宣言を行っ
ている。ここで宣言された変数は、複数の関数内から参
照及び代入を行うことが可能な大域変数となる。2行目
では関数f1の宣言を行っており、4行目と6行目では
変数同士の計算、5行目では関数f2の呼び出しを行っ
ている。
【0012】図10のサンプルプログラムでは、4行目
と6行目のみを考慮した場合、両者とも互いに独立に実
行可能な計算であるため、それぞれの計算を並列に実行
しても従来のノイマン型計算機で逐次的に実行した場合
と同値の計算結果を得る事ができる。しかし5行目に関
数f2の呼び出しが存在していた場合、4行目と5行
目、又は5行目と6行目が並列実行可能かどうかの判断
は図10のサンプルプログラムに書かれた情報だけで判
定することはできなくなる。
【0013】これは、もし関数f2の中で大域変数cの
参照が行われるような場合、4行目と5行目を並列に実
行してしまうと、4行目の計算が終了して大域変数cの
値が確定する以前に関数f2の中で大域変数cの参照が
発生する可能性があり、従来のノイマン型計算機でプロ
グラムを逐次的に実行した場合と計算結果が異なってし
まう恐れがあるためである。
【0014】また、関数f2の中で大域変数xまたはy
への代入が行なわれるような場合、5行目と6行目を並
列に実行してしまうと、関数f2内で大域変数xまたは
yの値の計算が終了する前に6行目の大域変数xまたは
yの参照が行なわれる可能性があり、このような事態が
発生した場合には従来のノイマン型計算機でプログラム
を逐次的に実行した場合と計算結果が異なってくる恐れ
がある。
【0015】従来の自動変換プログラムでは、並列化の
解析を行う際に関数f2内の処理内容を解析することは
行っていなかった。従って、関数f2内の大域変数の使
用状況が不明となるため、関数f2の呼び出しを他の処
理と並列に実行可能かどうかを判定することが不可能で
あった。このため、従来のノイマン型計算機でプログラ
ムを逐次的に実行した場合と同値の計算結果を保証する
ためには、図10のサンプルプログラムの4行目、5行
目、6行目の並列化の解析は断念せざるを得なかった。
また呼び出された関数内における大域変数の使用状況が
不明であるという同様の理由で、関数呼び出しが複数存
在していた場合においても、関数相互の並列化の解析を
行うことが不可能であった。
【0016】以上の理由から、従来の自動変換プログラ
ムを通して得られていた並列度には限界があり、自動変
換プログラムから出力されたプログラムを並列コンピュ
ータや並列OS上で実行させても、実行効率を上げるこ
とが困難であるという問題が存在していた。
【0017】
【課題を解決するための手段】本発明による第1のプロ
グラム並列化方法は、逐次的に記述されたソースプログ
ラムから、関数の実行を並列に行うプログラムを自動的
に生成するプログラム自動並列化方法において、前記自
動並列化方法は、ソースプログラムに含まれる全ての関
数内で使用される大域変数を検出する第1のパスと、前
記第1のパスにおける検出の結果を基に関数間の並列性
を判定する第2のパスとを含むことを特徴とするもので
ある。
【0018】本発明による第2のプログラム並列方法
は、前記第1のプログラム並列化方法の第1のパスにお
いて、ソースプログラム中で関数本体の記述を検出した
際に、該関数本体の内部で参照または代入が行われた大
域変数、及び該関数内から呼び出された第2の関数の情
報を検出し、これらを前記第1のプログラム並列化方法
の第2のパスにおける並列性の判定に利用する大域変数
の情報として、保持することを特徴とするものである。
【0019】本発明による第3のプログラム並列方法
は、前記第2のプログラム並列化方法の第2のパスにお
いて、ソースプログラムから文単位の切り出しを行い、
該文中における参照及び代入が行われた大域変数を検出
し、前記第1のプログラム並列化方法の第1のパスにお
いて検出した大域変数の情報とを相互に比較することに
より、関数呼び出しを行っている文を含めた各文の並列
化及び実行順序の判定を行うことを特徴とするものであ
る。
【0020】
【作用】本発明によるプログラム並列化方法は、少なく
とも2つのパスによって構成され、第1のパスにおいて
ソースプログラムに含まれる全ての関数内で使用される
大域変数を検出し、第2のパスにおいて第1のパスにお
ける検出の結果を基に関数間の並列性を判定することに
より、並列処理プログラムを生成する。
【0021】前記第1のパスにおいて、本発明によるプ
ログラム並列化方法は、ソースプログラム中で関数本体
の記述を検出した際に、該関数本体の内部で参照または
代入が行われた大域変数、及び該関数内から呼び出され
た第2の関数の情報を検出し、これらを前記第2のパス
における並列性の判定に利用する大域変数の情報として
保持する。
【0022】前記第2のパスにおいては、本発明による
プログラム並列化方法は、ソースプログラムから文単位
の切り出しを行い、該文中における参照及び代入が行わ
れた大域変数を検出し、前記第1のパスにおいて検出し
た大域変数の情報とを相互に比較することにより、関数
呼び出しを行っている文を含めた各文の並列化及び実行
順序の判定を行う。
【0023】本発明の上述の目的、特徴および利点等に
ついては、図面を参照して行う以下の実施例の詳細な説
明から一層明らかとなろう。
【0024】
【実施例】
[実施例の概要]図1は、本発明の主要な処理段階を示
したもので、ソースプログラムの入力、ソースプログラ
ム中の各関数内の大域変数の検査、構文解析、並列化の
解析、並列化プログラム生成、並列化プログラム出力の
段階から成る。パス1は関数内の大域変数検査の段階に
相当し、パス2は構文解析、並列化解析の部分に相当す
る。
【0025】図2は本発明の機能構成図である。(1)
は入力されたソースプログラム、(2)はパス1の処理
部、(3)は大域変数解析部、(4)は変数情報生成
部、(5)は生成された大域変数の情報、(6)はパス
2の処理部、(7)は構文解析部、(8)は並列化解析
部、(9)はプログラム生成部、(10)は並列化して
出力されたプログラムである。
【0026】[パス1 − 関数内の大域変数検査]最
初のパス1処理部(2)は大域変数解析部(3)と大域
変数情報生成部(4)とから成る。
【0027】大域変数解析部(3)はソースプログラム
を解析し、関数中で参照または代入されている大域変数
名を検出する作業を行う部分である。
【0028】大域変数情報生成部は大域変数解析部で検
出した変数名の情報と、参照か代入かの変数の使われ方
に関する情報、呼び出しが行なわれた関数名、に関する
情報を図3に示した表形式で生成する部分である。
【0029】図3はパス1処理部(2)で生成される大
域変数情報表(11)の形式を示した図である。大域変
数情報表(11)はソースプログラム中に記述された関
数単位(12)でまとめられており、関数の名前(1
3)、関数中で参照された変数名の表(14)、関数中
で代入が行なわれた変数の表(15)、関数中から呼び
出された関数の表(16)で構成されている。大域変数
情報表(11)はパス2処理部(6)における並列化解
析部(8)で関数呼び出しを並列化する際の基本情報と
して使用される。
【0030】[パス2 − 構文解析・並列化解析]パ
ス2処理部(6)は、ソースプログラムの構文解析を行
う構文解析部(7)、並列化の解析を行う並列化解析部
(8)で構成されている。
【0031】構文解析部(7)ではソースプログラム中
の数式や関数呼び出しといった文単位で切り出しを行
い、切り出した順番に数字が大きくなるように各文に対
して文番号を付与する。また文中で参照されている変数
名の抽出も行う。
【0032】並列化解析部(8)では構文解析部(7)
で得られた文、参照変数の情報を基に並列化の解析を行
う。
【0033】図4は、並列化解析部(8)で生成される
代入変数の情報である。文中で変数への代入が発生して
いた場合、並列化解析部(8)は図4の代入変数表に変
数情報を登録する。代入変数表に登録する情報は、変数
名、大域変数か局所変数かの属性、その変数への代入が
発生した文番号である。
【0034】また並列化解析部(8)では構文解析部
(7)で切り出した文単位の並列化及び各文の実行順序
の決定作業を行う。この決定作業の手順は通常の数式の
文を並列化する場合と関数呼び出しの文を解析する場合
とで異なるが、以下に、図5並びに図6を用いてそれぞ
れの手順の説明を行う。
【0035】[並列化解析 − 数式文の並列化の場
合]まず、通常の数式の文を解析し並列化する際の詳細
な手順を図5に従って述べる。
【0036】最初に、ソースプログラムから、数式など
の文単位の切り出しを行い(150)、文中から抽出し
た参照変数名と属性の情報で図4の代入変数表を検索す
る(151)。さらに、参照した変数と同一の変数への
代入が、それ以前の文中で存在していたかどうかを調べ
る(152)。
【0037】一致する変数が存在しない場合は、現在解
析中の文の参照変数は既に解析を終了した以前の文中に
おいて未使用であったか、参照のみしか行なわれなかっ
たことを示す。この場合、以前の文と現在解析中の文と
は独立に実行可能であり、以前の文と並列に実行したと
しても、各文を逐次的に実行した場合と同値の計算結果
を得る事ができるため、現在解析中の文を以前の文と並
列に実行するよう実行順序を決定する(153)。
【0038】もし図4の代入変数表で一致する変数を発
見した場合は、以前の文中で変数の代入が発生していた
ことを示す。この場合には、以前の文と現在解析中の文
とを並列に実行してしまうと、逐次的に各文を実行した
場合と値が異なる恐れがあるため、図4の変数表から文
番号を引き出し(154)、その文番号に相当する文の
実行終了より後に現在解析中の文を実行するよう実行順
序の決定を行う(155)。また、現在解析中の文中で
異なる複数の参照変数が検索で一致した場合は、それぞ
れ代入変数表から得た全ての文の実行終了より後に現在
解析中の文を実行するように実行順序を決定する。
【0039】文の実行順序の決定後、現在解析中の文中
で代入が行なわれた変数は図4の代入変数表に変数名、
属性、現在解析中の文番号を登録する(156)。すで
に同一の変数が登録されていた場合は、文番号のみ情報
を更新する。
【0040】以上に述べた処理が終了すると、ソースプ
ログラムから次に続く文を切り出し、同様の処理を関数
の終了まで繰り返す。
【0041】次に、図7に示したサンプルプログラムを
用いてプログラム中の各文の実行順序を決定する例につ
いて述べる。
【0042】図8は、並列化解析部(8)によって生成
される代入変数の情報を示す図である。ここで、文と
文については文中で参照する変数への代入がそれ以前
の文中で行われておらず、並列実行可能である。文に
ついては、文中の変数cとfがそれぞれ文と文にお
いて代入の対象となっており、文の実行終了より後に
文の実行を行わなければならない。
【0043】図9に、本発明の並列化解析手段によりこ
のサンプルプログラムの解析を行い各文の実行順序を決
定した結果を示す。図9は、文の実行順序をフローグラ
フで表現した図であり、文と文の計算は互いに並列
に実行され、文は文と文の実行終了後、実行が行
なわれるよう実行順序が決定されたことを示している。
【0044】[並列化解析 − 関数呼び出しを行う文
の並列化の場合]次に、関数呼び出しを行う文の並列化
と実行順序決定の手順を図6に従って述べる。
【0045】最初に、ソースプログラムから、数式や関
数呼び出しといった文単位の切り出しを行い(16
0)、切り出した文が関数呼び出しであるかどうかを判
断する(161)。切り出した文が関数呼び出しであっ
た場合、呼び出された関数内で参照されている変数の情
報を大域変数情報表(5)から取り出し、図4の代入変
数表の検索を行う(162)。さらに、参照した変数と
同一の変数への代入が、それ以前の文中で存在していた
かどうかを調べる(163)。
【0046】もし一致する変数が代入変数表に存在しな
かった場合には、以前の文と現在解析中の関数呼び出し
の文とは独立に実行可能であるため、以前の文と現在解
析中の関数呼び出しの文とが並列に実行されるよう実行
順序の決定を行う(164)。
【0047】もし一致する変数が存在していた場合は、
図4の代入変数表から文番号を引き出し、その文番号に
相当する文の実行終了より後に現在解析中の関数呼び出
しの文が実行されるよう実行順序の決定を行う(16
5)。異なる複数の変数が検索で一致した場合は、図4
の代入変数表から引き出した全ての文番号に相当する文
の実行終了より後に現在解析中の関数呼び出しの文が実
行されるよう実行順序を決定する。
【0048】また、呼び出された関数内からさらに関数
が呼び出されていた場合、大域変数情報表(5)からも
う一度呼び出された関数の情報を引き出し、その関数内
で参照された変数の検索を繰り返す。関数の呼び出しが
再帰的に行われていた場合は、これ以上変数の検索の必
要がないので、同一の呼び出し関数名が呼び出された時
点でこの繰り返し処理を終了する。
【0049】実行順序の決定後、大域変数情報表(5)
に登録された、呼び出し関数内の代入変数の情報を、図
4の代入変数表に登録する(166)。その際、文番号
は関数呼び出しを行った文の文番号を登録する。呼び出
された関数内からさらに関数が呼び出されている場合
は、新しく呼び出された関数内で代入された変数の情報
も図4の代入変数表に登録する。
【0050】以上に述べた処理が終了すると、ソースプ
ログラムから次に続く文を切り出し、同様の処理を関数
の終了まで繰り返す。
【0051】次に、図10に示したサンプルプログラム
を用いて、プログラム中の関数呼び出しを行う文の並列
化と各文の実行順序の決定を行う例について述べる。こ
こで、図11は図10の関数内から呼ばれた関数f2の
プログラムである。
【0052】図12は、並列化解析部(8)によって生
成される代入変数の情報を示す図である。ここで、図1
0の文については文中で参照する変数への代入がそれ
以前の文中で行われておらず、並列実行可能である。文
は、関数呼び出しであるが、ここで呼び出されている
関数f2()において参照される変数への代入は文以
前の文中では行われておらず、文は文と並列実行可
能である。文については、文中の変数xとyが文で
呼び出されている関数f2()内において代入の対象と
なっており、文の実行終了より後に文の実行を行わな
ければならない。
【0053】図13に、本発明の並列化解析手段により
このサンプルプログラムの解析を行い、関数呼び出しを
行う文の並列化と各文の実行順序の決定を行った結果を
示す。図13は、図10並びに図11のサンプルプログ
ラムの並列化解析を行った結果に基づいて決定された各
文の実行順序をフローグラフの形で示した図であり、文
と文の計算は互いに並列に実行され、文は文の
実行終了後に実行が行なわれるよう実行順序が決定され
たことを示している。
【0054】[並列化プログラムの生成]以上に述べた
ような手順に基づいて各文の実行の並列化及び実行順序
の決定を行った後、プログラム生成部(9)で並列化し
たプログラムを生成する。
【0055】並列化解析部(8)で決定された実行順序
は、各文の実行のフローグラフという形で指定されてい
る。プログラム生成部(9)では、各文の実行順序を指
定したフローグラフに基づいて、並列化命令や各文の実
行順序を指定する命令を付加した並列化言語のソースプ
ログラムを出力するか、あるいは並列コンピュータや並
列OSの環境で動作する実行プログラムを直接出力す
る。
【0056】[自動変換プログラムの実現形態]図14
に本発明を用いた自動変換プログラムの実現形態の一方
法を示す。図14は、全ソースプログラムをコンパイラ
に入力し、並列化の解析(パス1)及び各文の実行順序
の決定(パス2)を行い、決定結果を並列化言語のソー
スプログラムまたは並列化した実行プログラムの形式で
出力する実現形態を示した図である。
【0057】図15に、本発明を用いた自動変換プログ
ラムの別の実現形態を示す。この実現形態ではソースプ
ログラムをコンパイラに入力し、大域変数の使用状況の
解析を行った結果と、実行順序を決定していないオブジ
ェクトプログラムの情報が中間プログラムとして個別に
出力される(パス1)。さらに全中間プログラムをリン
カに読み込み、実行順序が決定される(パス2)。この
例ではコンパイラは並列化の解析のための情報を出力
し、この情報を元にリンカで各文の実行順序の決定を行
っている。
【0058】前述の2種類の実現形態の相違は、図14
ではコンパイラがリンカの機能を含むとともに、並列化
したソースプログラムを直接出力できる形態であるのに
対し、図15では自動変換の処理を2つのプログラムに
分離して、ソースプログラムの分割コンパイルを可能に
している点にある。
【0059】
【発明の効果】本発明によれば、プログラムの並列化を
前述の2パス方法で行うことにより、ソースプログラム
中の関数呼び出しを検出した際に、第1のパスにおいて
生成された各関数内で使用される大域変数の情報を参照
することにより、大域変数への参照や代入の順序関係か
ら関数呼び出しの並列実行の可否を判定することが可能
になる。このため、従来方法の自動変換プログラムで並
列化することができなかった関数呼び出しの前後のプロ
グラム部分及び呼び出された関数同志の並列化の解析を
行うことが可能となり、並列コンピュータや並列OSと
いった環境化において、より並列度の高い並列化プログ
ラムを出力し、実行効率を上げることが可能となる。
【図面の簡単な説明】
【図1】並列化の解析から並列化したプログラムを出力
するまでの主要な処理段階を示した図である。
【図2】本発明の実施例の機能構成を表した図である。
【図3】大域変数表の内容を表した図である。
【図4】代入変数表の内容を表した図である。
【図5】計算式の文を並列化する際の解析及び並列化の
手順を表した図である。
【図6】計算式の中に関数呼び出しが存在する際の解析
及び並列化の手順を表した図である。
【図7】計算式の文で構成されたサンプルプログラムを
表した図である。
【図8】代入変数表の内容を表した図である。
【図9】図7のサンプルプログラムの解析により得られ
た各文の実行順序をフローグラフの形式で表現した図で
ある。
【図10】計算式の文と関数呼び出しの文が混在したサ
ンプルプログラムを表した図である。
【図11】図10のプログラムから呼ばれた関数のプロ
グラムを表した図である。
【図12】代入変数表の内容を表した図である。
【図13】図10並びに図11のサンプルプログラムの
解析により得られた各文の実行順序をフローグラフの形
式で表現した図である。
【図14】自動変換プログラムの実現形態を示した図で
ある。
【図15】自動変換プログラムの実現形態を示した図で
ある。
【符号の説明】
1 ソースプログラム 2 パス1処理部 3 大域変数解析部 4 大域変数情報生成部 5 大域変数情報表 6 パス2処理部 7 構文解析部 8 並列化解析部 9 プログラム生成部 10 並列化プログラム

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】逐次的に記述されたソースプログラムか
    ら、関数の実行を並列に行うプログラムを自動的に生成
    するプログラム自動並列化方法において、 前記自動並列化方法は、ソースプログラムに含まれる全
    ての関数内で使用される大域変数を検出する第1のパス
    と、前記第1のパスにおける検出の結果を基に関数間の
    並列性を判定する第2のパスとを含むことを特徴とする
    プログラム自動並列化方法。
  2. 【請求項2】前記第1のパスにおいて、ソースプログラ
    ム中で関数本体の記述を検出した際に、該関数本体の内
    部で参照または代入が行われた大域変数、及び該関数内
    から呼び出された第2の関数の情報を検出し、これらを
    前記第2のパスにおける並列性の判定に利用する大域変
    数の情報として、保持することを特徴とする請求項1記
    載のプログラム自動並列化方法。
  3. 【請求項3】前記第2のパスにおいて、ソースプログラ
    ムから文単位の切り出しを行い、該文中における参照及
    び代入が行われた大域変数を検出し、前記第1のパスに
    おいて検出した大域変数の情報とを相互に比較すること
    により、関数呼び出しを行っている文を含めた各文の並
    列化及び実行順序の判定を行うことを特徴とする請求項
    1記載のプログラム自動並列化方法。
JP30937091A 1991-11-25 1991-11-25 プログラム自動並列化方法 Expired - Fee Related JP3167386B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30937091A JP3167386B2 (ja) 1991-11-25 1991-11-25 プログラム自動並列化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30937091A JP3167386B2 (ja) 1991-11-25 1991-11-25 プログラム自動並列化方法

Publications (2)

Publication Number Publication Date
JPH05143357A true JPH05143357A (ja) 1993-06-11
JP3167386B2 JP3167386B2 (ja) 2001-05-21

Family

ID=17992189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30937091A Expired - Fee Related JP3167386B2 (ja) 1991-11-25 1991-11-25 プログラム自動並列化方法

Country Status (1)

Country Link
JP (1) JP3167386B2 (ja)

Also Published As

Publication number Publication date
JP3167386B2 (ja) 2001-05-21

Similar Documents

Publication Publication Date Title
US7996819B2 (en) Generating functional test scripts
EP0643851B1 (en) Debugger program which includes correlation of computer program source code with optimized objet code
US6434742B1 (en) Symbol for automatically renaming symbols in files during the compiling of the files
US7934205B2 (en) Restructuring computer programs
JP2018501538A (ja) 影響分析
JPH05257709A (ja) 並列化判別方法およびそれを用いた並列化支援方法
JPH08202545A (ja) ターゲット言語コードを生成するためのオブジェクト指向システム及びその方法
CN109522005A (zh) 跨平台图形化程序设计方法
US20150020051A1 (en) Method and apparatus for automated conversion of software applications
US20040010780A1 (en) Method and apparatus for approximate generation of source code cross-reference information
CN110580170A (zh) 软件性能风险的识别方法及装置
EP2535813B1 (en) Method and device for generating an alert during an analysis of performance of a computer application
JPH05143357A (ja) プログラム自動並列化方法
Bülow Proof visualization for the lean 4 theorem prover
US20080072187A1 (en) Method, system, and program product for pre-compile processing of HDL source files
JP3584204B2 (ja) 原始プログラム自動変換装置
Sarraga Static data flow analysis of PL/I programs with the PROBE system
JPH01177165A (ja) 配列の定義/引用関係検査方式
Kamiya Code difference visualization by a call tree
JP2002312167A (ja) 変数の値をコンピュータに算出させるためのプログラム、コンパイルプログラム、変数値確定方法およびプログラム生成方法
JP2728504B2 (ja) 入力命令文検査装置
JPH05204705A (ja) 未定義変数検出処理方法
JPH0193826A (ja) 高級言語プログラムのダイナミックステップカウント方式
JP5169322B2 (ja) 変数最適化装置、変数最適化プログラム、コンパイラ、変数最適化方法、及びコンパイル方法
Husein A Type-inferencing Mechanism for Automatically Detecting Variable Types in System Requirements Specifications

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090309

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees