JPH05151248A - Condition vectorizing/paralleling processor - Google Patents

Condition vectorizing/paralleling processor

Info

Publication number
JPH05151248A
JPH05151248A JP31275791A JP31275791A JPH05151248A JP H05151248 A JPH05151248 A JP H05151248A JP 31275791 A JP31275791 A JP 31275791A JP 31275791 A JP31275791 A JP 31275791A JP H05151248 A JPH05151248 A JP H05151248A
Authority
JP
Japan
Prior art keywords
program
execution
vectorization
parallelization
condition
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
JP31275791A
Other languages
Japanese (ja)
Inventor
Shukuyu Kudo
淑裕 工藤
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP31275791A priority Critical patent/JPH05151248A/en
Publication of JPH05151248A publication Critical patent/JPH05151248A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To make it possible to efficiently execute tuning, to shorter a program execution time and to improve execution performance. CONSTITUTION:A compiler 10 stores a vectorizing/paralleling condition of an optimum execution format in a translated result storing file 20 by a vectorizing/ paralleling condition output means 11. A program forming means 30 forms a source program 3 into which a sentence for sampling the execution information of a vectorized/paralleled part is inserted based upon the vectorizing/ paralleling condition 2 stored in the file 20 and an execution information sampling and outputting means 40 samples execution information executed based upon the program 3, edits the sampled information and outputs the edited result as an execution result 4.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、電子計算機システムの
条件ベクトル化並列化処理装置に利用する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention is used in a condition vectorization parallelization processor of an electronic computer system.

【0002】[0002]

【従来の技術】図6は条件ベクトル化並列化処理装置の
ソースプログラムを示す図である。図7は条件ベクトル
化並列化処理装置のコンパイラの条件ベクトル化並列化
の判定結果を示す図である。図8は従来例の条件ベクト
ル化並列化処理装置のコンパイラの目的プログラムの概
念図である。
2. Description of the Related Art FIG. 6 is a diagram showing a source program of a condition vectorization parallelization processing device. FIG. 7 is a diagram showing the determination result of the condition vectorization parallelization of the compiler of the condition vectorization parallelization processing device. FIG. 8 is a conceptual diagram of a target program of a compiler of a conventional condition vectorization parallelization processing device.

【0003】一般に、科学技術計算などのプログラムで
は、一部のDOループに実行時間の大半が集中するため
に、そのDOループを高速に処理することがプログラム
全体の実行性能の向上につながる。そのために、ベクト
ルプロセッサやマルチプロセッサを有する電子計算機シ
ステムでは、これらのプロセッサの機能を有効に利用し
てDOループを高速に処理することができるように、コ
ンパイラにおいてDOループのベクトル化や並列化を行
うようにしている。ここで、最近の進んだコンパイラで
は、ベクトル化や並列化を行った命令列を固定的に実行
するのではなく、実行時のループ回数に応じて実行する
命令列を切換えることよって、より一層の最適化を図る
ようにしたものがある。ここでは、このような最適化処
理のことを条件ベクトル化並列化処理と呼ぶことにす
る。
Generally, in a program such as scientific and engineering calculation, most of the execution time is concentrated in a part of the DO loop, so that processing the DO loop at high speed leads to improvement of the execution performance of the entire program. Therefore, in an electronic computer system having a vector processor or a multiprocessor, vectorization or parallelization of the DO loop is performed in the compiler so that the DO loop can be processed at high speed by effectively utilizing the functions of these processors. I'm trying to do it. Here, in recent advanced compilers, instead of fixedly executing the vectorized or parallelized instruction sequence, the instruction sequence to be executed is switched according to the number of loops at the time of execution. There are some that are designed to be optimized. Here, such an optimization process will be referred to as a condition vectorization parallelization process.

【0004】従来、条件ベクトル化並列化処理装置は、
入力するソースプログラムを翻訳し目的プログラム作成
時にこのソースプログラム中のDOループを解析して実
行時のループ回数に応じたベクトル化並列化による最適
な実行形態を判定しこの最適な実行形態に対応した命令
列をこの目的プログラム上に生成しこのループ回数の値
によって命令列に分岐する目的プログラムを生成するコ
ンパイラと、このコンパイラの出力目的プログラムを格
納する翻訳結果格納ファイルなどから構成されていた。
Conventionally, the condition vectorization parallelization processing device is
The input source program is translated, the DO loop in this source program is analyzed at the time of creating the target program, the optimal execution form by vectorization parallelization is determined according to the number of loops at execution, and the optimum execution form is dealt with. It is composed of a compiler that generates an instruction string on this object program and branches to the instruction string according to the value of the loop count, and a translation result storage file that stores the output object program of this compiler.

【0005】従来の条件ベクトル化並列化処理装置の処
理について説明する。図6は、DOループを含んだソー
スプログラムの例を示したものである。ここで、DOル
ープ“10”(※61)のループ回数Nは仮引数である
ために、実行時に与えられる値によってループ回数Nは
変化することになり、ループ回数Nによっては、たとえ
ば、ループ回数Nが小さい場合には、ベクトル化した命
令列によりベクトル処理とするよりも、そのままスカラ
処理した方が実行時間が短くなる場合も生じてくる。従
来、条件ベクトル化並列化処理を行うことのできるコン
パイラでは、図6のようなプログラムを入力した場合
に、DOループ“10”(※61)について解析を行
い、ループ回数Nの値によってどの実行形態が最適であ
るかを図7のように判断し、各実行形態に応じた命令列
を目的プログラム上に生成し、ループ回数Nの値によっ
て各命令列に分岐するような目的プログラムを生成して
いた。図8は、目的プログラム中に作成された命令列を
ソースプログラムで表現した場合の概念図である。’
*PDIR PARALLEL,VECTOR’は指示
行と呼ばれるものでその直後のDOループを並列化、ベ
クトル化することを示している。
The processing of the conventional condition vectorization parallelization processing apparatus will be described. FIG. 6 shows an example of a source program including a DO loop. Here, since the loop count N of the DO loop “10” (* 61) is a dummy argument, the loop count N changes depending on the value given at the time of execution. When N is small, the execution time may be shorter when the scalar processing is performed as it is than when the vector processing is performed by the vectorized instruction sequence. Conventionally, in a compiler capable of performing conditional vectorization parallelization processing, when a program as shown in FIG. 6 is input, the DO loop “10” (* 61) is analyzed, and which one is executed depending on the value of the loop count N As shown in FIG. 7, it is determined whether the form is optimum, an instruction sequence corresponding to each execution form is generated on the target program, and a target program that branches to each instruction sequence according to the value of the loop count N is generated. Was there. FIG. 8 is a conceptual diagram when the instruction sequence created in the target program is expressed by the source program. '
* PDIR PARALLEL, VECTOR 'is called an instruction line and indicates that the DO loop immediately after that is parallelized and vectorized.

【0006】[0006]

【発明が解決しようとする課題】しかし、このような従
来例のコンパイラでは、自動的に条件ベクトル化並列化
処理が行われその効果は大きいものであったが、コンパ
イラにおける最適化処理は完全なものとは言えず、一層
の高速化による実行性能の向上を図るためには利用者に
よるプログラムの修正(チューニング)が必要であり、
所定のDOループが条件ベクトル化並列化処理される旨
などがメッセージとして出力されるだけであったため
に、チューニングのための有用な情報が得られない問題
点があった。
However, in such a conventional compiler, the condition vectorization parallelization processing is automatically performed and its effect is great, but the optimization processing in the compiler is not complete. It can not be said that it is necessary to modify (tune) the program by the user in order to improve the execution performance by further speeding up,
There is a problem that useful information for tuning cannot be obtained because only the message that the predetermined DO loop is subjected to the condition vectorization parallel processing is output as a message.

【0007】本発明は上記の問題点を解決するもので、
チューニングの効率をよくすることができプログラムの
実行時間の短縮化および実行性能の向上を計ることがで
きる条件ベクトル化並列化処理装置を提供することを目
的とする。
The present invention solves the above problems.
An object of the present invention is to provide a condition vectorization parallelization processing device capable of improving the efficiency of tuning, shortening the execution time of a program, and improving the execution performance.

【0008】[0008]

【課題を解決するための手段】本発明は、入力するソー
スプログラムを翻訳し目的プログラム作成時にこのソー
スプログラム中のDOループを解析して実行時のループ
回数に応じたベクトル化並列化による最適な実行形態を
判定しこの最適な実行形態に対応した命令列をこの目的
プログラム上に生成しこのループ回数の値によって命令
列に分岐する目的プログラムを生成するコンパイラと、
このコンパイラの出力目的プログラムを格納する翻訳結
果格納ファイルとを備えた条件ベクトル化並列化処理装
置において、上記コンパイラは上記最適な実行形態のベ
クトル化並列化条件を上記翻訳結果格納ファイルに格納
するベクトル化並列化条件出力手段を含むことを特徴と
する。
According to the present invention, a source program to be input is translated, a DO loop in the source program is analyzed at the time of creating a target program, and optimal optimization is performed by vectorization parallelization according to the number of loops at the time of execution. A compiler that determines the execution form, generates an instruction sequence corresponding to this optimum execution form on the target program, and generates a target program that branches to the instruction sequence according to the value of the loop count,
In a conditional vectorization parallelization processing device including a translation result storage file storing an output target program of this compiler, the compiler stores a vectorization parallelization condition of the optimum execution mode in the translation result storage file. And parallelization condition output means.

【0009】また、本発明は、上記ソースプログラムを
入力し上記翻訳結果格納ファイルに格納されたベクトル
化並列化条件に基づきこのソースプログラムのベクトル
化並列化された部分の実行情報を採取する文を挿入した
ソースプログラムを生成するプログラム生成手段と、こ
のプログラム生成手段の出力するソースプログラムに基
づき実行して実行情報を採取し編集して実行結果を出力
する実行情報採取出力手段とを備えることができる。
According to the present invention, a statement for inputting the source program and collecting execution information of the vectorized parallelized portion of the source program based on the vectorized parallelization condition stored in the translation result storage file is provided. A program generation means for generating the inserted source program and an execution information collection / output means for executing based on the source program output by the program generation means to collect and edit execution information and output an execution result can be provided. ..

【0010】[0010]

【作用】コンパイラはベクトル化並列化条件出力手段で
最適な実行形態のベクトル化並列化条件を翻訳結果格納
ファイルに格納する。また、ユーザは、プログラム生成
手段で翻訳結果格納ファイルに格納されたベクトル化並
列化条件に基づきベクトル化並列化された部分の実行情
報を採取する文を挿入したソースプログラムを生成し、
実行情報採取手段でこのソースプログラムに基づき実行
して実行情報を採取し編集して実行結果を出力すること
ができる。
The compiler causes the vectorization parallelization condition output means to store the vectorization parallelization condition of the optimum execution form in the translation result storage file. Further, the user generates a source program into which a sentence for collecting execution information of the vectorized and parallelized portion is inserted based on the vectorized and parallelized condition stored in the translation result storage file by the program generation means,
The execution information collecting means can execute the execution information based on this source program, collect and edit the execution information, and output the execution result.

【0011】以上によりチューニングの効率をよくする
ことができプログラムの実行時間の短縮化および実行性
能の向上を計ることができる。
As described above, the efficiency of tuning can be improved, the execution time of the program can be shortened, and the execution performance can be improved.

【0012】[0012]

【実施例】本発明の実施例について図面を参照して説明
する。図1は本発明一実施例条件ベクトル化並列化処理
装置のブロック構成図である。
Embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram of a condition vectorization parallelization processing apparatus according to an embodiment of the present invention.

【0013】図1において、条件ベクトル化並列化処理
装置は、入力するソースプログラム1を翻訳し目的プロ
グラム作成時にこのソースプログラム1中のDOループ
を解析して実行時のループ回数に応じたベクトル化並列
化による最適な実行形態を判定しこの最適な実行形態に
対応した命令列をこの目的プログラム上に生成しこのル
ープ回数の値によって命令列に分岐する目的プログラム
を生成するコンパイラ10と、コンパイラ10の出力目
的プログラムを格納する翻訳結果格納ファイル20とを
備える。
In FIG. 1, a conditional vectorization parallelization processor translates an input source program 1, analyzes a DO loop in the source program 1 when creating a target program, and vectorizes according to the number of loops during execution. A compiler 10 that determines an optimum execution form by parallelization, generates an instruction sequence corresponding to this optimum execution form on this object program, and generates an object program that branches to an instruction sequence according to the value of this loop count, and a compiler 10. And a translation result storage file 20 for storing the output target program of.

【0014】ここで本発明の特徴とするところは、コン
パイラ10は上記最適な実行形態のベクトル化並列化条
件を翻訳結果格納ファイル20に格納するベクトル化並
列化条件出力手段11を含むことにある。
A feature of the present invention is that the compiler 10 includes vectorization parallelization condition output means 11 for storing the vectorization parallelization condition of the optimum execution mode in the translation result storage file 20. ..

【0015】また、ソースプログラム1を入力し翻訳結
果格納ファイル20に格納されたベクトル化並列化条件
2に基づきソースプログラム1のベクトル化並列化され
た部分の実行情報を採取する文を挿入したソースプログ
ラムを生成するプログラム生成手段30と、プログラム
生成手段30の出力するソースプログラム3に基づき実
行情報を採取し編集して実行結果4を出力する実行情報
採取出力手段40とを備える。
Further, a source in which the source program 1 is input and a sentence for collecting execution information of the vectorized parallelized portion of the source program 1 is inserted based on the vectorized parallelization condition 2 stored in the translation result storage file 20. The program generation means 30 for generating a program and the execution information collection / output means 40 for collecting and editing the execution information based on the source program 3 output by the program generation means 30 and outputting the execution result 4 are provided.

【0016】このような構成の条件ベクトル化並列化処
理装置の動作について説明する。図2は本発明の条件ベ
クトル化並列化処理装置の翻訳結果格納ファイルに格納
された条件式を示す図である。図3は本発明の条件ベク
トル化並列化処理装置のプログラム生成手段の処理を示
すフローチャートである。図4は本発明の条件ベクトル
化並列化処理装置のプログラム生成手段の実行情報を採
取するための文が挿入されたソースプログラムを示す図
である。図5は本発明の条件ベクトル化並列化処理装置
の実行情報採取出力手段の採取した実行結果を示す図で
ある。
The operation of the condition vectorization parallelization processing apparatus having such a configuration will be described. FIG. 2 is a diagram showing conditional expressions stored in the translation result storage file of the conditional vectorization parallelization processing device of the present invention. FIG. 3 is a flow chart showing the processing of the program generating means of the condition vectorization parallelization processing apparatus of the present invention. FIG. 4 is a diagram showing a source program in which a statement for collecting execution information of the program generating means of the condition vectorization parallelization processing device of the present invention is inserted. FIG. 5 is a diagram showing the execution result collected by the execution information collection output means of the condition vectorization parallelization processing device of the present invention.

【0017】図1において、コンパイラ10は、ベクト
ル化並列化条件出力手段11で入力されたソースプログ
ラム1中のDOループを解析して、実行時のループ回数
に応じたベクトル化並列化による最適な実行形態を判定
し、その条件をソースプログラムの翻訳結果が格納され
る翻訳結果格納ファイル20に出力する。プログラム生
成手段30は、ソースプログラム1と翻訳結果格納ファ
イル20からベクトル化並列化条件2を入力し、実行情
報を採取するための文が挿入されたソースプログラム3
を出力する。実行情報採取出力手段40は、プログラム
生成手段30によって生成された実行情報を採取するた
めの文が挿入されたソースプログラム3を入力して、実
行情報を採取し、採取した実行結果4を出力する。
In FIG. 1, the compiler 10 analyzes the DO loop in the source program 1 input by the vectorization parallelization condition output means 11 and optimizes the vectorization parallelization according to the number of loops during execution. The execution form is determined, and the condition is output to the translation result storage file 20 in which the translation result of the source program is stored. The program generation means 30 inputs the vectorization parallelization condition 2 from the source program 1 and the translation result storage file 20, and the source program 3 in which a statement for collecting execution information is inserted.
Is output. The execution information collection output means 40 inputs the source program 3 in which the statement for collecting the execution information generated by the program generation means 30 is input, collects the execution information, and outputs the collected execution result 4. ..

【0018】次に、ベクトル化並列化条件出力手段11
について、図6のようなソースプログラム1が入力され
た場合で説明する。コンパイラ10は、ソースプログラ
ム1中にDOループを検出し条件ベクトル化並列化を行
ったときに、ベクトル化並列化条件出力手段11を起動
する。この場合に、DOループ(※61)の条件ベクト
ル並列化を行ったとする。このときには、従来の技術と
同様に図7のように判定される。この手段は起動される
と、翻訳結果格納ファイル20中に条件ベクトル化並列
化したDOループのベクトル化、並列化の条件を出力し
処理を終了する。
Next, the vectorized parallelization condition output means 11
Will be described in the case where the source program 1 as shown in FIG. 6 is input. The compiler 10 activates the vectorization parallelization condition output means 11 when the DO loop is detected in the source program 1 and the condition vectorization parallelization is performed. In this case, it is assumed that the DO vector (* 61) condition vector parallelization is performed. At this time, the determination is made as shown in FIG. 7 as in the conventional technique. When this means is started, the vectorization and parallelization conditions of the DO vectorization parallelized DO loop are output to the translation result storage file 20, and the processing is terminated.

【0019】図2は翻訳結果格納ファイル20中のDO
ループの情報である。※21は、DOループのDO文の
あるソースプログラム中の行番号であり、※22は、D
Oループの端末文の文番号、※23は、DOループが条
件ベクトル化並列化されたことを示す語であり、以上は
従来と同様である。※24は、条件ベクトル化並列化さ
れる条件式で、※25は、どのようにベクトル化、並列
化されるかを示すものである。この場合には、’25
6.GT.N’、すなわち、ループ回数Nが256より
大きい場合には、’PARALLEL,VECTOR’
であるのでDOループは、マルチプロセッサでベクトル
処理される。’4.GT.N’、すなわち、ループ回数
Nが4より大きい場合は、’VECTOR’であるの
で、’256.GT.N’の場合を除いてベクトル処理
される。そして、上記以外の場合には、すなわち、ルー
プ回数Nが4以下の場合には、スカラ処理されることを
示している。
FIG. 2 shows the DO in the translation result storage file 20.
This is loop information. * 21 is the line number in the source program with the DO statement of the DO loop, and * 22 is D
The sentence number of the terminal sentence of the O loop, * 23, is a word indicating that the DO loop is parallelized by the condition vectorization, and the above is the same as the conventional one. * 24 is a conditional expression for conditional vectorization and parallelization, and * 25 shows how to be vectorized and parallelized. In this case, '25
6. GT. N ', that is, when the loop count N is larger than 256,' PARALLEL, VECTOR '
Therefore, the DO loop is vector-processed by the multiprocessor. '4. GT. N ', that is, when the loop count N is larger than 4, it is'VECTOR', and therefore, '256. GT. Vector processing is performed except for the case of N '. Then, in the cases other than the above, that is, when the loop count N is 4 or less, the scalar processing is performed.

【0020】次に、図3を参照してプログラム生成手段
30の処理について説明する。この手段は、ユーザがプ
ログラムの実行情報を採取する場合に起動される。プロ
グラム生成手段30は起動されると、翻訳結果格納ファ
イル20をサーチして、’ALTERNATIVE’、
すなわち、条件ベクトル化並列化されたDOループの情
報を得る(ステップS1)。次に、そこに登録されてい
る条件で、まだ処理していないものがあるかどうかチェ
ックする(ステップS2)。ある場合には、最初の条件
式を処理しているのかどうかチェックする(ステップS
3)。最初の条件式である場合に、’IF(条件式)T
HEN’を元のDOループの直前に挿入して(ステップ
S4)、そうでない場合には、’ELSE IF(条件
式)THEN’を元のDOループの直前に挿入する(ス
テップS5)。括弧内の条件式は、DOループの情報中
に登録されていた条件式である。
Next, the processing of the program generating means 30 will be described with reference to FIG. This means is activated when the user collects the execution information of the program. When the program generation means 30 is activated, it searches the translation result storage file 20 to display “ALTERNATIVE”,
That is, the information of the DO loop parallelized by the condition vectorization is obtained (step S1). Next, it is checked whether or not there is a condition that has not been processed yet under the registered conditions (step S2). If there is, check whether the first conditional expression is processed (step S
3). If it is the first conditional expression, 'IF (conditional expression) T
HEN 'is inserted immediately before the original DO loop (step S4), and if not,' ELSE IF (conditional expression) THEN 'is inserted immediately before the original DO loop (step S5). The conditional expression in the parentheses is the conditional expression registered in the information of the DO loop.

【0021】次に、DOループの情報を採取するための
実行時ルーチン(以下、RTPという。)のCALL文
を元のDOループの直前に挿入する(ステップS6)。
条件式の右側に登録されていた実行形態になるような指
示行を元のDOループの直前に挿入する(ステップS
7)。次に、DOループの端末文の文番号を新しいもの
に付直したDOループを元のDOループの直前に挿入す
る(ステップS8)。次に、RTPのCALL文を元の
DOループの直前に挿入する(ステップS9)。まだ処
理していない条件式があるかどうかチェックし(ステッ
プS2)、同様の処理を行う。
Next, a CALL statement of a runtime routine (hereinafter, referred to as RTP) for collecting the information of the DO loop is inserted immediately before the original DO loop (step S6).
Insert a directive line registered on the right side of the conditional expression immediately before the original DO loop (step S).
7). Next, the DO loop in which the terminal number of the DO loop is renumbered to a new one is inserted immediately before the original DO loop (step S8). Next, the RTP CALL sentence is inserted immediately before the original DO loop (step S9). It is checked whether there is a conditional expression that has not been processed (step S2), and the same processing is performed.

【0022】すべての条件式を処理してしまった場合
に、’ELSE’とRTPのCALL文を元のDOルー
プの直前に挿入する(ステップS10、S11)。次
に、この場合はスカラで処理するケースなので、’*P
DIR NOPARALLEL,NOVECTOR’と
いう指示行を元のDOループの直前に挿入する(ステッ
プS12)。元のDOループの直後に、RTPのCAL
L文と’ENDIF’を挿入して(ステップS13、S
14)プログラム生成手段30の処理を終了する。図4
はプログラム生成手段30によって作成された実行情報
を採取するための文の挿入されたソースプログラムであ
る。
When all the conditional expressions have been processed, "ELSE" and the RTP CALL statement are inserted immediately before the original DO loop (steps S10 and S11). Next, in this case, since it is a case of processing with scalar, '* P
The instruction line "DIR NOPARALLEL, NOVECTOR '" is inserted immediately before the original DO loop (step S12). Immediately after the original DO loop, RTP CAL
Insert L sentence and'ENDIF '(steps S13, S
14) The processing of the program generation means 30 is ended. Figure 4
Is a source program in which a statement for collecting the execution information created by the program creating means 30 is inserted.

【0023】次に、実行情報採取手段40の処理につい
て説明する。実行情報採取手段は、実行情報を採取する
ための文の挿入されたソースプログラムを入力して、翻
訳、結合、実行を行い、実行情報を採取する。その際
に、条件ベクトル化並列化したDOループの情報として
図5のように編集して実行結果を出力し、処理を終了す
る。
Next, the processing of the execution information collecting means 40 will be described. The execution information collecting means inputs the source program in which the sentence for collecting the execution information is input, translates, combines, and executes the source program, and collects the execution information. At that time, the information is edited as shown in FIG. 5 as the information of the DO loop parallelized to the condition vector, the execution result is output, and the processing is ended.

【0024】図5は実行情報採取手段40によって出力
された実行情報の例である。※51は、DOループのD
O文のあるソースプログラム中の行番号であり、※52
は、DOループの端末文の文番号、※53はDOループ
が条件ベクトル化並列化されたことを示す語である。※
54は、どの実行形態で処理されたかを示す語で、※5
5は採取した実行情報である。この場合には、’PAR
ALLEL,VECTOR’、すなわち、マルチプロセ
ッサでベクトル処理されたのが20回、ベクトル処理さ
れたのが200回、スカラ処理されたのが3回という意
味である。
FIG. 5 shows an example of the execution information output by the execution information collecting means 40. * 51 is DO loop D
Line number in the source program with O statement, * 52
Is the sentence number of the terminal sentence of the DO loop, and * 53 is a word indicating that the DO loop has been parallelized by condition vectorization. *
54 is a word indicating which execution mode was processed, * 5
Reference numeral 5 is the collected execution information. In this case, 'PAR
ALLEL, VECTOR ', that is, the vector is processed 20 times by the multiprocessor, the vector is processed 200 times, and the scalar is processed 3 times.

【0025】[0025]

【発明の効果】以上説明したように、本発明は、チュー
ニングの効率をよくすることができプログラムの実行時
間の短縮化および実行性能の向上を計ることができる優
れた効果がある。
As described above, the present invention has an excellent effect that the efficiency of tuning can be improved, the execution time of a program can be shortened, and the execution performance can be improved.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明一実施例図1は本発明一実施例条件ベク
トル化並列化処理装置のブロック構成図。
FIG. 1 is a block diagram of a condition vectorization parallelization processing device according to an embodiment of the present invention.

【図2】本発明の条件ベクトル化並列化処理装置の翻訳
結果格納ファイルに格納された条件式を示す図。
FIG. 2 is a diagram showing conditional expressions stored in a translation result storage file of the conditional vectorization parallelization processing device of the present invention.

【図3】本発明の条件ベクトル化並列化処理装置のプロ
グラム生成手段の処理を示すフローチャート。
FIG. 3 is a flowchart showing the processing of the program generation means of the conditional vectorization parallelization processing device of the present invention.

【図4】本発明の条件ベクトル化並列化処理装置のプロ
グラム生成手段の実行情報を採取するための文が挿入さ
れたソースプログラムを示す図。
FIG. 4 is a diagram showing a source program in which a statement for collecting execution information of program generation means of the conditional vectorization parallelization processing device of the present invention is inserted.

【図5】本発明の条件ベクトル化並列化処理装置の実行
情報採取出力手段の採取した実行結果を示す図。
FIG. 5 is a diagram showing an execution result collected by an execution information collection output unit of the condition vectorization parallelization processing device of the present invention.

【図6】条件ベクトル化並列化処理装置のソースプログ
ラムを示す図。
FIG. 6 is a diagram showing a source program of a condition vectorization parallelization processing device.

【図7】条件ベクトル化並列化処理装置のコンパイラの
条件ベクトル化並列化の判定結果を示す図。
FIG. 7 is a diagram showing a determination result of conditional vectorization parallelization of a compiler of the conditional vectorization parallelization processing device.

【図8】従来例の条件ベクトル化並列化処理装置のコン
パイラの目的プログラムの概念図。
FIG. 8 is a conceptual diagram of a target program of a compiler of a conventional condition vectorization parallelization processing device.

【符号の説明】[Explanation of symbols]

