Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3269639B2 - Method of parallel execution of program loop - Google Patents
[go: Go Back, main page]

JP3269639B2 - Method of parallel execution of program loop - Google Patents

Method of parallel execution of program loop

Info

Publication number
JP3269639B2
JP3269639B2 JP05156191A JP5156191A JP3269639B2 JP 3269639 B2 JP3269639 B2 JP 3269639B2 JP 05156191 A JP05156191 A JP 05156191A JP 5156191 A JP5156191 A JP 5156191A JP 3269639 B2 JP3269639 B2 JP 3269639B2
Authority
JP
Japan
Prior art keywords
loop
variable
program
computer
value
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.)
Expired - Fee Related
Application number
JP05156191A
Other languages
Japanese (ja)
Other versions
JPH04286031A (en
Inventor
耕一郎 堀田
浩士 長倉
栄次 山中
英樹 野崎
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP05156191A priority Critical patent/JP3269639B2/en
Publication of JPH04286031A publication Critical patent/JPH04286031A/en
Application granted granted Critical
Publication of JP3269639B2 publication Critical patent/JP3269639B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は,例えばFORTRAN
プログラムなどにおける一つのループを,複数の計算機
で並列実行させるために,ループの各回転をそれぞれの
計算機で実行させるプログラムのループ並列実行処理方
法に関する。
The present invention relates to, for example, FORTRAN
The present invention relates to a loop parallel execution processing method of a program for executing each rotation of a loop on each computer in order to execute one loop in a program or the like in parallel by a plurality of computers.

【0002】FORTRANによる科学技術計算などで
は,配列を処理するときなど,DOループを使用するケ
ースが非常に多い。したがって,このDOループの回転
を,複数の計算機に分担させて並列に実行させると,処
理時間を短縮することができる。このような並列処理を
ループスライシング方式という。このループスライシン
グ方式に伴う技術をさらに改善することができれば,も
っと効率的にプログラムを実行することが可能になる。
2. Description of the Related Art In science and technology calculations using FORTRAN, a DO loop is used very often when processing an array. Therefore, if the rotation of the DO loop is shared by a plurality of computers and executed in parallel, the processing time can be reduced. Such parallel processing is called a loop slicing method. If the technology associated with the loop slicing method can be further improved, the program can be executed more efficiently.

【0003】[0003]

【従来の技術】図4は,従来技術の説明図である。並列
に実行可能な計算機が2台あるとすると,ループスライ
シング方式では,例えば図4の(a) に示すようなFOR
TRANで記述されたプログラム40のループを並列化
して,図4の(b) に示すような手続き41−1,41−
2に分割しし,2つの計算機上で実行させる。
2. Description of the Related Art FIG. 4 is an explanatory diagram of the prior art. Assuming that there are two computers that can be executed in parallel, in the loop slicing method, for example, as shown in FIG.
The loop of the program 40 described in TRAN is parallelized, and the procedures 41-1 and 41- as shown in FIG.
It is divided into two and executed on two computers.

【0004】図4に示す例では,奇数番目の回転を第1
の計算機で実行させ,偶数番目の回転を第2の計算機で
並列に実行させている。ここで,(a) のループの中で使
用されている変数Aは,ループの各回転ごとに一時的デ
ータとして使用されている。これを並列実行する際に
は,(b) に示すA1,A2のように,Aの領域を各計算
機ごとに用意し,領域の競合が起こらないようする必要
がある。第1の計算機による処理中のデータを,第2の
計算機が使用すると,矛盾が生じるからである。逆の場
合も同様である。
[0004] In the example shown in FIG.
And the even-numbered rotations are executed in parallel by the second computer. Here, the variable A used in the loop of (a) is used as temporary data for each rotation of the loop. When this is executed in parallel, it is necessary to prepare an area of A for each computer as in A1 and A2 shown in FIG. This is because if data being processed by the first computer is used by the second computer, inconsistency arises. The same applies to the opposite case.

【0005】[0005]

【発明が解決しようとする課題】一般のプログラムで
は,図4に示すAのような変数は,このループだけで使
用されることは稀であり,通常の場合,プログラム内の
様々な部分で同一の変数が(別々の意味で)使用され
る。
In a general program, a variable such as A shown in FIG. 4 is rarely used only in this loop, and usually the same variable is used in various parts in the program. Are used (in separate sense).

【0006】このとき,コンパイラの最適化機能による
データフロー解析によって,変数Aの使用がループ内に
閉じている,すなわち他のAの使用とは別個の変数とし
て扱っても構わないことがわかれば,図4に示す例のよ
うに,オリジナル変数Aに値を代入しなくても正しい結
果が得られることがわかるので,並列化が容易に可能で
ある。
At this time, if the use of the variable A is closed in a loop by data flow analysis by the optimization function of the compiler, that is, if the use of the variable A can be treated as a variable separate from the use of other A, 4, it can be seen that a correct result can be obtained without substituting a value for the original variable A, so that parallelization is easily possible.

【0007】しかし,このループで使用した変数Aの値
を,ループ外で使用する可能性があるときには(たとえ
実際には参照されないとしても),オリジナル変数Aに
値を代入する必要があるため,図4の(b) に示すような
並列化は不可能であり,Aの値を保証するために複雑な
処理を行わなければならない。
However, when there is a possibility that the value of the variable A used in this loop is used outside the loop (even if it is not actually referenced), it is necessary to substitute the value for the original variable A. Parallelization as shown in FIG. 4B is not possible, and complicated processing must be performed to guarantee the value of A.

【0008】実際に,図4に示す例で,変数Aの値をル
ープ終了後に使用するとすれば,第1の計算機による処
理結果のA1の値と,第2の処理結果のA2の値のどち
らが最終結果であるかを調べ,その値をループ終了時に
オリジナル変数Aに代入する複雑な処理が必要となる。
Actually, in the example shown in FIG. 4, if the value of the variable A is used after the end of the loop, either the value of A1 of the processing result by the first computer or the value of A2 of the second processing result Complicated processing of checking whether the result is the final result and substituting the value into the original variable A at the end of the loop is required.

【0009】本発明は上記問題点の解決を図り,ループ
内で代入した変数の値を,ループ外で使用する可能性が
ある場合でも,並列化を実行でき,かつ無駄な処理を行
わないでも実行できるようにすることを目的としてい
る。
The present invention solves the above-mentioned problem. Even when the value of a variable substituted in a loop may be used outside the loop, parallelization can be performed and unnecessary processing can be performed. It is intended to be able to run.

【0010】[0010]

【課題を解決するための手段】図1は,本発明の原理説
明図である。図1に示すプログラム10のように,DO
ループの中で変数Aに値を代入し,そのループの終了後
に同じ変数Aを参照しているとする。
FIG. 1 is a diagram illustrating the principle of the present invention. As in the program 10 shown in FIG.
It is assumed that a value is substituted for the variable A in the loop, and the same variable A is referred to after the end of the loop.

【0011】コンパイラ11は,並列処理のために,D
Oループの回転を分割したオブジェクトプログラムを出
力する。そのオブジェクトプログラムの実行イメージ
は,以下のとおりである。マルチプロセッサ12を構成
する並列処理可能な計算機がN台あったとする。計算機
13−1には,DOループの回転を分割した1つのDO
ループ実行イメージ14−1を割り当て,計算機13−
2には,DOループの回転を分割した他のDOループ実
行イメージ14−2を割り当て,……,計算機13−N
には,DOループの回転を分割した他のDOループ実行
イメージ14−Nを割り当てて,それぞれの計算機で並
列に実行させる。
[0011] The compiler 11 performs D processing for parallel processing.
An object program obtained by dividing the rotation of the O loop is output. The execution image of the object program is as follows. It is assumed that there are N computers capable of parallel processing constituting the multiprocessor 12. The computer 13-1 has one DO divided by dividing the rotation of the DO loop.
The loop execution image 14-1 is allocated, and the computer 13-
2 is assigned to another DO loop execution image 14-2 obtained by dividing the rotation of the DO loop.
Is assigned to another DO loop execution image 14-N obtained by dividing the rotation of the DO loop, and is executed in parallel by each computer.

【0012】ここで,ループの最終回転部分を,計算機
13−Nが担当するようになっていたとすると,計算機
13−NのDOループ実行イメージ14−Nでは,変数
Aの値を格納する場所としてオリジナル変数Aの領域を
そのまま使用する。他の計算機13−1,13−2,…
では,各計算機ごとに用意した変数Aの複製領域A1,
A2,…を使用する。これによって,ループ外での変数
Aの値を保証する。
If it is assumed that the computer 13-N is in charge of the final rotation of the loop, the DO loop execution image 14-N of the computer 13-N has a location for storing the value of the variable A. The area of the original variable A is used as it is. Other computers 13-1, 13-2, ...
Now, the replication area A1 of the variable A prepared for each computer
A2,... Are used. This guarantees the value of the variable A outside the loop.

【0013】[0013]

【作用】例えば,従来技術として説明したループスライ
シング方式を採る場合,各計算機での実行順序が元のル
ープでの回転関係を崩していないならば,どれか一つの
計算機での実行終了時のオリジナル変数に対応する変数
(図4の(b)に示すA1またはA2)の値が,オリジナ
ル変数Aの取るべき値に等しい。
For example, when the loop slicing method described as the prior art is adopted, if the execution order in each computer does not break the rotational relationship in the original loop, the original at the end of execution in any one computer The value of the variable corresponding to the variable (A1 or A2 shown in FIG. 4B) is equal to the value to be taken by the original variable A.

【0014】これを利用して,オリジナル変数Aの取る
べき値に等しい方のAの複製(A1またはA2)の代わ
りに,オリジナル変数Aの領域を直接使用する。すなわ
ち,図1に示すように,N台の計算機13−1〜13−
Nがあった場合には,その中の最終回転を司る計算機の
変数を,複製領域ANではなく,オリジナル変数Aとし
てそのまま使用する。これにより全回転の終了時には,
最終結果がそのまま保証され,並列処理を高速に行うこ
とが可能になる。
Utilizing this, the area of the original variable A is directly used instead of the duplicate (A1 or A2) of A which is equal to the value to be taken of the original variable A. That is, as shown in FIG. 1, N computers 13-1 to 13-
If there is N, the variable of the computer that controls the final rotation in the N is used as it is as the original variable A instead of the replication area AN. As a result, at the end of all revolutions,
The final result is guaranteed as it is, and parallel processing can be performed at high speed.

【0015】[0015]

【実施例】図2は本発明を実施するための言語処理シス
テムの例,図3は本発明の実施例を示す。図2におい
て,20は例えばFORTRANで記述されたソースプ
ログラム,21はCPUおよびメモリなどからなる計算
機,22はFORTRANのコンパイラ11におけるソ
ースプログラム解析部,23はプログラムの最適化を行
う最適化部,24はDOループを検出するループ検出
部,24はプログラムにおけるデータの流れを解析する
データフロー解析部,25はマルチプロセッサ用のオブ
ジェクトプログラムを出力する場合にプログラムのある
部分を並列に実行できるかどうかを解析する並列性解析
部,27は並列に実行できる場合に各計算機用の中間コ
ードを生成する並列中間コード生成部,28はレジスタ
の割り当てや領域の割り当てを行い,オブジェクトプロ
グラムのコードを生成するコード生成部,29はコンパ
イラ11の出力結果であるオブジェクトプログラムを表
す。
FIG. 2 shows an example of a language processing system for implementing the present invention, and FIG. 3 shows an embodiment of the present invention. In FIG. 2, reference numeral 20 denotes a source program described in, for example, FORTRAN; 21, a computer including a CPU and a memory; 22, a source program analyzing unit in the FORTRAN compiler 11; 23, an optimizing unit for optimizing the program; Is a loop detector that detects a DO loop, 24 is a data flow analyzer that analyzes the flow of data in the program, and 25 is whether a certain part of the program can be executed in parallel when an object program for a multiprocessor is output. A parallelism analyzing unit for analyzing, 27 is a parallel intermediate code generating unit for generating intermediate code for each computer when it can be executed in parallel, and 28 is a code for allocating registers and allocating areas and generating code of an object program. The generation unit, 29 is the compiler 11 Representing the object program is output.

【0016】コンパイラ11が,例えば図3に示すソー
スプログラム20を入力し,それをコンパイルする例に
ついて説明する。コンパイラ11へのパラメタとして,
三重の並列化を行うことが指定されたとする。ソースプ
ログラム解析部22は,ソースプログラム20を解析
し,解析結果を中間テキストの形で最適化部23に渡
す。最適化部23では,まずループ検出部24によっ
て,DOループを検出する。この例では,次のような内
容のDOループである。
An example in which the compiler 11 inputs, for example, the source program 20 shown in FIG. 3 and compiles it will be described. As a parameter to the compiler 11,
It is assumed that triple parallelization is specified. The source program analysis unit 22 analyzes the source program 20 and passes the analysis result to the optimization unit 23 in the form of an intermediate text. In the optimizing unit 23, the loop detecting unit 24 first detects a DO loop. In this example, the DO loop has the following contents.

【0017】 データフロー解析部25は,ループ内外における各変
数等の関係を調べる。その結果により,並列性解析部2
6は,このDOループについての並列実行が可能である
かどうかを決定する。並列実行が可能であれば,並列中
間コード生成部27により,DOループの回転を3個に
分割したオブジェクトプログラムを生成するための中間
コードを生成する。
[0017] The data flow analysis unit 25 checks the relationship between each variable and the like inside and outside the loop. Based on the result, the parallelism analysis unit 2
Step 6 determines whether parallel execution of this DO loop is possible. If parallel execution is possible, the parallel intermediate code generation unit 27 generates intermediate code for generating an object program obtained by dividing the rotation of the DO loop into three.

【0018】このプログラムでは,変数Tには,DOル
ープの中で無条件に値の代入が行われている。この場合
には,変数Tの取るべき値は,ループの最終回転時に代
入される値であることは明らかである。そこで,各計算
機に割り当てる並列実行部分をあらかじめ固定的に分割
しておき,ループの最終回転を受け持つ計算機では,オ
リジナル変数Tの領域を使用する。これにより,容易に
変数Tの最終値を保証することが可能になる。
In this program, a value is unconditionally substituted for a variable T in a DO loop. In this case, it is clear that the value to be taken for the variable T is the value substituted at the time of the final rotation of the loop. Therefore, the parallel execution part assigned to each computer is fixedly divided in advance, and the computer responsible for the final rotation of the loop uses the area of the original variable T. This makes it possible to easily guarantee the final value of the variable T.

【0019】このことから,並列中間コード生成部27
では,図3の(ロ)に示すように, (a) DOループの回転の最初の1/3, (b) DOループの回転の中間の1/3, (c) DOループの回転の最後の1/3, というように分割する。
From this, the parallel intermediate code generation unit 27
Then, as shown in (b) of FIG. 3, (a) the first 3 , of the rotation of the DO loop, (b) the middle 3 , of the rotation of the DO loop, and (c) the last of the rotation of the DO loop. 1/3 of.

【0020】そして,最終回転を含まない(a) および
(b) では,それぞれ変数Tの複製領域T1,T2を使用
し,最終回転を含む(c) では,オリジナル変数Tの領域
をそのまま使用する。なお,図3の(ロ)では,説明の
簡単化のため,実行イメージをソースプログラムの形式
で表しているが,プログラムの実行時には,計算機の扱
う機械語コードに展開された内容になっている。
Then, the final rotation is not included (a) and
In (b), the duplicate areas T1 and T2 of the variable T are used, and in (c) including the final rotation, the area of the original variable T is used as it is. In FIG. 3B, the execution image is represented in the form of a source program for the sake of simplicity, but when the program is executed, the contents are expanded into machine language codes handled by the computer. .

【0021】このコードを複数の計算機に分配して実行
させる場合,例えば周知のUNIXシステム(米国AT
&T社ベル研究所が開発したオペレーティング・システ
ム)における“fork”などのプロセス制御機能を利
用すればよい。他にも分配の方法は種々あるが,本発明
の要旨には関係しないため,説明を省略する。
When this code is distributed to a plurality of computers and executed, for example, a well-known UNIX system (US AT)
A process control function such as “fork” in an operating system developed by & T Company Bell Laboratories may be used. There are various other distribution methods, but they are not related to the gist of the present invention, and thus the description is omitted.

【0022】図3の(ロ)に示す(a) 〜(c) の実行イメ
ージを実行した後,それの処理結果を“join”など
の制御機能によってまとめれば,それ以降に変数Tの参
照があっても,ループの最終回転で代入された正しい変
数値を使用することができることになる。
After executing the execution images (a) to (c) shown in (b) of FIG. 3, if the processing results are summarized by a control function such as “join”, the variable T can be referred to thereafter. Even so, the correct variable value substituted in the final rotation of the loop can be used.

【0023】特に,FORTRANのDOループでは,
ループ回転数が実行直前に計算されるので,並列実行の
際の回転順序の組み合わせを固定的にすることが可能で
あり,この方法が有効である。ループの最初部分・中間
部分・最終部分というように3分割する代わりに,ルー
プ変数iの値を3で割ったときに1余る場合,ループ変
数iの値を3で割ったときに2余る場合,ループ変数i
の値が3で割り切れる場合というように,ループの回転
を分割し,それぞれの計算機に受け持たせるようにして
もよい。ただし,このように分割する場合には,最終回
転を受け持つ計算機の判定処理が複雑になることがあ
る。
In particular, in the FORTRAN DO loop,
Since the number of rotations of the loop is calculated immediately before execution, it is possible to fix the combination of rotation orders in parallel execution, and this method is effective. When the value of the loop variable i is divided by 3 and the remainder is 1 when the value of the loop variable i is divided by 3 instead of dividing into 3 such as the first part, the middle part, and the last part of the loop. , Loop variable i
The rotation of the loop may be divided and assigned to each computer, for example, when the value of is divisible by 3. However, in the case of such division, the determination process of the computer responsible for the final rotation may be complicated.

【0024】図3に示す例では,ループの回転を3分割
しているが,もちろん並列に実行できる計算機数に応じ
た分割が可能であり,他の分割数でも同様に本発明を実
施することができる。
In the example shown in FIG. 3, although the rotation of the loop is divided into three, it is needless to say that the division can be performed according to the number of computers that can be executed in parallel. Can be.

【0025】[0025]

【発明の効果】汎用プログラムを並列実行する場合に,
最も容易に並列化できるのは,ループの各回転の並列実
行である。ループ内で使用されている変数がループ外で
も参照されているように見えるプログラムは数多くあ
り,その場合,従来技術では,自動並列化が抑止される
か,無駄な同期処理などを行う必要があり,実行性能が
低下していた。本発明によれば,ループ内に閉じて変数
が使用されている場合と全く同等の実行時間で並列実行
が可能になるため,実行性能が向上する。
When a general-purpose program is executed in parallel,
The easiest parallelization is the parallel execution of each rotation of the loop. There are many programs in which variables used in a loop appear to be referenced outside the loop. In such a case, in the related art, it is necessary to suppress automatic parallelization or perform unnecessary synchronization processing. , Execution performance was reduced. According to the present invention, parallel execution can be performed in the same execution time as when a variable is used in a closed loop, so that execution performance is improved.

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

【図1】本発明の原理説明図である。FIG. 1 is a diagram illustrating the principle of the present invention.

【図2】本発明を実施するための言語処理システムの例
を示す図である。
FIG. 2 is a diagram showing an example of a language processing system for implementing the present invention.

【図3】本発明の実施例を示す図である。FIG. 3 is a diagram showing an embodiment of the present invention.

【図4】従来技術の説明図である。FIG. 4 is an explanatory diagram of a conventional technique.

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

10 プログラム 11 コンパイラ 12 マルチプロセッサ 13−1〜13−N 計算機 14−1〜14−N DOループ実行イメージ 10 Program 11 Compiler 12 Multiprocessor 13-1 to 13-N Computer 14-1 to 14-N DO Loop Execution Image

フロントページの続き (72)発明者 野崎 英樹 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 平2−132525(JP,A) 特開 平1−280862(JP,A) 特開 平3−91036(JP,A) 特開 平4−169934(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/45 G06F 15/16 Continuation of the front page (72) Inventor Hideki Nozaki 1015 Uedanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture Inside Fujitsu Limited (56) References JP-A-2-132525 (JP, A) JP-A-1-280862 (JP, A) JP-A-3-91036 (JP, A) JP-A-4-169934 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 9/45 G06F 15/16

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 複数の計算機(13-1 〜13-N) により,プ
ログラム(10)中のループをある回転単位で分割して並列
に実行するプログラムのループ並列実行処理方法におい
て, ループ内で値が代入される変数(A) に対して,ループの
最終回転を司る計算機以外の計算機では,各計算機ごと
にその変数の複製領域(A1,A2, …) を使用し,ループの
最終回転を司る計算機では,オリジナルの変数(A) を
の変数領域のまま使用することにより, ループ外での変数の値を保証することを特徴とするプロ
グラムのループ並列実行処理方法。
1. A loop parallel execution processing method for a program in which a plurality of computers (13-1 to 13-N) divide a loop in a program (10) by a certain rotation unit and execute the program in parallel. For the variable (A) to which the value is substituted, computers other than the computer that controls the final rotation of the loop use the variable replication area (A1, A2,…) for each computer, and determine the final rotation of the loop. the computer that controls, based on the original variable (a)
A loop parallel execution method for a program, wherein the value of a variable outside a loop is guaranteed by using the same variable area .
JP05156191A 1991-03-15 1991-03-15 Method of parallel execution of program loop Expired - Fee Related JP3269639B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05156191A JP3269639B2 (en) 1991-03-15 1991-03-15 Method of parallel execution of program loop

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP05156191A JP3269639B2 (en) 1991-03-15 1991-03-15 Method of parallel execution of program loop

Publications (2)

Publication Number Publication Date
JPH04286031A JPH04286031A (en) 1992-10-12
JP3269639B2 true JP3269639B2 (en) 2002-03-25

Family

ID=12890398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05156191A Expired - Fee Related JP3269639B2 (en) 1991-03-15 1991-03-15 Method of parallel execution of program loop

Country Status (1)

Country Link
JP (1) JP3269639B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8850171B2 (en) 2010-06-14 2014-09-30 Panasonic Corporation Multithreaded parallel execution device, broadcast stream playback device, broadcast stream storage device, stored stream playback device, stored stream re-encoding device, integrated circuit, multithreaded parallel execution method, and multithreaded compiler

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2806262B2 (en) * 1994-06-01 1998-09-30 日本電気株式会社 Process allocation method for multiprocessor system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8850171B2 (en) 2010-06-14 2014-09-30 Panasonic Corporation Multithreaded parallel execution device, broadcast stream playback device, broadcast stream storage device, stored stream playback device, stored stream re-encoding device, integrated circuit, multithreaded parallel execution method, and multithreaded compiler

Also Published As

Publication number Publication date
JPH04286031A (en) 1992-10-12

Similar Documents

Publication Publication Date Title
EP0735468B1 (en) Method and apparatus for an optimizing compiler
US4833606A (en) Compiling method for vectorizing multiple do-loops in source program
US5230053A (en) Processor scheduling method for iterative loops
US20040003381A1 (en) Compiler program and compilation processing method
JP2921190B2 (en) Parallel execution method
US20070277166A1 (en) Method and apparatus for performing versioning for loop, method and apparatus for collecting array range check information in basic blocks, method for modifying array range check information, method for optimizing array range checks, method for generating codes for array range checks, method and apparatus for eliminating redundant array range checks, method for selecting array range checks, method for modifying array range checks, method for collecting array range checks, and method for determining handling of array range checks
JPH06324881A (en) Compiler device with memory data overlap judgment function
US6175935B1 (en) Software debugging method and recording medium to which debugging program has been recorded
JP3269639B2 (en) Method of parallel execution of program loop
CN112631925A (en) Method for detecting single variable atom violation defect
KR101559651B1 (en) Method and apparatus of dynamic analysis
JP3196625B2 (en) Parallel compilation method
JP6810380B2 (en) Source program conversion system, source program conversion method, and source program conversion program
JP2002312167A (en) Program for causing computer to calculate variable value, compilation program, variable value determination method, and program generation method
JPH09282173A (en) Static analysis method of program
JP4819442B2 (en) Compilation processing method, compilation processing apparatus, and compilation processing program
Emelyanov et al. Factorization of Boolean polynomials: Parallel algorithms and experimental evaluation
JP2738360B2 (en) Multitask program debugging method and debugging system
JP3263999B2 (en) Program content analyzer
Singh et al. A path coverage-based reduction of test cases and execution time using parallel execution
van Gemund Compile-time performance prediction with PAMELA
JPH0573607A (en) Vector instruction generation processing method
JPH054712B2 (en)
KR20220014230A (en) AI-based workflow process systems and devices
JPH0644270B2 (en) Vector processor control processing method

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20011225

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080118

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090118

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100118

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees