JPH05341966A - Optimizing system for built-in m-system random number generating function - Google Patents

Optimizing system for built-in m-system random number generating function

Info

Publication number
JPH05341966A
JPH05341966A JP4177632A JP17763292A JPH05341966A JP H05341966 A JPH05341966 A JP H05341966A JP 4177632 A JP4177632 A JP 4177632A JP 17763292 A JP17763292 A JP 17763292A JP H05341966 A JPH05341966 A JP H05341966A
Authority
JP
Japan
Prior art keywords
text
innermost loop
random number
function
detecting means
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
JP4177632A
Other languages
Japanese (ja)
Other versions
JP2842057B2 (en
Inventor
Yoshinori Tsuda
義典 津田
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 JP4177632A priority Critical patent/JP2842057B2/en
Publication of JPH05341966A publication Critical patent/JPH05341966A/en
Application granted granted Critical
Publication of JP2842057B2 publication Critical patent/JP2842057B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To accelerate the generating processing speed of an M-system random number and the execution speed of a generated object program in an optimizing system for the compiler of a computer system provided with a vector computing function. CONSTITUTION:A built-in random number generating function detecting means 6 detects an intermediate text in accordance with the innermost side loop including a built-in M-system random number generating function, and a deformable text detecting means 7 decides whether or not the intermediate text detected by the built-in random number generating function detecting means 6 can be deformed. A text deformation means 9 generates the M-system random number of the intermediate text in accordance with the innermost side loop whose generating number is decided statically just before the innermost side loop by a vector arithmetic operation comprehensively, and performs deformation in such a manner that the processing of the innermost side loop is performed by using a generated M-system random number.

Description

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

【0001】[0001]

【産業上の利用分野】本発明はベクトル演算機能を有す
る電子計算機システムに於けるコンパイラの最適化技術
に関し、特に、最内側ループ中に存在するM系列乱数発
生組み込み関数の最適化を行なうM系列乱数発生組み込
み関数の最適化方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an optimization technique for a compiler in an electronic computer system having a vector operation function, and more particularly to an M sequence for optimizing an M sequence random number generating built-in function existing in an innermost loop. It relates to an optimization method of a random number generation built-in function.

【0002】[0002]

【従来の技術】従来より、ベクトル演算機能を有する電
子計算機システムのコンパイラに於いては、最内側ルー
プ中のM系列乱数発生組み込み関数をベクトル化すると
いうことが行なわれているが、従来のコンパイラは最内
側ループ内に於いてM系列乱数発生組み込み関数をベク
トル化しているため、最内側ループに存在するM系列乱
数発生組み込み関数の数が1個の場合にしかベクトル化
を行なうことができなかった。
2. Description of the Related Art Conventionally, in a compiler of an electronic computer system having a vector operation function, the M-sequence random number generating built-in function in the innermost loop has been vectorized. Since the M-series random number generating built-in function is vectorized in the innermost loop, vectorization can be performed only when the number of M-series random number generating built-in functions existing in the innermost loop is one. It was

【0003】例えば、図3に示すように、M系列乱数発
生組み込み関数RANDM1( )が2個存在する最内側
ループの場合、A(1),A(2),…,A(100
0)の値はM系列乱数発生組み込み関数RANDM1
( )が第1番目,第3番目,…,第1999番目に発生
した乱数の値によって決まり、C(1),C(2),
…,C(1000)の値は第2番目,第4番目,…,第
2000番目に発生した乱数の値によって決まる。しか
し、最内側ループに於いてM系列乱数発生組み込み関数
RANDM1( )をベクトル化すると、A(1),A
(2),…,A(1000)の値はM系列乱数発生組み
込み関数RANDM1( )が第1番目,第2番目,…,
第1000番目に発生した乱数の値によって決まり、C
(1),C(2),…,C(1000)の値は第100
1番目,第1002番目,…,第2000番目に発生し
た乱数の値によって決まってしまい、ベクトル化した場
合としない場合とで処理結果が異なるものになってしま
う。
For example, as shown in FIG. 3, in the case of an innermost loop having two M-sequence random number generation built-in functions RANDM1 (), A (1), A (2), ..., A (100
The value of 0) is the M-sequence random number generation built-in function RANDM1
() Is determined by the values of the first, third, ..., 1999th generated random numbers, and C (1), C (2),
The value of C (1000) is determined by the value of the second, fourth, ..., 2000th generated random number. However, if the M-sequence random number generation built-in function RANDM1 () is vectorized in the innermost loop, A (1), A
The values of (2), ..., A (1000) are the first, second, ..., Of the M-sequence random number generation built-in function RANDM1 ().
Determined by the value of the 1000th generated random number, C
The values of (1), C (2), ..., C (1000) are the 100th.
It is determined by the value of the first, 1002, ..., 2000th generated random numbers, and the processing result differs depending on whether the vectorization is performed or not.

【0004】[0004]

【発明が解決しようとする課題】上述したように、従来
のコンパイラは最内側ループ内に存在するM系列乱数発
生組み込み関数の個数が1個の場合にしかベクトル化を
行なうことができなかったため、最内側ループにM系列
乱数発生組み込み関数が複数存在する場合、M系列乱数
の発生処理に多くの時間を要するという問題があった。
As described above, the conventional compiler can perform vectorization only when the number of M-sequence random number generating built-in functions existing in the innermost loop is one. When there are a plurality of M-sequence random number generation built-in functions in the innermost loop, there is a problem that it takes a lot of time to generate the M-sequence random number.

【0005】また、従来のコンパイラによって生成され
た目的プログラムの実行時、複数のM系列乱数発生組み
込み関数を含む最内側ループ内に於いてはM系列乱数が
スカラー演算によって発生させられるため、目的プログ
ラムの実行速度が遅くなるという問題もあった。
Further, when the target program generated by the conventional compiler is executed, the M-sequence random number is generated by the scalar operation in the innermost loop including a plurality of M-sequence random number generating built-in functions. There was also a problem that the execution speed of was slow.

【0006】本発明の目的は、最内側ループに複数のM
系列乱数発生組み込み関数が存在する場合に於いても、
高速に乱数を発生させることができ、且つ、目的プログ
ラムの実行速度を高速化することができる乱数発生組み
込み関数の最適化方式を提供することにある。
An object of the present invention is to provide a plurality of M in the innermost loop.
Even if there is a built-in random number generation function,
An object of the present invention is to provide an optimization method of a random number generation built-in function that can generate random numbers at high speed and can increase the execution speed of an object program.

【0007】[0007]

【課題を解決するための手段】本発明は上記目的を達成
するため、(A)ベクトル演算機能を有する電子計算機
システムのコンパイラに於いて、ソースプログラムから
中間テキスト群を生成するテキスト生成手段と、該テキ
スト生成手段が生成した中間テキスト群の中から最内側
ループに対応する中間テキストを検出する最内側ループ
テキスト検出手段と、該最内側ループテキスト検出手段
が検出した最内側ループに対応する中間テキストにM系
列乱数発生組み込み関数が含まれているか否かを判定す
る乱数発生組み込み関数検出手段と、該乱数発生組み込
み関数検出手段でM系列乱数発生組み込み関数が含まれ
ていると判定された最内側ループに対応する中間テキス
トを、最内側ループの直前に於いてM系列乱数をベクト
ル演算によって一括して発生するように変形することが
可能か否かを判定する変形可能テキスト検出手段と、該
変形可能テキスト検出手段で変形可能と判定された中間
テキストに対応する最内側ループの繰り返し数が静的に
定まるものである場合、前記最内側ループに於けるM系
列乱数の発生個数を求め、該発生個数が中間テキストの
変形を行なわない方が処理速度が速くなる個数の最大値
よりも大きいことにより、前記最内側ループに対応する
中間テキストを、最内側ループの直前に於いてM系列乱
数をベクトル演算によって一括して発生させ、最内側ル
ープ内の処理を前記最内側ループの直前に於いて発生さ
せたM系列乱数を用いて行なうように変形するテキスト
変形手段と、該テキスト変形手段で変形が済んだ中間テ
キスト群を用いて目的プログラムを生成する目的プログ
ラム生成手段とを設けたものである。
In order to achieve the above object, the present invention provides (A) a text generating means for generating an intermediate text group from a source program in a compiler of an electronic computer system having a vector operation function, Innermost loop text detecting means for detecting an intermediate text corresponding to the innermost loop from the intermediate text group generated by the text generating means, and intermediate text corresponding to the innermost loop detected by the innermost loop text detecting means A random number generating built-in function detecting means for determining whether or not the M-sequence random number generating built-in function is included, and the innermost side determined by the random number generating built-in function detecting means to include the M-sequence random number generating built-in function. The intermediate text corresponding to the loop is set by vector operation of the M-sequence random number immediately before the innermost loop. The deformable text detecting means for determining whether or not it is possible to deform so as to occur, and the repeat count of the innermost loop corresponding to the intermediate text determined to be deformable by the deformable text detecting means is static. The number of occurrences of the M-series random number in the innermost loop is determined, and the number of occurrences is larger than the maximum value of the number of times that the processing speed is faster when the intermediate text is not transformed. Thus, the intermediate text corresponding to the innermost loop is generated collectively by vector operation of M-sequence random numbers immediately before the innermost loop, and the processing in the innermost loop is performed immediately before the innermost loop. A target program is created by using a text transforming means for transforming the generated M-sequence random number and an intermediate text group transformed by the text transforming means. It is provided with a the object program generating means for forming.

【0008】また、本発明は上記目的を達成するため、
(B)ベクトル演算機能を有する電子計算機システムの
コンパイラに於いて、ソースプログラムから中間テキス
ト群を生成するテキスト生成手段と、該テキスト生成手
段が生成した中間テキスト群の中から最内側ループに対
応する中間テキストを検出する最内側ループテキスト検
出手段と、該最内側ループテキスト検出手段が検出した
最内側ループに対応する中間テキストにM系列乱数発生
組み込み関数が含まれているか否かを判定する乱数発生
組み込み関数検出手段と、該乱数発生組み込み関数検出
手段でM系列乱数発生組み込み関数が含まれていると判
定された最内側ループに対応する中間テキストを、最内
側ループの直前に於いてM系列乱数をベクトル演算によ
って一括して発生するように変形することが可能か否か
を判定する変形可能テキスト検出手段と、該変形可能テ
キスト検出手段で変形可能と判定された中間テキストに
対応する最内側ループの繰り返し数がプログラムの実行
時に定まるものである場合、前記最内側ループに対応す
る中間テキストを、プログラムの実行時に定まるM系列
乱数の発生個数が中間テキストの変形を行なわない方が
処理速度が速くなる個数の最大値よりも大きければ、最
内側ループの直前に於いてM系列乱数をベクトル演算に
よって一括して発生させた後、最内側ループ内の処理を
前記最内側ループの直前に於いて発生させたM系列乱数
を用いて行ない、プログラムの実行時に定まるM系列乱
数の発生個数が中間テキストの変形を行なわない方が処
理速度が速くなる個数の最大値以下であれば、元のまま
の処理を行なうように変形するテキスト変形手段と、該
テキスト変形手段で変形が済んだ中間テキスト群を用い
て目的プログラムを生成する目的プログラム生成手段と
を設けたものである。
Further, in order to achieve the above object, the present invention provides:
(B) In a compiler of an electronic computer system having a vector operation function, it corresponds to a text generating means for generating an intermediate text group from a source program and an innermost loop from the intermediate text group generated by the text generating means. Innermost loop text detecting means for detecting intermediate text, and random number generation for determining whether or not the intermediate text corresponding to the innermost loop detected by the innermost loop text detecting means includes an M-sequence random number generating built-in function The built-in function detecting means and the intermediate text corresponding to the innermost loop determined to include the M-series random number generating built-in function by the random number generating built-in function detecting means are M-series random numbers immediately before the innermost loop. Transformable to determine whether or not it can be transformed by batch operation by vector operation When the number of iterations of the innermost loop corresponding to the intermediate text determined to be deformable by the text detecting means and the deformable text detecting means is determined at the time of execution of the program, the intermediate text corresponding to the innermost loop is set. If the number of generated M-series random numbers determined when the program is executed is greater than the maximum value of the number of times that processing speed is faster if the intermediate text is not transformed, vector calculation of the M-series random numbers is performed immediately before the innermost loop. , And then the processing in the innermost loop is performed using the M-series random number generated immediately before the innermost loop, and the number of generated M-series random numbers determined when the program is executed is the intermediate text. If the number is less than the maximum value, the processing speed will be faster if the transformation is not performed. And preparative deforming means is obtained by providing the object program generating means for generating a target program using an intermediate text group having undergone deformation in the text deforming means.

【0009】[0009]

【作用】(A)の構成に於いては、テキスト生成手段に
よってソースプログラムから中間テキスト群が生成さ
れ、最内側ループテキスト検出手段によって最内側ルー
プに対応する中間テキストが検出される。
In the configuration (A), the text generating means generates the intermediate text group from the source program, and the innermost loop text detecting means detects the intermediate text corresponding to the innermost loop.

【0010】その後、乱数発生組み込み関数検出手段に
よってM系列乱数発生組み込み関数を含む最内側ループ
が検出され、変形可能テキスト検出手段によってM系列
乱数発生組み込み関数を含む最内側ループが変形可能か
否かが判定される。
Thereafter, the innermost loop including the M-series random number generating built-in function is detected by the random number generating built-in function detecting means, and whether the innermost loop including the M-series random number generating built-in function is deformable by the deformable text detecting means. Is determined.

【0011】変形可能と判定された最内側ループの繰り
返し回数が静的に定まり、且つ最内側ループ内で発生す
るM系列乱数の個数が中間テキストの変形を行なわない
方が処理速度が速くなる個数の最大値よりも多い場合、
テキスト変形手段により、上記最内側ループに対応する
中間テキストが、最内側ループの直前に於いてM系列乱
数をベクトル演算によって一括して発生させ、最内側ル
ープ内の処理をその直前に於いて発生させたM系列乱数
を用いて行なうように変形させられる。
The number of iterations of the innermost loop determined to be deformable is statically determined, and the number of M-series random numbers generated in the innermost loop is higher than the number of times when the intermediate text is not deformed. Is greater than the maximum value of
By the text transforming means, the intermediate text corresponding to the innermost loop causes the M-sequence random numbers to be collectively generated by vector operation immediately before the innermost loop, and the processing in the innermost loop occurs immediately before that. It is transformed so as to be performed using the generated M-sequence random number.

【0012】そして、目的プログラム生成手段が変形の
済んだ中間テキスト群を用いて目的プログラムを生成す
る。
Then, the target program generating means generates the target program by using the transformed intermediate text group.

【0013】(B)の構成に於いては、変形可能テキス
ト検出手段によって変形可能と判定された最内側ループ
の繰り返し回数がプログラムの実行時に定まるものであ
る場合、テキスト変形手段により、上記最内側ループに
対応する中間テキストが、プログラムの実行時に定まる
M系列乱数の発生個数が中間テキストの変形を行なわな
い方が処理速度が速くなる個数の最大値よりも大きけれ
ば、最内側ループの直前に於いてM系列乱数をベクトル
演算によって一括して発生させた後、最内側ループ内の
処理を前記最内側ループの直前に於いて発生させたM系
列乱数を用いて行ない、プログラムの実行時に定まるM
系列乱数の発生個数が中間テキストの変形を行なわない
方が処理速度が速くなる個数の最大値以下であれば、元
のままの処理を行なうように変形される。
In the configuration of (B), when the number of repetitions of the innermost loop determined to be deformable by the deformable text detecting means is determined at the time of execution of the program, the text deforming means causes the innermost loop. In the intermediate text corresponding to the loop, if the number of M-series random numbers generated at the time of execution of the program is greater than the maximum value of the processing speed that is faster if the intermediate text is not transformed, then immediately before the innermost loop. Then, the M-series random numbers are collectively generated by a vector operation, and then the processing in the innermost loop is performed using the M-series random number generated immediately before the innermost loop to determine the M
If the number of generated sequence random numbers is less than or equal to the maximum value of the number of times that the processing speed is faster when the intermediate text is not transformed, the processing is performed as it is.

【0014】[0014]

【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
Embodiments of the present invention will now be described in detail with reference to the drawings.

【0015】図1は本発明の実施例のブロック図であ
り、ソースプログラム1をコンパイルして目的プログラ
ム12を生成するコンパイラ2は、テキスト生成手段3
と、最内側ループテキスト検出手段5と、乱数発生組み
込み関数検出手段6と、変形可能テキスト検出手段7
と、ループ繰り返し回数判定検出手段8と、第1,第2
のテキスト変形手段9,10と、目的プログラム生成手
段11とから構成されている。
FIG. 1 is a block diagram of an embodiment of the present invention. A compiler 2 for compiling a source program 1 to generate an object program 12 is a text generating means 3.
, Innermost loop text detecting means 5, random number generating built-in function detecting means 6, and deformable text detecting means 7
A loop repetition number determination detection means 8, first and second
It is composed of the text transforming means 9 and 10 and the object program generating means 11.

【0016】テキスト生成手段3はソースプログラム1
を構文解析して中間テキスト群4を生成する機能を有す
る。
The text generation means 3 is the source program 1
Has a function of parsing and generating the intermediate text group 4.

【0017】最内側ループテキスト検出手段5は中間テ
キスト群4の中から最内側ループに対応する中間テキス
トを捜し出す機能を有する。
The innermost loop text detecting means 5 has a function of searching the intermediate text group 4 for an intermediate text corresponding to the innermost loop.

【0018】乱数発生組み込み関数検出手段6は最内側
ループテキスト検出手段5が検出した最内側ループに対
応する中間テキストに基づいて最内側ループ中にM系列
乱数発生組み込み関数が存在するか否かを判定する機能
を有する。
Based on the intermediate text corresponding to the innermost loop detected by the innermost loop text detecting means 5, the random number generating built-in function detecting means 6 determines whether or not the M-sequence random number generating built-in function exists in the innermost loop. It has a function to judge.

【0019】変形可能テキスト検出手段7は乱数発生組
み込み関数検出手段6によってM系列乱数発生組み込み
関数が存在すると判定された最内側ループ対応の中間テ
キストが、第1,第2のテキスト変形手段9,10によ
る変形が可能か否かを判定する機能を有する。
The deformable text detecting means 7 detects the presence of the M-sequence random number generating built-in function by the random number generating built-in function detecting means 6, and the intermediate text corresponding to the innermost loop is the first and second text changing means 9, It has a function of determining whether or not the transformation by 10 is possible.

【0020】ループ繰り返し回数判定検出手段8は変形
可能テキスト検出手段7で変形可能であると判定された
最内側ループの繰り返し回数が静的に定まるものなの
か、プログラムの実行時に定まるものなのかを判定す
る。
The loop repeat count determination detecting means 8 determines whether the repeat count of the innermost loop determined to be deformable by the deformable text detecting means 7 is statically determined or is determined when the program is executed. judge.

【0021】第1のテキスト変形手段9はループ繰り返
し回数判定検出手段8で繰り返し回数が静的に定まると
判定された最内側ループ中でM系列乱数発生組み込み関
数によって発生させられるM系列乱数の個数Nを求める
機能と、上記個数Nが予め定められている閾値S(最内
側ループの直前でM系列乱数をベクトル演算によって一
括して発生させるように変形するよりも、変形しない方
が乱数発生処理時間が短くなる乱数発生個数の最大値で
あり、実測により求められる値)よりも大きいか否かを
判定する機能と、個数Nの方が閾値Sよりも大きい場
合、上記最内側ループ対応の中間テキストを最内側ルー
プの直前でベクトル演算により一括して発生したM系列
乱数を用いて最内側ループ内の処理を行なうように変形
する機能を有する。
The first text transforming means 9 is the number of M-series random numbers generated by the M-series random number generating built-in function in the innermost loop in which the loop repetition count judgment detecting means 8 judges that the repetition count is statically determined. A function of obtaining N and a threshold value S in which the number N is predetermined (immediately before the innermost loop, a random number generation process is performed rather than deformed so that the M-sequence random numbers are collectively generated by a vector operation. It is a maximum value of the number of generated random numbers that shortens the time, and a function of determining whether it is larger than a value obtained by actual measurement, and if the number N is larger than a threshold value S, an intermediate value corresponding to the innermost loop It has a function of transforming the text so as to perform the process in the innermost loop by using the M-series random number generated collectively by the vector operation immediately before the innermost loop.

【0022】第2のテキスト変形手段10はループ繰り
返し回数判定検出手段8で繰り返し回数が静的に定まら
ないと判定された最内側ループ対応の中間テキストを、
プログラムの実行時に定まるM系列乱数の発生個数N’
が上記閾値Sよりも大きい場合は最内側ループの直前で
ベクトル演算により一括して発生したM系列乱数を用い
て最内側ループ内の処理を行ない、個数N’が閾値S以
下の場合は元のままの形で最内側ループ内の処理を行な
うように変形する機能を有する。
The second text transforming means 10 outputs the intermediate text corresponding to the innermost loop, which is determined by the loop repeat count determination detecting means 8 as not having a static repeat count.
Number of generated M-series random numbers N'determined when the program is executed
Is larger than the threshold value S, the processing in the innermost loop is performed by using the M-series random number generated collectively by the vector operation immediately before the innermost loop. If the number N ′ is equal to or smaller than the threshold value S, the original It has the function of transforming the processing in the innermost loop as it is.

【0023】目的プログラム生成手段11は中間テキス
ト群4に基づいて目的プログラム12を生成する機能を
有する。
The target program generating means 11 has a function of generating the target program 12 based on the intermediate text group 4.

【0024】図2はコンパイラ2の処理例を示すフロー
チャートであり、以下各図を参照して本実施例の動作を
説明する。
FIG. 2 is a flowchart showing a processing example of the compiler 2. The operation of this embodiment will be described below with reference to the drawings.

【0025】ステップaを参照すると、コンパイラ2の
テキスト生成手段3がソースプログラム1を構文解析
し、中間テキスト群4を生成する。
Referring to step a, the text generation means 3 of the compiler 2 parses the source program 1 and generates an intermediate text group 4.

【0026】ステップb〜eを参照すると、最内側ルー
プテキスト検出手段5は中間テキスト群4中の中間テキ
ストを生成された順に調べ、最内側ループに対応した中
間テキストを検出することにより、制御を乱数発生組み
込み関数検出手段6に渡す。
Referring to steps b to e, the innermost loop text detecting means 5 checks the intermediate texts in the intermediate text group 4 in the order in which they were generated, and detects the intermediate texts corresponding to the innermost loop, thereby performing control. It is passed to the random number generation built-in function detecting means 6.

【0027】ステップf,gを参照すると、制御を渡さ
れた乱数発生組み込み関数検出手段6は最内側ループテ
キスト検出手段5が検出した最内側ループ対応の中間テ
キストに基づいて、上記最内側ループにM系列乱数発生
組み込み関数が含まれているか否かを判断し、含まれて
いない場合は最内側ループテキスト検出手段5に制御を
戻し、含まれている場合は変形可能テキスト検出手段7
に制御を渡す。
Referring to steps f and g, the random number generating built-in function detecting means 6 to which the control is passed is set to the innermost loop based on the intermediate text corresponding to the innermost loop detected by the innermost loop text detecting means 5. It is determined whether or not the M-sequence random number generation built-in function is included, and if it is not included, the control is returned to the innermost loop text detecting means 5, and if it is included, the deformable text detecting means 7 is included.
Pass control to.

【0028】最内側ループテキスト検出手段5は制御を
戻されると、前述したステップb〜eの処理を行なう。
When the innermost loop text detecting means 5 is returned to the control, it carries out the above-mentioned steps b to e.

【0029】ステップh,iを参照すると、制御を渡さ
れた変形可能テキスト検出手段7は乱数発生組み込み関
数検出手段6でM系列乱数発生組み込み関数を含むと判
断された最内側ループが、第1,第2のテキスト変形手
段9,10による変形が可能か否かを判定し、変形不可
能な場合は制御を最内側ループテキスト検出手段5に戻
し、変形可能な場合は制御をループ繰り返し回数判定検
出手段8に渡す。
Referring to steps h and i, the deformable text detecting means 7 to which the control is passed is the first innermost loop which is judged by the random number generating built-in function detecting means 6 to include the M-sequence random number generating built-in function. , It is determined whether or not the transformation by the second text transforming means 9 and 10 is possible. If it is not transformable, the control is returned to the innermost loop text detecting means 5, and if it is transformable, the control is determined by the number of loop iterations. It is passed to the detection means 8.

【0030】ここで、変形可能テキスト検出手段7は、
条件分岐命令を含んでいる最内側ループや、他の部分に
存在する分岐命令の分岐先となる最内側ループ等のよう
に、繰り返し回数がDO文によって指定された回数にな
らない惧れのある最内側ループを変形不可能な最内側ル
ープと判定する。
Here, the transformable text detecting means 7 is
There is a fear that the number of iterations may not reach the number specified by the DO statement, such as the innermost loop that contains a conditional branch instruction or the innermost loop that is the branch destination of a branch instruction that exists in another part. The inner loop is determined to be the undeformable innermost loop.

【0031】即ち、第1,第2のテキスト変形手段9,
10では最内側ループ対応の中間テキストを、最内側ル
ープの直前でベクトル演算により一括して発生したM系
列乱数を用いて最内側ループ内の処理を行なうように変
形するものであるので、もし、繰り返し回数がDO文に
よって指定された回数にならない最内側ループ対応の中
間テキストに対して上述した変形を行なうと、変形前の
処理と変形後の処理とが異なる意味を持つものになって
しまうからである。
That is, the first and second text transforming means 9,
In 10, the intermediate text corresponding to the innermost loop is transformed so as to be processed in the innermost loop by using the M-series random number generated collectively by the vector operation immediately before the innermost loop. If the above-mentioned transformation is performed on the intermediate text corresponding to the innermost loop whose number of repetitions does not reach the number designated by the DO statement, the pre-transformation processing and the post-transformation processing have different meanings. Is.

【0032】ステップj,kを参照すると、制御を渡さ
れたループ繰り返し回数判定検出手段8は変形可能テキ
スト検出手段7で変形可能と判定された最内側ループの
繰り返し回数が静的に定まるか否かを判定し、静的に定
まると判定した場合は第1のテキスト変形手段9に制御
を渡し、静的に定まらないと判定した場合、即ちプログ
ラム実行時に定まると判断した場合は第2のテキスト変
形手段10に制御を渡す。
Referring to steps j and k, the loop repeat count judgment detecting means 8 to which the control is passed determines whether or not the repeat count of the innermost loop judged to be deformable by the deformable text detecting means 7 is statically determined. If it is determined that it is statically determined, control is passed to the first text transformation means 9, and if it is determined that it is not statically determined, that is, if it is determined that it is determined when the program is executed, the second text Control is passed to the deforming means 10.

【0033】ステップlを参照すると、制御を渡された
第1のテキスト変形手段9は、先ず、ループ繰り返し回
数判定検出手段8で繰り返し回数が静的に定まると判定
された最内側ループ内に於いてM系列乱数発生組み込み
関数によって発生させられるM系列乱数の個数Nを求め
る。
Referring to step l, the first text transforming means 9 to which the control is passed is first in the innermost loop where the loop iteration number decision detecting means 8 decides that the iteration number is statically determined. Then, the number N of M-series random numbers generated by the M-series random number generation built-in function is obtained.

【0034】次いで、第1のテキスト変形手段9は、上
記個数Nと予め定められている閾値Sとを比較する。そ
して、個数Nの方が閾値Sよりも大きい場合は、上記最
内側ループ対応の中間テキストを、最内側ループの直前
で指定された個数のM系列乱数をベクトル演算によって
一括して発生し、最内側ループ内の処理を上記発生した
M系列乱数を用いて行なうように変形した後、制御を最
内側ループテキスト検出手段5に戻し、個数Nが閾値S
以下の場合は、中間テキストの変形は行なわずに、制御
を最内側ループテキスト検出手段5に戻す。
Next, the first text transforming means 9 compares the number N with a predetermined threshold value S. When the number N is larger than the threshold value S, the intermediate text corresponding to the innermost loop is collectively generated by vector operation for the number of M-sequence random numbers specified immediately before the innermost loop, After the processing in the inner loop is modified so as to be performed by using the generated M-sequence random number, the control is returned to the innermost loop text detecting means 5, and the number N is the threshold value S.
In the following cases, control is returned to the innermost loop text detecting means 5 without performing transformation of the intermediate text.

【0035】今、例えば、変形対象にしている最内側ル
ープ部分の中間テキストが図3に示すソースプログラム
に相当するものであるとすると、第1のテキスト変形手
段9は変形対象の中間テキストを例えば図4に示すソー
スプログラムに相当する中間テキストに変形する。
Now, for example, if the intermediate text of the innermost loop portion to be transformed corresponds to the source program shown in FIG. 3, the first text transforming means 9 transforms the intermediate text to be transformed into, for example, It is transformed into an intermediate text corresponding to the source program shown in FIG.

【0036】図4のCALL RAMDM2(TEM
P,2000)は実引数の第2パラメータによって指定
された個数(2000個)のM系列乱数をベクトル演算
によって一括して発生し、発生したM系列乱数を第1パ
ラメータによって指定された要素数が2×1000の2
次元配列TEMPに設定する組み込みサブルーチンRA
MDM2を呼び出すCALL文である。ここで、実引数
の第1パラメータに要素数が2×1000の2次元配列
TEMPを設定し、第2パラメータが2000個を設定
しているのは、図3の例では、DO文によって指定され
ている最内側ループの繰り返し回数が1000回、最内
側ループ中に存在するM系列乱数発生組み込み関数RA
NDM1( )の個数が2個であり、最内側ループ内で発
生されるM系列乱数の数が2000個であるからであ
る。
The CALL RAMDM2 (TEM shown in FIG.
P, 2000) collectively generates the number (2000) of M-series random numbers designated by the second parameter of the actual argument by vector operation, and the generated M-series random numbers have the number of elements designated by the first parameter. 2 x 1000 2
Built-in subroutine RA to set in the three-dimensional array TEMP
It is a CALL statement that calls MDM2. Here, the two-dimensional array TEMP having the number of elements of 2 × 1000 is set as the first parameter of the actual argument, and the second parameter is set as 2000. In the example of FIG. The innermost loop repeats 1000 times, and the M-series random number generating built-in function RA existing in the innermost loop
This is because the number of NDM1 () is 2 and the number of M-sequence random numbers generated in the innermost loop is 2000.

【0037】また、図4では図3に於ける最内側ループ
中のM系列乱数発生組み込み関数RANDM1( )の部
分が2次元配列TEMPの参照に置き換えられている。
Further, in FIG. 4, the portion of the M-sequence random number generating built-in function RANDM1 () in the innermost loop in FIG. 3 is replaced with the reference of the two-dimensional array TEMP.

【0038】即ち、図4のソースプログラムは、先ず、
最内側ループの直前に於いて2000個のM系列乱数を
ベクトル演算によって一括して発生し、次いで、発生し
た2000個のM系列乱数を2次元配列TEMPに設定
し、その後、最内側ループ内分の処理を2次元配列TE
MPを参照して行ない、A(1)〜A(1000)及び
C(1)〜C(1000)の値を求めるものである。そ
の際、A(1)〜(A(1000)の値は2次元配列T
EMP(1,1)〜TEMP(1,1000)を用いて
求め、C(1)〜C(1000)の値は2次元配列TE
MP(2,1)〜TEMP(2,1000)を用いて求
めているので、ベクトル化した場合もベクトル化しない
場合と同じ処理結果を得ることができる。
That is, the source program of FIG.
Immediately before the innermost loop, 2000 M-series random numbers are collectively generated by vector operation, then the generated 2000 M-series random numbers are set in a two-dimensional array TEMP. Processing of two-dimensional array TE
It is performed by referring to MP to obtain the values of A (1) to A (1000) and C (1) to C (1000). At that time, the values of A (1) to (A (1000) are the two-dimensional array T.
Obtained using EMP (1,1) to TEMP (1,1000), the values of C (1) to C (1000) are two-dimensional array TE.
Since it is obtained using MP (2,1) to TEMP (2,1000), it is possible to obtain the same processing result when vectorized as when not vectorized.

【0039】このように、M系列乱数をベクトル演算に
より一括して発生させることにより、M系列乱数の発生
速度を高速化することが可能になる。また、最内側ルー
プ内のM系列乱数発生組み込み関数RANDM1( )を
2次元配列TEMPの参照に置き換え、最内側ループ内
にM系列乱数発生組み込み関数RANDM1( )を用い
た処理をなくすことにより、目的プログラムの実行速度
を速くすることが可能になる。即ち、最内側ループ内の
M系列乱数発生組み込み関数RANDM1( )を配列の
参照に置き換えると、M系列乱数発生組み込み関数RA
NDM1( )を実行してM系列乱数を発生させる場合に
必要であったその時の各レジスタの値をメモリに退避さ
せる処理、メモリに退避させてある値を各レジスタに復
元する処理が不要になるからである。
As described above, by collectively generating the M-series random numbers by the vector operation, the generation speed of the M-series random numbers can be increased. Further, by replacing the M-sequence random number generation built-in function RANDM1 () in the innermost loop with a reference of the two-dimensional array TEMP and eliminating the processing using the M-sequence random number generation built-in function RANDM1 () in the innermost loop, It is possible to increase the program execution speed. That is, when the M-series random number generation built-in function RANDM1 () in the innermost loop is replaced with an array reference, the M-series random number generation built-in function RA
The process of saving the value of each register at that time, which is necessary when executing NDM1 () to generate the M-sequence random number, and the process of restoring the value saved in the memory to each register are unnecessary. Because.

【0040】また、ステップmを参照すると、制御を渡
された第2のテキスト変形手段10はループ繰り返し回
数判定検出手段8で繰り返し回数が静的に定まらないと
判定された最内側ループ対応の中間テキストを、プログ
ラムの実行時に定まるM系列乱数の発生個数N’が上記
閾値Sよりも大きい場合は最内側ループの直前でベクト
ル演算により一括して発生したM系列乱数を用いて最内
側ループ内の処理を行ない、個数N’が閾値S以下の場
合は元のままの形で最内側ループ内の処理を行なうよう
に変形し、その後、最内側ループテキスト検出手段5に
制御を戻す。
Further, referring to step m, the second text transforming means 10 to which the control is passed receives the control, and the loop repeat count determination detecting means 8 determines that the repeat count is not statically determined. If the number N ′ of generated M-series random numbers determined when the program is executed is larger than the threshold value S, the text is stored in the innermost loop by using the M-series random numbers collectively generated by vector operation immediately before the innermost loop. When the number N ′ is equal to or smaller than the threshold value S, the process is modified so that the process in the innermost loop is performed as it is, and then the control is returned to the innermost loop text detecting means 5.

【0041】今、例えば、変形対象にしている最内側ル
ープ部分の中間テキストが図5に示すソースプログラム
に相当するものであるとすると、第2のテキスト変形手
段10は変形対象の中間テキストを例えば図6に示すソ
ースプログラムに相当する中間テキストに変形する。
Now, for example, assuming that the intermediate text of the innermost loop portion to be transformed corresponds to the source program shown in FIG. 5, the second text transforming means 10 transforms the intermediate text to be transformed into, for example, It is transformed into an intermediate text corresponding to the source program shown in FIG.

【0042】図6のソースプログラムに於いて、RAM
DM2は実引数の第2パラメータによって指定された個
数のM系列乱数を発生し、発生したM系列乱数を実引数
の第1パラメータによって指定された配列に設定する組
み込みサブルーチンの名前である。また、サブルーチン
名RAMDM2を有する組み込みサブルーチンはベクト
ル処理によってM系列の乱数を発生するものである。
In the source program of FIG. 6, RAM
DM2 is the name of a built-in subroutine that generates the number of M-series random numbers specified by the second parameter of the actual argument and sets the generated M-series random number in the array specified by the first parameter of the actual argument. Further, the built-in subroutine having the subroutine name RAMDM2 is for generating M-sequence random numbers by vector processing.

【0043】この例の場合、図5に示すようにDO文に
よって指定される最内側ループの繰り返し回数はK回、
最内側ループ中に存在するM系列乱数発生組み込み関数
RANDM1( )の個数は2個であり、M系列乱数の発
生個数は2×K個となるので、図6に示すように、実引
数の第1パラメータには2×Kの要素数を有する2次元
配列TEMPが設定され、第2パラメータには2×Kが
設定される。
In the case of this example, the number of iterations of the innermost loop designated by the DO statement is K times, as shown in FIG.
Since the number of M-sequence random number generation built-in functions RANDM1 () existing in the innermost loop is 2, and the number of M-sequence random number generations is 2 × K, as shown in FIG. The two-dimensional array TEMP having the number of elements of 2 × K is set in one parameter, and 2 × K is set in the second parameter.

【0044】即ち、図6に示したソースプログラムは、
プログラムの実行時に定まるM系列乱数の発生個数(2
×K)が前述した閾値Sよりも大きい場合は最内側ルー
プの直前に於いて2×K個のM系列乱数をベクトル演算
によって一括して発生させる処理,発生させた2×K個
のM系列乱数を2次元配列TEMPに設定させる処理,
2次元配列TEMPを参照してA(I),C(I)を求
める処理を順次行ない、閾値S以下の場合はM系列乱数
発生組み込み関数RANDM1( )を用いてA(I),
C(I)を求める処理を行なうものである。
That is, the source program shown in FIG.
Number of generated M-series random numbers determined when the program is executed (2
XK) is larger than the threshold value S described above, a process of collectively generating 2 × K M-sequence random numbers by vector operation immediately before the innermost loop, and the generated 2 × K M-sequences A process for setting a random number in the two-dimensional array TEMP,
The process of obtaining A (I) and C (I) is sequentially performed by referring to the two-dimensional array TEMP. If the threshold value is S or less, A (I), using the M-sequence random number generation built-in function RANDM1 (),
The processing for obtaining C (I) is performed.

【0045】第1,第2のテキスト変形手段9、10の
処理が終了すると、制御は最内側ループテキスト検出手
段5に戻される。
When the processing of the first and second text transforming means 9 and 10 is completed, the control is returned to the innermost loop text detecting means 5.

【0046】ステップb,cを参照すると、制御を戻さ
れた最内側ループ検出手段5は中間テキスト群4から中
間テキストを取り出し、取り出していない中間テキスト
が存在する場合(ステップcがyesの場合)は制御を
乱数発生組み込み関数検出手段6に渡し、全ての中間テ
キストを取り出している場合(ステップcがnoの場
合)は目的プログラム生成手段11に制御を渡す。
Referring to steps b and c, the innermost loop detecting means 5 which is returned to the control extracts the intermediate text from the intermediate text group 4 and there is an intermediate text which has not been extracted (when step c is yes). Passes control to the random number generating built-in function detecting means 6 and passes control to the object program generating means 11 when all intermediate texts are taken out (when step c is no).

【0047】ステップoを参照すると、制御を渡された
目的プログラム生成手段11は中間テキスト群4に基づ
いて目的プログラム12を生成する。その際、目的プロ
グラム生成手段11は第1,第2のテキスト変形手段
9,10によってM系列乱数発生組み込み関数部分が配
列の参照に置き換えられた最内側ループがベクトル化可
能であれば、それをベクトル化する。
Referring to step o, the target program generating means 11 to which the control is passed generates the target program 12 based on the intermediate text group 4. At that time, if the innermost loop in which the M-series random number generating built-in function part is replaced by the array reference by the first and second text transforming means 9 and 10 is vectorizable, the object program generating means 11 Vectorize.

【0048】[0048]

【発明の効果】以上説明したように、本発明は、M系列
乱数発生組み込み関数を含む最内側ループに対応する中
間テキストを、最内側ループの直前に於いてM系列乱数
をベクトル演算によって一括して発生させ、最内側ルー
プ内の処理を上記最内側ループの直前に於いて発生させ
たM系列乱数を用いて行なうようにしたものであるの
で、最内側ループ内にM系列乱数発生組み込み関数が複
数存在する場合でもベクトル化でき、M系列乱数の発生
処理速度を向上させることができる効果があると共に、
目的プログラムの実行速度を向上させることができる効
果がある。
As described above, according to the present invention, the intermediate text corresponding to the innermost loop including the M-series random number generating built-in function is collected by the vector operation of the M-series random numbers immediately before the innermost loop. The M-sequence random number generation built-in function is provided in the innermost loop because the process in the innermost loop is performed using the M-sequence random number generated immediately before the innermost loop. Even if there are a plurality of them, they can be vectorized, and there is an effect that the generation processing speed of the M-series random number can be improved, and
There is an effect that the execution speed of the target program can be improved.

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

【図1】本発明の実施例のブロック図である。FIG. 1 is a block diagram of an embodiment of the present invention.

【図2】実施例の処理例を示すフローチャートである。FIG. 2 is a flowchart illustrating a processing example of an embodiment.

【図3】ソースプログラムの一例を示す図である。FIG. 3 is a diagram showing an example of a source program.

【図4】図3のソースプログラムが最適化により同等と
なるソースプログラムの一例を示す図である。
FIG. 4 is a diagram showing an example of a source program that makes the source program of FIG. 3 equivalent by optimization.

【図5】ソースプログラムの一例を示す図である。FIG. 5 is a diagram showing an example of a source program.

【図6】図5のソースプログラムが最適化により同等と
なるソースプログラムの一例を示す図である。
FIG. 6 is a diagram showing an example of a source program that makes the source program of FIG. 5 equivalent by optimization.

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

1…ソースプログラム 2…コンパイラ 3…テキスト生成手段 4…中間テキスト群 5…最内側ループテキスト検出手段 6…乱数発生組み込み関数検出手段 7…変形可能テキスト検出手段 8…ループ繰り返し回数判定検出手段 9…第1のテキスト変形手段 10…第2のテキスト変形手段 11…目的プログラム生成手段 12…目的プログラム DESCRIPTION OF SYMBOLS 1 ... Source program 2 ... Compiler 3 ... Text generation means 4 ... Intermediate text group 5 ... Inner loop text detection means 6 ... Random number generation built-in function detection means 7 ... Deformable text detection means 8 ... Loop repetition number determination detection means 9 ... First text transforming means 10 ... Second text transforming means 11 ... Objective program generating means 12 ... Objective program

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 ベクトル演算機能を有する電子計算機シ
ステムのコンパイラに於いて、 ソースプログラムから中間テキスト群を生成するテキス
ト生成手段と、 該テキスト生成手段が生成した中間テキスト群の中から
最内側ループに対応する中間テキストを検出する最内側
ループテキスト検出手段と、 該最内側ループテキスト検出手段が検出した最内側ルー
プに対応する中間テキストにM系列乱数発生組み込み関
数が含まれているか否かを判定する乱数発生組み込み関
数検出手段と、 該乱数発生組み込み関数検出手段でM系列乱数発生組み
込み関数が含まれていると判定された最内側ループに対
応する中間テキストを、最内側ループの直前に於いてM
系列乱数をベクトル演算によって一括して発生するよう
に変形することが可能か否かを判定する変形可能テキス
ト検出手段と、 該変形可能テキスト検出手段で変形可能と判定された中
間テキストに対応する最内側ループの繰り返し数が静的
に定まるものである場合、前記最内側ループに於けるM
系列乱数の発生個数を求め、該発生個数が中間テキスト
の変形を行なわない方が処理速度が速くなる個数の最大
値よりも大きいことにより、前記最内側ループに対応す
る中間テキストを、最内側ループの直前に於いてM系列
乱数をベクトル演算によって一括して発生させ、最内側
ループ内の処理を前記最内側ループの直前に於いて発生
させたM系列乱数を用いて行なうように変形するテキス
ト変形手段と、 該テキスト変形手段で変形が済んだ中間テキスト群を用
いて目的プログラムを生成する目的プログラム生成手段
とを含むことを特徴とするM系列乱数発生組み込み関数
の最適化方式。
1. In a compiler of an electronic computer system having a vector operation function, a text generating means for generating an intermediate text group from a source program, and an intermediate inner text loop from the intermediate text group generated by the text generating means. An innermost loop text detecting means for detecting the corresponding intermediate text, and it is determined whether the intermediate text corresponding to the innermost loop detected by the innermost loop text detecting means includes an M-sequence random number generating built-in function. The random number generating built-in function detecting means and the intermediate text corresponding to the innermost loop determined to include the M-series random number generating built-in function by the random number generating built-in function detecting means are set to M immediately before the innermost loop.
Deformable text detecting means for determining whether or not it is possible to transform the sequence random numbers so that they can be generated collectively by vector operation, and the maximum corresponding to the intermediate text determined by the transformable text detecting means to be transformable. When the number of iterations of the inner loop is statically determined, M in the innermost loop
The number of generated sequence random numbers is obtained, and the generated number is larger than the maximum value of the number of times that the processing speed is faster if the intermediate text is not transformed. Therefore, the intermediate text corresponding to the innermost loop is set to the innermost loop. Immediately before, the M-series random number is collectively generated by a vector operation, and the text is transformed such that the process in the innermost loop is performed by using the M-series random number generated immediately before the innermost loop. A method for optimizing an M-sequence random number generation built-in function, comprising: means and a target program generating means for generating a target program using the intermediate text group transformed by the text transforming means.
【請求項2】ベクトル演算機能を有する電子計算機シス
テムのコンパイラに於いて、 ソースプログラムから中間テキスト群を生成するテキス
ト生成手段と、 該テキスト生成手段が生成した中間テキスト群の中から
最内側ループに対応する中間テキストを検出する最内側
ループテキスト検出手段と、 該最内側ループテキスト検出手段が検出した最内側ルー
プに対応する中間テキストにM系列乱数発生組み込み関
数が含まれているか否かを判定する乱数発生組み込み関
数検出手段と、 該乱数発生組み込み関数検出手段でM系列乱数発生組み
込み関数が含まれていると判定された最内側ループに対
応する中間テキストを、最内側ループの直前に於いてM
系列乱数をベクトル演算によって一括して発生するよう
に変形することが可能か否かを判定する変形可能テキス
ト検出手段と、 該変形可能テキスト検出手段で変形可能と判定された中
間テキストに対応する最内側ループの繰り返し数がプロ
グラムの実行時に定まるものである場合、前記最内側ル
ープに対応する中間テキストを、プログラムの実行時に
定まるM系列乱数の発生個数が中間テキストの変形を行
なわない方が処理速度が速くなる個数の最大値よりも大
きければ、最内側ループの直前に於いてM系列乱数をベ
クトル演算によって一括して発生させた後、最内側ルー
プ内の処理を前記最内側ループの直前に於いて発生させ
たM系列乱数を用いて行ない、プログラムの実行時に定
まるM系列乱数の発生個数が中間テキストの変形を行な
わない方が処理速度が速くなる個数の最大値以下であれ
ば、元のままの処理を行なうように変形するテキスト変
形手段と、 該テキスト変形手段で変形が済んだ中間テキスト群を用
いて目的プログラムを生成する目的プログラム生成手段
とを含むことを特徴とするM系列乱数発生組み込み関数
の最適化方式。
2. In a compiler of an electronic computer system having a vector operation function, a text generating means for generating an intermediate text group from a source program, and an innermost loop from the intermediate text group generated by the text generating means. An innermost loop text detecting means for detecting the corresponding intermediate text, and it is determined whether the intermediate text corresponding to the innermost loop detected by the innermost loop text detecting means includes an M-sequence random number generating built-in function. The random number generating built-in function detecting means and the intermediate text corresponding to the innermost loop determined to include the M-series random number generating built-in function by the random number generating built-in function detecting means are set to M immediately before the innermost loop.
Deformable text detecting means for determining whether or not it is possible to transform the sequence random numbers so that they can be generated collectively by vector operation, and the maximum corresponding to the intermediate text determined by the transformable text detecting means to be transformable. When the number of iterations of the inner loop is determined at the time of execution of the program, the processing speed of the intermediate text corresponding to the innermost loop is higher when the number of M-sequence random numbers determined at the time of execution of the program does not transform the intermediate text. If the number is faster than the maximum value of the number, the M-sequence random numbers are generated collectively by vector operation immediately before the innermost loop, and then the processing in the innermost loop is performed immediately before the innermost loop. The generated M-sequence random number is used to transform the intermediate text depending on the number of M-sequence random numbers generated when the program is executed. If it is less than the maximum value of the number that the processing speed becomes faster if it is not, the target program using the text transforming means for transforming to perform the original processing and the intermediate text group transformed by the text transforming means A method for optimizing an M-series random number generation built-in function, comprising:
JP4177632A 1992-06-11 1992-06-11 Objective program generator Expired - Lifetime JP2842057B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4177632A JP2842057B2 (en) 1992-06-11 1992-06-11 Objective program generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4177632A JP2842057B2 (en) 1992-06-11 1992-06-11 Objective program generator

Publications (2)

Publication Number Publication Date
JPH05341966A true JPH05341966A (en) 1993-12-24
JP2842057B2 JP2842057B2 (en) 1998-12-24

Family

ID=16034398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4177632A Expired - Lifetime JP2842057B2 (en) 1992-06-11 1992-06-11 Objective program generator

Country Status (1)

Country Link
JP (1) JP2842057B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115131847A (en) * 2021-03-12 2022-09-30 佳能株式会社 Information processing apparatus and method, image recognition system, and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115131847A (en) * 2021-03-12 2022-09-30 佳能株式会社 Information processing apparatus and method, image recognition system, and storage medium

Also Published As

Publication number Publication date
JP2842057B2 (en) 1998-12-24

Similar Documents

Publication Publication Date Title
US4833606A (en) Compiling method for vectorizing multiple do-loops in source program
US5483470A (en) Timing verification by successive approximation
US4821181A (en) Method for converting a source program of high level language statement into an object program for a vector processor
EP4116885A1 (en) Processing method for neural network model, and related device
Berman et al. Functional comparison of logic designs for VLSI circuits
US5274812A (en) Method of compiling source code into vectorized object code by performing a one-dimensional analysis on each dimension of a multi-dimensional array within a loop
US12229529B2 (en) Program generation apparatus, program generation method and program
JPH0795274B2 (en) Array subscript analysis method
US5522074A (en) Vectorization system for vectorizing loop containing condition induction variables
WO2020031802A1 (en) Learning method, learning device, model generation method, and program
CN118504486B (en) A method for adapting a constraint solver, an electronic device and a storage medium
US5109523A (en) Method for determining whether data signals of a first set are related to data signal of a second set
JPH05341966A (en) Optimizing system for built-in m-system random number generating function
CN118051234B (en) Method, computing device, medium and program product for software and hardware adaptation
JP2009211458A (en) Compiler, variable-optimizing device, method, and program
Kharitonov et al. Modeling function calls in program control flow in terms of Petri Nets
CN118092931A (en) Function vectorization method and system based on guidance statement
JPH0764766A (en) Maximum / minimum value calculation method for parallel computers
US12175242B2 (en) Decision tree node instruction unification for parallel processing
JPH04307624A (en) Loop optimization system
JP2956591B2 (en) Method and apparatus for parallelizing a loop having a conditional jump out of the loop
JPH0594470A (en) Vectrization system
JP2000163266A (en) Instruction execution method
JPH0512033A (en) Parallel compilation method
CN121560331A (en) Parameterized compiling optimization method and system based on multi-stage intermediate representation