1、3 ソースプログラム 2 ベクトル化並列化条件 4 実行結果 10 コンパイラ 11 ベクトル化並列化条件出力手段 20 翻訳結果格納ファイル 30 プログラム生成手段 40 実行情報採取出力手段 1, 3 Source program 2 Vectorization parallelization condition 4 Execution result 10 Compiler 11 Vectorization parallelization condition output means 20 Translation result storage file 30 Program generation means 40 Execution information collection output means

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 入力するソースプログラムを翻訳し目的
プログラム作成時にこのソースプログラム中のDOルー
プを解析して実行時のループ回数に応じたベクトル化並
列化による最適な実行形態を判定しこの最適な実行形態
に対応した命令列をこの目的プログラム上に生成しこの
ループ回数の値によって命令列に分岐する目的プログラ
ムを生成するコンパイラと、このコンパイラの出力目的
プログラムを格納する翻訳結果格納ファイルとを備えた
条件ベクトル化並列化処理装置において、 上記コンパイラは上記最適な実行形態のベクトル化並列
化条件を上記翻訳結果格納ファイルに格納するベクトル
化並列化条件出力手段を含むことを特徴とする条件ベク
トル化並列化処理装置。
1. A source program to be input is translated, a DO loop in the source program is analyzed at the time of creating a target program, an optimum execution form by vectorization parallelization is determined according to the number of loops at the time of execution, and this optimum A compiler for generating an instruction sequence corresponding to the execution form on this object program and generating an object program branching to the instruction sequence according to the value of this loop count, and a translation result storage file for storing the output target program of this compiler In the conditional vectorization parallelization processing device, the compiler includes vectorization parallelization condition output means for storing the vectorization parallelization condition of the optimum execution mode in the translation result storage file. Parallel processing device.
【請求項2】 上記ソースプログラムを入力し上記翻訳
結果格納ファイルに格納されたベクトル化並列化条件に
基づきこのソースプログラムのベクトル化並列化された
部分の実行情報を採取する文を挿入したソースプログラ
ムを生成するプログラム生成手段と、このプログラム生
成手段の出力するソースプログラムに基づき実行して実
行情報を採取し編集して実行結果を出力する実行情報採
取出力手段とを備えた請求項1記載の条件ベクトル化並
列化処理装置。
2. A source program into which a statement for inputting the source program and inserting execution information of a vectorized parallelized portion of the source program based on the vectorized parallelization condition stored in the translation result storage file is inserted. 2. The condition according to claim 1, further comprising: a program generating unit that generates a program, and an execution information collecting and outputting unit that executes the program based on the source program output by the program generating unit to collect and edit the execution information and output the execution result. Vectorization parallelization processor.
JP31275791A 1991-11-27 1991-11-27 Condition vectorizing/paralleling processor Pending JPH05151248A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31275791A JPH05151248A (en) 1991-11-27 1991-11-27 Condition vectorizing/paralleling processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31275791A JPH05151248A (en) 1991-11-27 1991-11-27 Condition vectorizing/paralleling processor

Publications (1)

Publication Number Publication Date
JPH05151248A true JPH05151248A (en) 1993-06-18

Family

ID=18033062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31275791A Pending JPH05151248A (en) 1991-11-27 1991-11-27 Condition vectorizing/paralleling processor

Country Status (1)

Country Link
JP (1) JPH05151248A (en)

Similar Documents

Publication Publication Date Title
JP2921190B2 (en) Parallel execution method
JP4118456B2 (en) Program language processing system, code optimization method, and machine-readable storage medium
JP2001166949A (en) Method and device for compiling source code by using symbolic execution
JP2012510661A (en) Method and system for parallel processing of sequential computer program code
JP2004164163A (en) Method and device for creating simd instruction sequence and program for creating simd instruction sequence
JP2001125792A (en) Optimization promoting device
JPH05151248A (en) Condition vectorizing/paralleling processor
WO2008041442A1 (en) Parallelization program creating method, parallelization program creating device, and parallelization program creating program
JP3887097B2 (en) COMPILING METHOD, COMPILING DEVICE, AND COMPUTER-READABLE STORAGE MEDIUM CONTAINING COMPILING PROGRAM
JP2956591B2 (en) Method and apparatus for parallelizing a loop having a conditional jump out of the loop
JPH09288580A (en) Device and method for optimizing source program
JPH03144830A (en) Parallel processing system
JPH11195011A (en) Language translation processor, language translation processing method and record medium recording language translation processing program
JP2789977B2 (en) Execution information collection program generation device
JP2000163266A (en) Instruction execution system
JPH0795275B2 (en) Compile processor
Almghawish et al. An automatic parallelizing model for sequential code using Python
JP3323147B2 (en) Compiling device, compiling method, and recording medium recording compiler program
JPH0379741B2 (en)
JP3218566B2 (en) Inline processing equipment
JPH04354056A (en) Conditional vectrization and paralleling processing method
CN117008919A (en) Analysis method and device of simulation model file, electronic equipment and storage medium
JP2003067195A (en) Optimization compile method and optimization compile device
JPH03141432A (en) Compiler
JP3367438B2 (en) Conditional execution processing device