JPH11242598A - コンパイル方法およびコンパイル装置ならびにオブジェクトプログラム実行方法およびオブジェクトプログラム実行装置ならびにプログラム記憶媒体 - Google Patents

コンパイル方法およびコンパイル装置ならびにオブジェクトプログラム実行方法およびオブジェクトプログラム実行装置ならびにプログラム記憶媒体

Info

Publication number
JPH11242598A
JPH11242598A JP10042422A JP4242298A JPH11242598A JP H11242598 A JPH11242598 A JP H11242598A JP 10042422 A JP10042422 A JP 10042422A JP 4242298 A JP4242298 A JP 4242298A JP H11242598 A JPH11242598 A JP H11242598A
Authority
JP
Japan
Prior art keywords
data
mask
instruction
compiling
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.)
Granted
Application number
JP10042422A
Other languages
English (en)
Other versions
JP3887097B2 (ja
Inventor
Kiyobumi Suzuki
清文 鈴木
Takeshi Soga
武史 曽我
Masaki Aoki
正樹 青木
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 JP04242298A priority Critical patent/JP3887097B2/ja
Publication of JPH11242598A publication Critical patent/JPH11242598A/ja
Application granted granted Critical
Publication of JP3887097B2 publication Critical patent/JP3887097B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 コンパイル時のル−プ一重化やル−プ融合化
にともなうマスクデ−タ付きのベクトル演算処理の高速
化を図ることを目的とする。 【解決手段】 マスクデ−タ付きのベクトル演算に対応
したソ−スプログラム部分のコンパイル時にマスク生成
命令vgsm(vector generate subarray mask)を出力
する。マスク生成命令vgsmは、ハ−ドウェアが直接
実行可能な機械命令であって、gr1(汎用レジスタ)
の値の個数の偽値(0)が連続し、その後に真値(1)
が続いて、gr2(汎用レジスタ)の値の合計個数から
なる基本パタ−ン1を繰り返した数列の中、gr3(汎
用レジスタ)の値が示す位置から始まるベクトル長(ア
クセスされる範囲の長さ)分の数列部分をマスクレジス
タmrに設定する、ことを命令内容としている。基本パ
タ−ン1を、所定個数の真値とこれに続く所定個数の偽
値とからなる数列にしてもよい。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ソ−スプログラム
中の、マスクデ−タ付きのベクトル演算に対応の特定部
分に対するコンパイルの実行により、マスク生成命令を
出力するデ−タ処理、および、オブジェクトプログラム
中のマスク生成命令に基づいてマスクデ−タ付きのベク
トル演算を実行するデ−タ処理に関し、マスクデ−タの
作成処理時間を短縮化するためのマスクデ−タ生成命令
を用いたものである。
【0002】本明細書では、マスクデ−タ生成命令を
「マスク生成命令」と略記し、複数の命令からなる命令
列も含む意で「命令」の用語を用いる。
【0003】ベクトル処理方式の計算機では、例えば多
重ル−プの一重化や並立ル−プの融合化などの場合にマ
スクデ−タ付きのベクトル演算を実行している。このベ
クトル演算の実効性を確保するためには、マスクデ−タ
の準備処理に時間を要しないことが必要であり、本発明
はこのような要請に応えるものである。
【0004】
【従来の技術】図14は、従来の、マスク付き一重化の
コンパイル処理の概要を示す説明図であり、(a) は前提
のソ−スプログラム形式、(b) はコンパイル内容(ソ−
スイメ−ジ)を示している。
【0005】ソ−スプログラムは、(100×100)
の計10000個の要素からなる配列A、Bそれぞれの
(2,2)の要素から(99,99)の要素までの計9
604個の各要素同士を乗算するものある。
【0006】図15は、図14(b) のコンパイル内容に
対応の処理手順を示す説明図であり、その内容は次のよ
うになっている。 (61)マスクデ−タを示す配列maskを作る。 (62)回転数が(100×100)の一重ル−プを作り、
配列maskのすべての要素に偽値(0)を設定する命令を
出力する。 (63)元の二重ル−プと同じ構造の二重ル−プを作り、そ
の中で配列maskの必要な要素にだけ真値(1)を設定す
る命令を出力する。 (64)元の二重ル−プを一重ル−プ構造に変換する。この
ときの回転数は(100×100)である。 (65)元の二重ル−プ中の実行文が、配列要素それぞれに
対応する配列maskの値が真値(1)のときのみ実行され
るようにIF文(に対応の命令)を挿入する。
【0007】図16は、図14(b) のコンパイル内容に
対応の命令イメ−ジを示す説明図であり、 ・71はステップ(61),(62) に対応し、 ・72はステップ(63)に対応し、 ・73はステップ(64),(65) に対応している。
【0008】
【発明が解決しようとする課題】このように、従来のマ
スクデ−タ付きのベクトル処理方式の場合、ル−プ処理
を実行することによりマスクデ−タを準備しているの
で、マスクデ−タ作成のための要処理時間が長くなりマ
スクデ−タ付きのベクトル演算を効率的に行なえないと
いう問題点があった。
【0009】そこで、本発明では、ハ−ドウェアが直接
実行可能なマスクデ−タ作成用の機械命令を設け、この
マスク作成命令を用いてコンパイルし、またオブジェク
トプログラム中のマスク作成命令を実行することによ
り、ル−プ一重化やル−プ融合化にともなうマスクデ−
タ付きのベクトル演算処理の高速化を図ることを目的と
する。
【0010】また、このマスク作成命令をル−プ融合化
に適用する場合、ル−プ融合化後のプログラム中の共通
式の削除や命令スケジュ−リングなどの最適化を行なう
ことにより、ベクトル計算機の実効性能を一段と向上さ
せることを目的とする。
【0011】
【課題を解決するための手段】これを達成するために、
本発明では、偽値または真値の一方を所定個数連続させ
た第1のデ−タ部分と、これに続く、偽値または真値の
他方を所定個数連続させた第2のデ−タ部分と、の基本
パタ−ンからなるデ−タ列中の所定範囲をマスクデ−タ
として設定するためのマスク生成命令vgsm(図1参
照)を、ソ−スプログラムのコンパイルのときに出力す
るコンパイル方法やコンパイル装置を用いていく。
【0012】マスク生成命令vgsmは、 ・多重ル−プの一重化処理 ・並立ル−プの融合化処理 などをともなうベクトル演算部分のコンパイルのときに
出力される。
【0013】マスク生成命令vgsmを出力するコンパ
イル装置は、ベクトル演算命令を出力するベクトル化部
と、マスク生成命令出力部とを少なくとも備え、 ・多重ル−プ処理をマスクデ−タ付の一重ル−プ処理に
変更したかたちのル−プ演算命令を出力するマスク付き
一重化実施部 ・並立ル−プ処理を融合して最適化したかたちのル−プ
演算命令を出力するマスク付き融合化実施部 なども併せ持っている。
【0014】また、本発明では、マスク生成命令vgs
mを実行してマスクデ−タを作成するオブジェクトプロ
グラム実行方法や、実行マスク生成命令vgsmの実行
主体であるマスクデ−タ作成部を少なくとも備え、オブ
ジェクトプログラム中のマスク生成命令に基づいてマス
クデ−タ付きのベクトル演算を行なうオブジェクトプロ
グラム実行装置を用いている。
【0015】また、本発明では、 ・ソ−スプログラム中の、マスクデ−タ付きのベクトル
演算に対応の特定部分に対するコンパイルの実行によ
り、マスク生成命令を出力するデ−タ処理に用いられ、
このマスク生成命令としてvgsmを出力する機能をコ
ンピュ−タに実現させるためのプログラムを格納したこ
とを特徴とするコンピュ−タ読み取り可能なプログラム
記憶媒体 ・オブジェクトプログラム中のマスク生成命令に基づい
てマスクデ−タ付きのベクトル演算を実行するデ−タ処
理に用いられ、vgsmを実行する機能をコンピュ−タ
に実現させるためのプログラムを格納したことを特徴と
するコンピュ−タ読み取り可能なプログラム記憶媒体 も用いている。
【0016】このようなマスク生成命令vgsmを利用
しているので、例えばコンパイルによりマスク付き一重
化やマスク付き融合化などの処理が行なわれたプログラ
ムの実行時には、マスクデ−タの作成時間が短縮され、
プログラム全体の処理時間が高速化される。
【0017】マスク生成命令vgsmのル−プ融合化へ
の適用時には、ベクトル長が長くなるだけでなく、命令
スケジュ−リングの対象範囲が広くなったり、同じ配列
からのロ−ドを共通化して比較的低速なメモリアクセス
を減らす、などの更なる最適化が期待できる。
【0018】
【発明の実施の形態】図1乃至図13を参照して本発明
の実施の形態を説明する。なお、以下の実施の形態で
は、説明の便宜上、対象数列の先頭位置を「1」番目と
表現する。
【0019】図1は、マスク生成命令を示す説明図であ
る。マスク生成命令vgsm(vector generate subarr
ay mask)は、ハ−ドウェアが直接実行可能な機械命令で
あって、 ・gr1(汎用レジスタ)の値の個数の偽値(例えば
0)が連続し、その後に真値(例えば1)が続いて、 ・gr2(汎用レジスタ)の値の合計個数からなる基本
パタ−ン1を繰り返した数列の中、 ・gr3(汎用レジスタ)の値が示す位置から始まるベ
クトル長(アクセスされる範囲の長さ)分の数列部分を
マスクレジスタmrに設定する、 ことを命令内容としている。基本パタ−ン1を、所定個
数の真値とこれに続く所定個数の偽値とからなる数列に
してもよい。
【0020】図2は、ル−プ一重化におけるマスク生成
命令の概念を示す説明図であり、図14と同様のソ−ス
プログラム形式を前提にしている。
【0021】配列Aは(M*N)個の要素からなり、2
の斜線部分はル−プ処理対象部分で(I2−I1+1)
*(J2−J1+1)個の要素からなっている。また、
3は基本パタ−ン1の開始位置に対応の要素、4はgr
1の指定位置に対応の要素、5はgr3の指定位置に対
応の要素、6はgr2の指定位置でかつ要素基本パタ−
ン1の最終位置に対応の要素、7は要素5からベクトル
長分だけ後続の要素を示している。
【0022】図2のマスク生成命令vgsmの場合、 ・ベクトル長は、要素5(I1,J1)から要素7(I
2,J2)までの実線部分の要素数〔M*(J2−J1
+1)−(I1−1)−(M−I2)〕 ・gr1の値は、要素3(I2+1,J1−1)から要
素4(I1−1,J1)までの要素数〔(M−I2)+
(I1−1)〕 ・gr2の値は、要素3(I2+1,J1−1)から要
素6(I2,J1)までの要素数M ・gr3の値は、要素3(I2+1,J1−1)から要
素5(I1,J1)までの要素数〔(M−I2)+I
1〕 となる。
【0023】すなわち、要素3から要素4までに対応の
偽値と、これに続く要素5から要素6までに対応の真値
とからなる基本パターンを繰り返した数列の、要素5か
ら要素7までに対応の数列部分をマスクデ−タとして生
成する旨の命令である。
【0024】図3は、図2の二重ル−プに対するコンパ
イル手順の概要を示す説明図であり、その内容は次のよ
うになっている。 (11)ベクトル長を〔M*(J2−J1+1)−(I1−
1)−(M−I2)〕とする命令を出力する。 (12)vgsm命令のgr1に対して〔(M−I2)+
(I1−1)〕を設定する命令を出力する。 (13)vgsm命令のgr2に対してMを設定する命令を
出力する。 (14)vgsm命令のgr3に対して〔(M−I2)+I
1〕を設定する命令を出力する。 (15)vgsm命令を出力する。 (16)ル−プ内の命令すべてのオペランドにmr(の値)
を追加する。vgsm命令で生成されたmr(の値)を
マスクデ−タとして使うためである。 (17)二重ル−プ構造を一重ル−プ構造に変換する。変換
後の一次元配列の処理開始位置は元の要素5の位置と
し、変換後のル−プ構造は下記のIF文を挿入したかた
ちに対応している(図4参照)。 (18)ベクトル化によってベクトル命令を出力する。
【数1】
【0025】図4は、vgsm命令を使ったル−プ一重
化の例を示す説明図であり、(a) は前提のソ−スプログ
ラム形式、(b) は命令イメ−ジのコンパイル出力を示し
ている。
【0026】これは、図2において、 ・M=100 ・N=100 ・I1=2,12=99 ・J1=2,J2=99 とした場合である。
【0027】図5は、ル−プ一重化時のコンパイラの構
成図であり、11はソ−スプログラム、12はコンパイ
ラ(コンパイル装置)、13はオブジェクトプログラ
ム、14はソ−スプログラム解析部、15はル−プ一重
化部、16はマスク付き一重化認識部、17はマスク生
成命令出力部、18はマスク付き一重化実施部、19は
ベクトル化部、20はオブジェクトプログラム生成部を
それぞれ示している。
【0028】ソ−スプログラム解析部14はソ−スプロ
グラム11を中間テキストに変換し、マスク付き一重化
認識部16はその中の命令の種類やオペランドのかたち
をみてマスク付き一重化が可能なル−プを取り出してい
る。
【0029】マスク生成命令出力部17は図3のステッ
プ(11)乃至(15)の処理を実行し、また、マスク付き一重
化実施部18は図3のステップ(16),(17)の処理を実行
している。ベクトル化部19およびオブジェクトプログ
ラム生成部20の作用は従来のものと同様である。
【0030】図6は、ル−プ一重化に関するコンパイル
手順の概要を示す説明図であり、その内容は次のように
なっている。 (21)コンパイル対象のル−プを取り出して、次のステッ
プに進む。 (22)多重ル−プの構造をしているかどうかを判断し、
「YES 」の場合は次のステップに進み、「NO」の場合は
ステップ(25)に進む。 (23)マスク付き一重化が可能であるかどうかを判断し、
「YES 」の場合は次のステップに進み、「NO」の場合は
ステップ(25)に進む。 (24)マスク生成命令を出力した上でマスク付き一重化を
実行して、次のステップに進む。 (25)通常のベクトル化を実行して、次のステップに進
む。 (26)すべてのル−プについての処理が終了したかどうか
を判断し、「YES 」の場合は一連の処理を終了し、「N
O」の場合はステップ(21)に戻る。
【0031】図7は、ル−プ融合化の説明の前提として
用いるソ−スプログラム形式を示す説明図である。説明
の便宜上、各ル−プの処理対象要素範囲が他ル−プの処
理対象要素範囲に完全に包含されない、すなわち「I3
<I1<I4<I2」または「I1<I3<I2<I
4」が成り立つとする。
【0032】ソ−スプログラム例は、1000個の要素
からなる各配列A、Bに対し、 ・101乃至1000(I1乃至I2)の各要素の乗算
を実行するル−プ ・1乃至900(I3乃至I4)の各要素の加算を実行
するル−プ の二つの並立ル−プを有している。
【0033】図8は、図7の並立ル−プに対するコンパ
イル手順の概要を示す説明図であり、その内容は次のよ
うになっている。 (31)通常のベクトル化を実行する。 (32)ベクトル長VLを〔MAX(I2,I4)−MIN
(I1,I3)+1〕とする命令を出力する。 (33)vgsm命令のgr1に対して〔VL−(I2−I
1+1)〕を設定する命令を出力する。 (34)vgsm命令のgr2に対してVLを設定する命令
を出力する。 (35)vgsm命令のgr3に対して〔1:(I1>I3
のとき)〕または〔(I4−12+1):(I1<I3
のとき)〕を設定する命令を出力する。 (36)vgsm命令を出力する。 (37)vgsm命令のgr1に対して〔VL−(I4−I
3+1)〕を設定する命令を出力する。 (38)vgsm命令のgr2に対してVLを設定する命令
を出力する。 (39)vgsm命令のgr3に対して〔(I2−14+
1):(I1>I3のとき)〕または〔1:(I1<I
3のとき)〕を設定する命令を出力する。 (40)vgsm命令を出力する。 (41)一つ目のル−プ内の命令すべてのオペランドに、ス
テップ(36)のvgsm命令で生成されたmr1(の値)
を追加する。mr1をマスクデ−タとして使うためであ
る。 (42)二つ目のル−プ内の命令すべてのオペランドに、ス
テップ(40)のvgsm命令で生成されたmr2(の値)
を追加する。mr2をマスクデ−タとして使うためであ
る。 (43)並立ル−プ構造を単一ル−プ構造に変換する。新し
いル−プの初期値はMIN(I1,I3)、終値はMA
X(I2,I4)とし、変換後のル−プ構造は下記のI
F文を挿入したかたちに対応している。 (44)共通式の削除や命令スケジュ−リングなどの最適化
を実行する。
【数2】
【0034】図9は、vgsm命令を使ったル−プ融合
化の例を示す説明図であり、通常のベクトル化後、vg
sm命令を使ったル−プ融合後、および最適化後のそれ
ぞれの場合における命令イメ−ジのコンパイル出力を示
している。各命令の内容は図4のそれと同様である。
【0035】ここで、 ・101乃至1000の各要素の乗算処理ル−プに対し
ては「gr1=100,gr2=1000、gr3=
1」のvgsm命令(mr1)を使い、 ・1乃至900の各要素の加算処理ル−プに対しては
「gr1=100,gr2=1000、gr3=10
1」のvgsm命令(mr2)を使っている。
【0036】この場合、mr1とmr2のvgsm命令
出力の段階でもそれぞれのgr1およびgr2の最適化
を実行している。
【0037】ル−プ融合後の最適化では、 ・配列Bをベクトルレジスタvrに格納する二つのvl
oad命令の一つを削除し、 ・配列Cをベクトルレジスタvrに格納する二つのvl
oad命令の一つを削除し、 ・乗算命令vmult、加算命令vadd、および乗算
結果の保持命令vstoreの順序を変更している。
【0038】なお、保持命令vstoreにmrを付加
してマスクデ−タ付き命令とする場合、その前の乗算命
令vmultや加算命令vaddにこれを付加するかど
うかは任意である。
【0039】図10は、ル−プ融合化時のコンパイラの
構成図であり、21はソ−スプログラム、22はコンパ
イラ(コンパイル装置)、23はオブジェクトプログラ
ム、24はソ−スプログラム解析部、25はベクトル化
部、26はル−プ融合化部、27はマスク付き融合化認
識部、28はマスク生成命令出力部、29はマスク付き
融合化実施部、30は最適化部、31はオブジェクトプ
ログラム生成部をそれぞれ示している。
【0040】ソ−スプログラム解析部24はソ−スプロ
グラム21を中間テキストに変換し、マスク付き融合化
認識部27はその中の命令の種類やオペランドのかたち
をみてマスク付き融合化が可能なル−プを取り出してい
る。
【0041】マスク生成命令出力部28は図8のステッ
プ(33)乃至(40)の処理を実行し、マスク付き融合化実施
部29は図8のステップ(41)乃至(43)の処理を実行し、
また、最適化部30は図8のステップ(44)の処理を実行
している。ベクトル化部25およびオブジェクトプログ
ラム生成部31の作用は従来のものと同様である。
【0042】図11は、ル−プ融合化に関するコンパイ
ル手順の概要を示す説明図であり、その内容は次のよう
になっている。 (51)コンパイル対象のル−プを取り出して、次のステッ
プに進む。 (52)ベクトル化を実行して、次のステップに進む。 (53)並立ル−プの構造をしているかどうかを判断し、
「YES 」の場合は次のステップに進み、「NO」の場合は
ステップ(57)に進む。 (54)マスク付き融合化が可能であるかどうかを判断し、
「YES 」の場合は次のステップに進み、「NO」の場合は
ステップ(57)に進む。 (55)マスク生成命令を出力した上でマスク付き融合化を
実行して、次のステップに進む。 (56)ル−プ融合後の共通式の削除や命令スケジュ−リン
グなどの最適化を実行して、次のステップに進む。 (57)すべてのル−プについての処理が終了したかどうか
を判断し、「YES 」の場合は一連の処理を終了し、「N
O」の場合はステップ(51)に戻る。
【0043】図12は、マスク生成命令を実行するオブ
ジェクトプログラム実行装置を示す説明図であり、41
はオブジェクトプログラム、42はオブジェクトプログ
ラム実行装置、43は各種命令や演算用デ−タなどを保
持する記憶部、44はマスク生成命令(vgsm)を実
行してマスクデ−タを出力するマスクデ−タ作成部、4
5はマスクデ−タ付きのベクトル演算を実行するベクト
ル演算部、46はレジスタなどのベクトル演算結果保持
部をそれぞれ示している。
【0044】図13は、コンピュ−タ読み取り可能な記
録媒体からプログラムを読み取って実行するコンピュ−
タシステムの概要を示す説明図であり、51はコンピュ
−タシステム、52はCPUやディスクドライブ装置な
どを内蔵した本体部、53は本体部52からの指示によ
り画像を表示するディスプレイ、54は表示画面、55
はコンピュ−タシステム51に種々の情報を入力するた
めのキ−ボ−ド、56は表示画面54上の任意の位置を
指定するマウス、57は外部のデ−タベ−ス(DASD
などの回線先メモリ)、58は外部のデ−タベ−ス57
にアクセスするモデム、59はCD−ROMやフロッピ
−ディスクなどの可搬型記憶媒体をそれぞれ示してい
る。
【0045】プログラムを格納する記憶媒体としては、 ・プログラム提供者側のデ−タベ−ス57(回線先メモ
リ) ・可搬型記憶媒体59 ・本体部52側のメモリ などのいずれでもよく、当該プログラムは本体部52に
ロ−デイングされてその主メモリ上で実行される。
【0046】
【発明の効果】本発明は、このようなマスク作成命令v
gsmを用いてコンパイルし、またオブジェクトプログ
ラム中のマスク作成命令を実行しているので、ル−プ一
重化やル−プ融合化にともなうマスクデ−タ付きのベク
トル演算処理の高速化を図ることができる。
【0047】また、このマスク作成命令をル−プ融合化
に適用するときには、ル−プ融合化後のプログラム中の
共通式の削除や命令スケジュ−リングなどの最適化を行
なうことにより、ベクトル計算機の実効性能を一段と向
上させることができる。
【図面の簡単な説明】
【図1】本発明の、マスク生成命令を示す説明図であ
る。
【図2】本発明の、ル−プ一重化におけるマスク生成命
令の概念を示す説明図である。
【図3】図2の二重ル−プに対するコンパイル手順の概
要を示す説明図である。
【図4】本発明の、vgsm命令を使ったル−プ一重化
の例を示す説明図である。
【図5】本発明の、ル−プ一重化時のコンパイラの構成
図である。
【図6】本発明の、ル−プ一重化に関するコンパイル手
順の概要を示す説明図である。
【図7】本発明の、ル−プ融合化の説明の前提として用
いるソ−スプログラム形式を示す説明図である。
【図8】図7の並立ル−プに対するコンパイル手順の概
要を示す説明図である。
【図9】本発明の、vgsm命令を使ったル−プ融合化
の例を示す説明図である。
【図10】本発明の、ル−プ融合化時のコンパイラの構
成図である。
【図11】本発明の、ル−プ融合化に関するコンパイル
手順の概要を示す説明図である。
【図12】本発明の、マスク生成命令を実行するオブジ
ェクトプログラム実行装置を示す説明図である。
【図13】本発明の、コンピュ−タ読み取り可能な記録
媒体からプログラムを読み取って実行するコンピュ−タ
システムの概要を示す説明図である。
【図14】従来の、マスク付き一重化のコンパイル処理
の概要を示す説明図である。
【図15】図14(b) のコンパイル内容に対応の処理手
順を示す説す説明図である。
【図16】図14(b) のコンパイル内容に対応の命令イ
メ−ジを示す説明図である。
【符号の説明】
図1および図2において、 1:基本パタ−ン gr1:基本パタ−ンの偽値(0)の個数を特定する値
(レジスタ) gr2:基本パタ−ンの全体個数を特定する値(レジス
タ) gr3:マスクデ−タの始まり位置を特定する値(レジ
スタ) 2:ル−プ処理対象部分 3:基本パタ−ンの開始位置に対応の要素 4:gr1の指定位置に対応の要素 5:gr3の指定位置に対応の要素 6:gr2の指定位置でかつ要素基本パタ−ンの最終位
置に対応の要素 7:要素5からベクトル長分だけ後続の要素

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 ソ−スプログラム中の、マスクデ−タ付
    きのベクトル演算に対応の特定部分に対するコンパイル
    の実行により、マスク生成命令を出力するデ−タ処理方
    法において、 前記マスク生成命令として、 偽値または真値の一方を所定個数連続させた第1のデ−
    タ部分と、これに続く、偽値または真値の他方を所定個
    数連続させた第2のデ−タ部分と、の基本パタ−ンから
    なるデ−タ列中の所定範囲をマスクデ−タとして設定す
    るための命令を用いる、ことを特徴とするコンパイル方
    法。
  2. 【請求項2】 前記ベクトル演算が、多重ル−プの一重
    化処理に関するものであることを特徴とする請求項1記
    載のコンパイル方法。
  3. 【請求項3】 前記ベクトル演算が、並立ル−プの融合
    処理に関するものであることを特徴とする請求項1記載
    のコンパイル方法。
  4. 【請求項4】 ソ−スプログラム中の、マスクデ−タ付
    きのベクトル演算に対応の特定部分に対するコンパイル
    の実行により、マスク生成命令を出力するデ−タ処理装
    置において、 前記特定部分のベクトル演算命令を出力するベクトル化
    部と、 偽値または真値の一方を所定個数連続させた第1のデ−
    タ部分と、これに続く、偽値または真値の他方を所定個
    数連続させた第2のデ−タ部分と、の基本パタ−ンから
    なるデ−タ列中の所定範囲をマスクデ−タとして設定す
    るための、前記マスク生成命令を出力するマスク生成命
    令出力部と、を少なくとも備えたことを特徴とするコン
    パイル装置。
  5. 【請求項5】 多重ル−プ処理をマスクデ−タ付の一重
    ル−プ処理に変更したかたちのル−プ演算命令を出力す
    るマスク付き一重化実施部を備えたことを特徴とする請
    求項4記載のコンパイル装置。
  6. 【請求項6】 並立ル−プ処理を融合して最適化したか
    たちのル−プ演算命令を出力するマスク付き融合化実施
    部を備えたことを特徴とする請求項4記載のコンパイル
    装置。
  7. 【請求項7】 ソ−スプログラム中の、マスクデ−タ付
    きのベクトル演算に対応の特定部分に対するコンパイル
    の実行により、マスク生成命令を出力するデ−タ処理に
    用いられ、 前記マスク生成命令として、 偽値または真値の一方を所定個数連続させた第1のデ−
    タ部分と、これに続く、偽値または真値の他方を所定個
    数連続させた第2のデ−タ部分と、の基本パタ−ンから
    なるデ−タ列中の所定範囲をマスクデ−タとして設定す
    るための命令を出力する、機能をコンピュ−タに実現さ
    せるためのプログラムを格納したことを特徴とするコン
    ピュ−タ読み取り可能なプログラム記憶媒体。
  8. 【請求項8】 オブジェクトプログラム中のマスク生成
    命令に基づいてマスクデ−タ付きのベクトル演算を実行
    するデ−タ処理方法において、 前記マスク生成命令が、 偽値または真値の一方を所定個数連続させた第1のデ−
    タ部分と、これに続く、偽値または真値の他方を所定個
    数連続させた第2のデ−タ部分と、の基本パタ−ンから
    なるデ−タ列中の所定範囲をマスクデ−タとして設定す
    るための命令である、ことを特徴とするオブジェクトプ
    ログラム実行方法。
  9. 【請求項9】 オブジェクトプログラム中のマスク生成
    命令に基づいてマスクデ−タ付きのベクトル演算を実行
    するデ−タ処理装置において、 偽値または真値の一方を所定個数連続させた第1のデ−
    タ部分と、これに続く、偽値または真値の他方を所定個
    数連続させた第2のデ−タ部分と、の基本パタ−ンから
    なるデ−タ列中の所定範囲をマスクデ−タとして設定す
    るための、前記マスク生成命令を実行するマスクデ−タ
    作成部、を少なくとも備えたことを特徴とするオブジェ
    クトプログラム実行装置。
  10. 【請求項10】 オブジェクトプログラム中のマスク生
    成命令に基づいてマスクデ−タ付きのベクトル演算を実
    行するデ−タ処理に用いられ、 偽値または真値の一方を所定個数連続させた第1のデ−
    タ部分と、これに続く、偽値または真値の他方を所定個
    数連続させた第2のデ−タ部分と、の基本パタ−ンから
    なるデ−タ列中の所定範囲をマスクデ−タとして設定す
    るための、前記マスク生成命令を実行する、機能をコン
    ピュ−タに実現させるためのプログラムを格納したこと
    を特徴とするコンピュ−タ読み取り可能なプログラム記
    憶媒体。
JP04242298A 1998-02-24 1998-02-24 コンパイル方法,コンパイル装置および、コンパイル用プログラムを記憶したコンピュータ読み取り可能な記憶媒体 Expired - Fee Related JP3887097B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04242298A JP3887097B2 (ja) 1998-02-24 1998-02-24 コンパイル方法,コンパイル装置および、コンパイル用プログラムを記憶したコンピュータ読み取り可能な記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04242298A JP3887097B2 (ja) 1998-02-24 1998-02-24 コンパイル方法,コンパイル装置および、コンパイル用プログラムを記憶したコンピュータ読み取り可能な記憶媒体

Publications (2)

Publication Number Publication Date
JPH11242598A true JPH11242598A (ja) 1999-09-07
JP3887097B2 JP3887097B2 (ja) 2007-02-28

Family

ID=12635634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04242298A Expired - Fee Related JP3887097B2 (ja) 1998-02-24 1998-02-24 コンパイル方法,コンパイル装置および、コンパイル用プログラムを記憶したコンピュータ読み取り可能な記憶媒体

Country Status (1)

Country Link
JP (1) JP3887097B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516299B2 (en) 2005-08-29 2009-04-07 International Business Machines Corporation Splat copying GPR data to vector register elements by executing lvsr or lvsl and vector subtract instructions
US8549507B2 (en) 2007-03-23 2013-10-01 Samsung Electronics Co., Ltd. Loop coalescing method and loop coalescing device
JP2017041162A (ja) * 2015-08-21 2017-02-23 日本電気株式会社 最適化装置、方法およびプログラム
JP2017211695A (ja) * 2016-05-23 2017-11-30 富士通株式会社 情報処理装置、変換プログラム、及び変換方法
WO2021166840A1 (ja) * 2020-02-17 2021-08-26 日本電気株式会社 記録媒体、コンパイル装置、処理システム及びコンパイル方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516299B2 (en) 2005-08-29 2009-04-07 International Business Machines Corporation Splat copying GPR data to vector register elements by executing lvsr or lvsl and vector subtract instructions
US8549507B2 (en) 2007-03-23 2013-10-01 Samsung Electronics Co., Ltd. Loop coalescing method and loop coalescing device
JP2017041162A (ja) * 2015-08-21 2017-02-23 日本電気株式会社 最適化装置、方法およびプログラム
JP2017211695A (ja) * 2016-05-23 2017-11-30 富士通株式会社 情報処理装置、変換プログラム、及び変換方法
US10496408B2 (en) 2016-05-23 2019-12-03 Fujitsu Limited Information processing apparatus and conversion method
WO2021166840A1 (ja) * 2020-02-17 2021-08-26 日本電気株式会社 記録媒体、コンパイル装置、処理システム及びコンパイル方法
JPWO2021166840A1 (ja) * 2020-02-17 2021-08-26

Also Published As

Publication number Publication date
JP3887097B2 (ja) 2007-02-28

Similar Documents

Publication Publication Date Title
JP3032031B2 (ja) ループ最適化方法及び装置
JPH11242598A (ja) コンパイル方法およびコンパイル装置ならびにオブジェクトプログラム実行方法およびオブジェクトプログラム実行装置ならびにプログラム記憶媒体
JP4462676B2 (ja) プログラム変換装置、コンパイラ装置およびプログラム変換プログラムを記録したコンピュータ読み取り可能な記録媒体
JP3032030B2 (ja) ループ最適化方法及び装置
JP3196625B2 (ja) 並列化コンパイル方式
JPH1196018A (ja) コンパイル装置及び方法並びにコンパイル実行プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH11195011A (ja) 言語翻訳処理装置、言語翻訳処理方法、言語翻訳処理プログラムを記録した記録媒体
JP3367438B2 (ja) 条件実行処理装置
JP2019012324A (ja) コンパイラ
JP2003330731A (ja) プロジェクト管理ファイル生成装置
JP2003076547A (ja) 制御ソフトウェア自動生成システムおよび方法
JPS6336337A (ja) スカラ/ベクトル命令の融合スケジユ−リング処理方式
JP2022125690A (ja) 情報処理装置、情報処理プログラムおよびプログラム開発支援方法
JPH08171554A (ja) ベクトル演算の最適化コンパイラ
JPH05120323A (ja) If文下ベクトル演算最適化方式
JP2000048009A (ja) メモリアクセス処理装置および記録媒体
JPH05151248A (ja) 条件ベクトル化並列化処理装置
JP2008015665A (ja) プログラム解析方法及びプログラム解析装置
JPH05257707A (ja) コンパイル方式
JPH11161501A (ja) コンパイル装置
JPS6358574A (ja) ベクトル化処理方式
JPH05342054A (ja) 言語処理プロセッサのテスト方式
JPH06119203A (ja) デバック行削除装置
JPH06282440A (ja) プログラム編集方法、プログラム編集・実行方法およびコンピュータシステム
JPH04155576A (ja) コンパイル処理方式

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060815

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061016

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061124

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20091201

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101201

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111201

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111201

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121201

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121201

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131201

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees