JPS63632A - 原始プログラムの最適化処理方式 - Google Patents
原始プログラムの最適化処理方式Info
- Publication number
- JPS63632A JPS63632A JP14360286A JP14360286A JPS63632A JP S63632 A JPS63632 A JP S63632A JP 14360286 A JP14360286 A JP 14360286A JP 14360286 A JP14360286 A JP 14360286A JP S63632 A JPS63632 A JP S63632A
- Authority
- JP
- Japan
- Prior art keywords
- source program
- statement
- information
- program
- analysis information
- 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
Links
- 238000005457 optimization Methods 0.000 title claims abstract description 23
- 238000004458 analytical method Methods 0.000 claims description 32
- 238000003672 processing method Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 239000002023 wood Substances 0.000 description 1
Landscapes
- Complex Calculations (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[4P1 要コ
原始プログラムとその実行解析情報をもとに、最適化の
ための制御行を生成し、最適化制御行の挿入された新原
始プログラムを自動作成する処理方式および特定のプロ
グラム単位のベクトル化情報の収集および表示をコマン
ドの入力で行う処理方式である。
ための制御行を生成し、最適化制御行の挿入された新原
始プログラムを自動作成する処理方式および特定のプロ
グラム単位のベクトル化情報の収集および表示をコマン
ドの入力で行う処理方式である。
[産業上の利用分野]
本発明は、原始プログラムの作成処理方式に係わり、特
にプログラムの実行解析情報による最適化処理に関する
ものである。
にプログラムの実行解析情報による最適化処理に関する
ものである。
ベクトルプロセッサを用いてデータ処理を実行させる場
合、作成された原始プログラムを、最もベクトルプロセ
ッサを有効に使用し、処理時間を短縮するよう最適化す
ることが要求される。
合、作成された原始プログラムを、最もベクトルプロセ
ッサを有効に使用し、処理時間を短縮するよう最適化す
ることが要求される。
[従来の技術]
実際に実用データを入れてプログラムを走行させた場合
に、DO文により繰り返し実行される繰返し数がどれ程
になるか、またIF文により真となる一1率はどれ程に
なるか等を解析し推定したのが実行解析情報である。
に、DO文により繰り返し実行される繰返し数がどれ程
になるか、またIF文により真となる一1率はどれ程に
なるか等を解析し推定したのが実行解析情報である。
現在、原始プログラムをコンパイルする段階で、この実
行解析情報を用いて、ベクトルプロセッサを最も効率的
に動作させるよう最適化することが可能となっている。
行解析情報を用いて、ベクトルプロセッサを最も効率的
に動作させるよう最適化することが可能となっている。
そのため、原始プログラムの所定個所に実行解析情報を
含んだ制御情報を挿入し、これに基づいてコンパイルす
ることが行われている。
含んだ制御情報を挿入し、これに基づいてコンパイルす
ることが行われている。
そのための制御行は、現在はバッチ処理によって自動生
成および自動挿入する手段はなかった。
成および自動挿入する手段はなかった。
そのため、この制御行を挿入するには人手によらなけれ
ばならないという問題点があった。
ばならないという問題点があった。
また、原始プログラムをベクトルプロセッサにより処理
に適するよう変換するベクトル化のための情報を、特定
のプログラム単位(サブルーチン)ごとにコマンド等の
面車な指定により得ることはできなかった。
に適するよう変換するベクトル化のための情報を、特定
のプログラム単位(サブルーチン)ごとにコマンド等の
面車な指定により得ることはできなかった。
[発明が解決しようとする問題点]
本発明は、これら従来の問題点を解消した新規な原始プ
ログラムの最適化処理方式を提供しようとするものであ
る。
ログラムの最適化処理方式を提供しようとするものであ
る。
[問題点を解決するための手段]
第1図は本発明の原始プログラムの最適化処理方式の原
理ブロック図を示す。
理ブロック図を示す。
第1図において、■は原始プログラムからDO文を抽出
し、DO文の繰返し回数を実行解析情報から取り出す繰
返し回数取出手段である。
し、DO文の繰返し回数を実行解析情報から取り出す繰
返し回数取出手段である。
2はDO文の繰返し回数を設定した最適化制御行を生成
し、新原始プログラムデータセットに挿入する制御杆生
成手段1である。
し、新原始プログラムデータセットに挿入する制御杆生
成手段1である。
3は原始プログラムからrF文を抽出し、IF文の真率
を実行解析情報から取り出す貴重取出手段であり、4は
IF文の真率を設定した最適化制御行を生成し、新原始
プログラムデータセットに挿入する制御杆生成手段2で
ある。
を実行解析情報から取り出す貴重取出手段であり、4は
IF文の真率を設定した最適化制御行を生成し、新原始
プログラムデータセットに挿入する制御杆生成手段2で
ある。
原始プログラムおよびその実行解析情報を入力し、上記
手段1,2,3.4を次々に実行させることにより、最
適制御行を所定個所に挿入した新原始プログラムが生成
される。
手段1,2,3.4を次々に実行させることにより、最
適制御行を所定個所に挿入した新原始プログラムが生成
される。
5は、原始プログラムの実行解析情報からプログラム単
位名をメンバとする区分編成データセットを作成し表示
する区分編成データセット作成手段である。
位名をメンバとする区分編成データセットを作成し表示
する区分編成データセット作成手段である。
6は、指定されたプログラム単位名の解析情報より不要
部分を削除したデータセットを作成しベクトルコンパイ
ラに出力するベクトル化指定情報作成手段である。
部分を削除したデータセットを作成しベクトルコンパイ
ラに出力するベクトル化指定情報作成手段である。
7は、ベクトル化指定情報作成手段6からのデータによ
りベクトルコンパイラから出力されたベクトル化情報を
編集し表示する解析情報表示手段である。
りベクトルコンパイラから出力されたベクトル化情報を
編集し表示する解析情報表示手段である。
上記手段5.6.7によって、原始プログラムの実行解
析情報から、ルーチン単位ごとにベクトル化の情報を得
たいものを指定し、その解析情報を表示させることがで
きる。
析情報から、ルーチン単位ごとにベクトル化の情報を得
たいものを指定し、その解析情報を表示させることがで
きる。
[作用]
上記の構成により、原始プログラムと実行解析データか
ら、最適化制御行を所定個所に挿入した新しい原始プロ
グラムを自動的に生成することができ、また所望のルー
チンを指定してベクトル化情報を表示させることが可能
となる。
ら、最適化制御行を所定個所に挿入した新しい原始プロ
グラムを自動的に生成することができ、また所望のルー
チンを指定してベクトル化情報を表示させることが可能
となる。
[実施例]
以下第2図〜第4図に示す実施例により、本発明をさら
に具体的に説明する。
に具体的に説明する。
第2図は本発明の実施例による最適化制御行挿入の処理
例を示すブロック図である。
例を示すブロック図である。
第2図において、Aは入力された原始プログラムを示し
、Bは原始プログラムの実行解析情報を示し、Cは本発
明による処理を示し、Dは新しく生成された原始プログ
ラムを示している。
、Bは原始プログラムの実行解析情報を示し、Cは本発
明による処理を示し、Dは新しく生成された原始プログ
ラムを示している。
入力された原始プログラム例は次のような意味を持つ。
REAL * 87FI (500) 、 IF2 (
500) 、 、 、は、実数型8バイトの数値の、最
大500個のテーブルTFIおよびIF2の配列宣言で
ある。 IF3. IF4についても同様である。
500) 、 、 、は、実数型8バイトの数値の、最
大500個のテーブルTFIおよびIF2の配列宣言で
ある。 IF3. IF4についても同様である。
DO101=1.N
10 A(1)・I
は、文番号10、即ちA(1) = IをIの1からN
まで実行せよということであり、A(1)に1からNま
での値を入れよということである。
まで実行せよということであり、A(1)に1からNま
での値を入れよということである。
DO20J、1.M
IP(J、GT、Ir) TIIENTFI(J)=
DSIN (IF2(J))*、。
DSIN (IF2(J))*、。
NDIF
20 C0NTINUE
は、Jの1からMまで、JがIfより大きければ、TF
I(J) = 05IN (IF2(J)) *、、を
繰返し実行せよということである。DSIN は倍精
度のSINである。
I(J) = 05IN (IF2(J)) *、、を
繰返し実行せよということである。DSIN は倍精
度のSINである。
DO80J=1.M
IP(TFI(J)、GT、O,0EO) THI!N
TF3(J) = 05IN(IF2(J))+、。
TF3(J) = 05IN(IF2(J))+、。
80 C0NTINtlE
は、Jの1からMまで、もしTFI(J)が0.0 (
単精度)より大きければ、 IF3(J) = DSIN(IF2(J))+、、を
繰返し実行せよということである。
単精度)より大きければ、 IF3(J) = DSIN(IF2(J))+、、を
繰返し実行せよということである。
実行解析処理システムに対して、原始プログラムと実用
データを与えて 実行解析させた結果の例がBである。
データを与えて 実行解析させた結果の例がBである。
この実行解析情報には、EXECの欄に原始プログラム
のSTATEMENTに対応する繰返し実行回数が記載
され、TRtlHの欄に原始プログラムのSTATEM
ENTに対応する真率が記載されている。
のSTATEMENTに対応する繰返し実行回数が記載
され、TRtlHの欄に原始プログラムのSTATEM
ENTに対応する真率が記載されている。
Cは、上記の2つのデータセットを使用して最適化制御
杆の生成、および挿入処理を行う処理を示す。
杆の生成、および挿入処理を行う処理を示す。
第3図は、本発明の実施例による最適化制御行挿入処理
を示す流れ図である。
を示す流れ図である。
入力された原始プログラムを新原始プログラム用データ
セ−/ トに複写しながら、その原始プログラムの実行
文の種類により、以下の処理を行う。
セ−/ トに複写しながら、その原始プログラムの実行
文の種類により、以下の処理を行う。
■原始プログラムより取り出したレコードがり。
文で、且つ繰返し回数が不明の00文であるかを判断し
、そうであれば■へ進む。
、そうであれば■へ進む。
000文の実行回数と00文の直後に存在する実行文の
実行回数をプログラム実行解析データセットより取り出
し、実行回数を00文の実行回数で割算を行い、その商
の値を繰返し回数(ループ回数)として求める。
実行回数をプログラム実行解析データセットより取り出
し、実行回数を00文の実行回数で割算を行い、その商
の値を繰返し回数(ループ回数)として求める。
■DO文の繰返し回数を設定した最適化制御杆を生成し
、新原始プログラムデータセットに挿入する。
、新原始プログラムデータセットに挿入する。
■原始プログラムより取り出したレコードがIF文かを
判断し、そうであれば、■へ進む。
判断し、そうであれば、■へ進む。
■プログラム実行解析データセットに存在するIF文の
真率を取り出す(小数点以下の値は切り捨てる。
真率を取り出す(小数点以下の値は切り捨てる。
■IF文の真率を設定した最適化制御杆を生成し、新原
始プログラムデーク セットに挿入する。
始プログラムデーク セットに挿入する。
第2図のDは、このようにして新しく生成さた原始プロ
グラムを示す。
グラムを示す。
自動的に生成、挿入さた最適化制御杆は、例えば、繰返
し回数に関するものは、 VOCL LOOP REPEAT(150)真率に関
するものでは、 VOCL ST?lT、IF(50) と記述され、それぞれ実行文の次に挿入される。
し回数に関するものは、 VOCL LOOP REPEAT(150)真率に関
するものでは、 VOCL ST?lT、IF(50) と記述され、それぞれ実行文の次に挿入される。
VOCLは、Vectorize Optimize
Control Lineの略で定めたが、コンパイ
ラが解釈できれば如何なる形でもよい。
Control Lineの略で定めたが、コンパイ
ラが解釈できれば如何なる形でもよい。
第4図は、本発明の実施例によるベクトル化情報の収集
および表示処理を示す流れ図である。
および表示処理を示す流れ図である。
第4図において、Bは第2図において示したものと同一
な実行解析情報である。
な実行解析情報である。
Eは、原始プログラムの実行解析情報からプログラム単
位名をメンバとする区分編成データセットを作成し表示
する手段(手段5)である。
位名をメンバとする区分編成データセットを作成し表示
する手段(手段5)である。
Fは、原始プログラムデータセット(順編成)とこれか
ら編集された区分編成データセットを示す。
ら編集された区分編成データセットを示す。
Gは、ベクトル化指定のための解析情報表示画面である
。
。
Gの中で、V−CO3Tはベクトルプロセッサにより処
理したときの相対的処理時間を示し、5−C03Tはス
カラプロセッサにより処理したときの相対的処理時間を
示し、V−RATEはベクトル化率をそれぞれ各ルーチ
ンごとに示す。V−CO5TおよびV−RATEは未だ
ベクトル化を指定してないから“0”である。
理したときの相対的処理時間を示し、5−C03Tはス
カラプロセッサにより処理したときの相対的処理時間を
示し、V−RATEはベクトル化率をそれぞれ各ルーチ
ンごとに示す。V−CO5TおよびV−RATEは未だ
ベクトル化を指定してないから“0”である。
■4は、ベクトル化の情報を得たいルーチンをコマンド
VCIIECK により指定した画面を示す。
VCIIECK により指定した画面を示す。
Iは、指定されたプログラム単位名の解析情報より不要
部分を削除したデータセットを作成し、順編成に戻して
、ベクトル(VP)コンパイラに出力する 手段(手段
6)である。
部分を削除したデータセットを作成し、順編成に戻して
、ベクトル(VP)コンパイラに出力する 手段(手段
6)である。
Jは、手段6により作成されたデータセットを示す。
Kは、手段6により作成したデータにより■Pコンパイ
ラから出力されたベクトル化情報を編集し表示する手段
(手段7)を示す。
ラから出力されたベクトル化情報を編集し表示する手段
(手段7)を示す。
Lは、手段7により編集されたベクトル化情報収集後の
解析情報表示画面である。
解析情報表示画面である。
Lに示すように、ルーチン名5UBOOIおよび5UB
OO3にベクトルプロセッサにより処理したときの相対
的処理時間V−COSTおよびベクトル化率V−,RA
TEに、vPコンパイラによる解析データが表示される
。
OO3にベクトルプロセッサにより処理したときの相対
的処理時間V−COSTおよびベクトル化率V−,RA
TEに、vPコンパイラによる解析データが表示される
。
[発明の効果]
以上説明のように本発明によれば、ベクトルプロセッサ
による処理のための最適化を自動的に行うことができ、
処理効率の向上に寄与する効果は大である。
による処理のための最適化を自動的に行うことができ、
処理効率の向上に寄与する効果は大である。
第1図は本発明の原理ブロック図、
第2図は本発明の実施例による最適化制御行挿入の処理
例を示すブロック図、 第3図は本発明の実施例による最適化制御行挿入処理を
示す流れ図、 第4図は本発明の実施例によるベクトル化情報の収集お
よび表示処理を示す流れ図である。 3は貴重取出手段、 4は制御行生成手段2.5は
区分編成データセット作成手段、 6はベクトル化指定情報作成手段、 7は解析情報表示手段、 をそれぞれ示す。 木発叩A〃理ブ°■ツク瞬
例を示すブロック図、 第3図は本発明の実施例による最適化制御行挿入処理を
示す流れ図、 第4図は本発明の実施例によるベクトル化情報の収集お
よび表示処理を示す流れ図である。 3は貴重取出手段、 4は制御行生成手段2.5は
区分編成データセット作成手段、 6はベクトル化指定情報作成手段、 7は解析情報表示手段、 をそれぞれ示す。 木発叩A〃理ブ°■ツク瞬
Claims (2)
- (1)原始プログラムからDO文を抽出し、DO文の繰
返し回数を実行解析情報から取り出す第1の手段(1)
と、 DO文の繰返し回数を設定した最適化制御行を生成し、
原始プログラムに挿入する第2の手段(2)と、 原始プログラムからIF文を抽出し、IF文の真率を実
行解析情報から取り出す第3の手段(3)と、IF文の
真率を設定した制御行を生成し、原始プログラムに挿入
する第4の手段(4)を備え、原始プログラムと実行解
析情報より、最適化制御情報を挿入した原始プログラム
を生成するよう構成したことを特徴とする原始プログラ
ムの最適化処理方式。 - (2)原始プログラムの実行解析情報からプログラム単
位名をメンバとする区分編成データセットを作成し表示
する第5の手段(5)と、 指定されたプログラム単位名の解析情報より不要部分を
削除したデータセットを作成しベクトルコンパイラに出
力する第6の手段(6)と、前記ベクトルコンパイラの
ベクトル化情報を編集し表示する第7の手段(7)を備
え、指定されたプログラム単位のみのベクトル化情報の
収集および表示を行うよう構成したことを特徴とする原
始プログラムの最適化処理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14360286A JPS63632A (ja) | 1986-06-19 | 1986-06-19 | 原始プログラムの最適化処理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14360286A JPS63632A (ja) | 1986-06-19 | 1986-06-19 | 原始プログラムの最適化処理方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63632A true JPS63632A (ja) | 1988-01-05 |
JPH0439703B2 JPH0439703B2 (ja) | 1992-06-30 |
Family
ID=15342538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14360286A Granted JPS63632A (ja) | 1986-06-19 | 1986-06-19 | 原始プログラムの最適化処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63632A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2014064798A1 (ja) * | 2012-10-25 | 2016-09-05 | 富士通株式会社 | 実行制御方法及び情報処理装置 |
US9760352B2 (en) | 2014-08-13 | 2017-09-12 | Fujitsu Limited | Program optimization method, program optimization program, and program optimization apparatus |
-
1986
- 1986-06-19 JP JP14360286A patent/JPS63632A/ja active Granted
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2014064798A1 (ja) * | 2012-10-25 | 2016-09-05 | 富士通株式会社 | 実行制御方法及び情報処理装置 |
US9760352B2 (en) | 2014-08-13 | 2017-09-12 | Fujitsu Limited | Program optimization method, program optimization program, and program optimization apparatus |
Also Published As
Publication number | Publication date |
---|---|
JPH0439703B2 (ja) | 1992-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0428560A4 (en) | Machine process for translating programs in binary machine language into another binary machine language | |
CN108228187B (zh) | 一种数值程序的全局优化方法 | |
Juillerat et al. | Toward an implementation of the" form template method" refactoring | |
JPS63632A (ja) | 原始プログラムの最適化処理方式 | |
JP3318051B2 (ja) | 翻訳処理方法 | |
JP2008059515A (ja) | プログラム実行過程の表示方法及びシステム並びにプログラム | |
JP7407192B2 (ja) | フィールド・プログラマブル・ゲート・アレイのためのコードを最適化する方法および装置 | |
JP3887097B2 (ja) | コンパイル方法,コンパイル装置および、コンパイル用プログラムを記憶したコンピュータ読み取り可能な記憶媒体 | |
JPH0887417A (ja) | コンパイラ装置 | |
JPS62217325A (ja) | アセンブラコ−ド最適化方式 | |
JPH02176938A (ja) | 機械語命令最適化方式 | |
JPH04274519A (ja) | プログラム高速化自動実行方式 | |
JP2001282523A (ja) | プログラム移植支援装置および記録媒体 | |
JPH06161773A (ja) | 並列処理プログラムの作成装置 | |
Blankenship et al. | The History and Utility of the F# Language | |
JP4327533B2 (ja) | 演算処理プログラム、演算処理方法、および演算処理装置 | |
JPH01304559A (ja) | 入出力機能試験方式 | |
JP2019012324A (ja) | コンパイラ | |
JPH06274351A (ja) | コンパイラの最適化方式 | |
JPS62135958A (ja) | シミユレ−シヨン方式 | |
JPH03185531A (ja) | タスク時間の尺度変換表示方法 | |
JPH0816371A (ja) | シミュレーションプログラム生成方式 | |
JPH0659937A (ja) | ロードモジュール単体テスト支援装置 | |
JPH09265402A (ja) | プログラム変換支援方法および装置 | |
JPH03127133A (ja) | 計算機シミュレーション方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |