JPS59180669A - 領域不変ベクトルの割付方式 - Google Patents
領域不変ベクトルの割付方式Info
- Publication number
- JPS59180669A JPS59180669A JP5548983A JP5548983A JPS59180669A JP S59180669 A JPS59180669 A JP S59180669A JP 5548983 A JP5548983 A JP 5548983A JP 5548983 A JP5548983 A JP 5548983A JP S59180669 A JPS59180669 A JP S59180669A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- register
- invariant
- instruction
- area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明は、プログラムのうち入れ子構造のループを構成
する部分、特に内部ループに領域不変べクトルをロード
するだめのベクトル・ロード命令、領域不変ベクトルを
演算するだめのベクトル演算命令および領域不変ベクト
ルをストアするだめのベクトル・ストア命令を有する入
れ子構造のループを構成する部分を最適化する領域不変
ベクトルの割付方式に関するものである。
する部分、特に内部ループに領域不変べクトルをロード
するだめのベクトル・ロード命令、領域不変ベクトルを
演算するだめのベクトル演算命令および領域不変ベクト
ルをストアするだめのベクトル・ストア命令を有する入
れ子構造のループを構成する部分を最適化する領域不変
ベクトルの割付方式に関するものである。
第1図はベクトル命令を実行する計算機システムの概要
を示すものであって、MSUは主記憶装置、MCUは記
憶制御ユニット、■Pはベクトル・プロセッサ、CHP
I−iチャネル・プロセッサ、DAはDASDをそれぞ
れ示している。
を示すものであって、MSUは主記憶装置、MCUは記
憶制御ユニット、■Pはベクトル・プロセッサ、CHP
I−iチャネル・プロセッサ、DAはDASDをそれぞ
れ示している。
ベクトル・プロセッサVPは、メモリ・アクセス・パイ
プライン、加減算パイプライン、乗算パイプライン、除
算パイプライン及びマスク・パイプラインを有している
。ベクトルeプロセッサ■がメモリ・アクセス要求を発
行すると、記憶制御ユニットMCUはこのメモリ・アク
セス要求全実行する。
プライン、加減算パイプライン、乗算パイプライン、除
算パイプライン及びマスク・パイプラインを有している
。ベクトルeプロセッサ■がメモリ・アクセス要求を発
行すると、記憶制御ユニットMCUはこのメモリ・アク
セス要求全実行する。
第2図はベクトル・プロセッサvPのレジスタ・アーキ
テクチャを示すものであって、FORないしFRngは
汎用レジスタ、VR(,1ないしV Rn vはベクト
ル・レジスタM R’OないしMRルyはマスク・レジ
スタ、VLはベクトル長をそれぞれ示している。ベクト
ル・レジスタVROないしV Rn vのそれぞれは、
演算ベクトルを格納するものであり、マスク・レジスタ
M R’0ないしM Rnυのそれぞれはマスク・ベク
トルを格納するものである。
テクチャを示すものであって、FORないしFRngは
汎用レジスタ、VR(,1ないしV Rn vはベクト
ル・レジスタM R’OないしMRルyはマスク・レジ
スタ、VLはベクトル長をそれぞれ示している。ベクト
ル・レジスタVROないしV Rn vのそれぞれは、
演算ベクトルを格納するものであり、マスク・レジスタ
M R’0ないしM Rnυのそれぞれはマスク・ベク
トルを格納するものである。
ベクトル長レジスタVLには、演算ベクトル長がセット
される。1回のベクトル長の設定で動作可能なベクトル
命令範囲をVL制御範囲という。VL制御範囲で使用す
る最大のベクトル・レジスタ数をビジー数というが、ベ
クトル・レジスタの個数とベクトル・レジスタの長さく
要素数)は、ビジー数で相違する。例えば、ビジー数が
1ないし8の場合には、長さ1024の8個のベクトル
・レジスタが論理的に存在することになり、ピーシ数が
9ないし16のときは長さが512の16個のベクトル
・レジスタが論理的に存在することになる。
される。1回のベクトル長の設定で動作可能なベクトル
命令範囲をVL制御範囲という。VL制御範囲で使用す
る最大のベクトル・レジスタ数をビジー数というが、ベ
クトル・レジスタの個数とベクトル・レジスタの長さく
要素数)は、ビジー数で相違する。例えば、ビジー数が
1ないし8の場合には、長さ1024の8個のベクトル
・レジスタが論理的に存在することになり、ピーシ数が
9ないし16のときは長さが512の16個のベクトル
・レジスタが論理的に存在することになる。
第3図はVP用FORTRANコンパイラの概要を示す
図であり、CMPはvp用FORTRANコンパイラを
示すものである。このコンパイラCMPは、ソース解釈
部、記憶域割付は部、ベクトル化部、中間コード最適化
部、レジスタ使用決定部および目的プログラム出力部を
有している。ソース解釈部はソース・プログラムをDA
SDより入力し、文解釈を行って中間コードに展開する
ものであり、記憶域割付部はプログラム中に出現する各
種データに記憶域内番地を割当てるものであり、ベクト
ル化部はプログラムのループ構造を検出し、並列実行可
能部分の記憶と中間コード変更を行うものであり、中間
コード最適化部は中間コードのレベルで■Pハードクエ
アを有効に利用する最適化を施すものであり、レジスタ
使用決定部は中間コードに現われたデータに実際の・貸
源(レジスタ)を割当てるものであり、目的プログラム
出力部は機械命令語のDASDへの出力と、機械語レベ
ルでの最適化を行うものである。
図であり、CMPはvp用FORTRANコンパイラを
示すものである。このコンパイラCMPは、ソース解釈
部、記憶域割付は部、ベクトル化部、中間コード最適化
部、レジスタ使用決定部および目的プログラム出力部を
有している。ソース解釈部はソース・プログラムをDA
SDより入力し、文解釈を行って中間コードに展開する
ものであり、記憶域割付部はプログラム中に出現する各
種データに記憶域内番地を割当てるものであり、ベクト
ル化部はプログラムのループ構造を検出し、並列実行可
能部分の記憶と中間コード変更を行うものであり、中間
コード最適化部は中間コードのレベルで■Pハードクエ
アを有効に利用する最適化を施すものであり、レジスタ
使用決定部は中間コードに現われたデータに実際の・貸
源(レジスタ)を割当てるものであり、目的プログラム
出力部は機械命令語のDASDへの出力と、機械語レベ
ルでの最適化を行うものである。
第午図は、入れ子構造のループをなし、内部ループに配
列Bと配列Cとを加算し、これを配列Aとするためのベ
クトル命令列を有する中間テキストの1例を示すもので
ある。内部ループのベクトル命令列は、ベクトルBをベ
クトル畢レジスタvt1にロードし、ベクトルCをベク
トル・レジスタυt2にロードし、ベクトル・レジスタ
υt1のベクトルとベクトル・レジスタυt2のベクト
ルを加算して加算結果をベクトル・レジスタvt3にセ
ントし、ベクトル・レジスタυt3のベクトルをベクト
ルAとしてロードするだめのものである。この内部ルー
プをm回実行した後、制御変数Jの値は更新される。制
御変数Jの値が定められた値になると、入れ子構造のル
ープの処理は終了したことになる。ベクトルA、B、C
が制御変数Jに無関係な場合、これを領域不変ベクトル
という。
列Bと配列Cとを加算し、これを配列Aとするためのベ
クトル命令列を有する中間テキストの1例を示すもので
ある。内部ループのベクトル命令列は、ベクトルBをベ
クトル畢レジスタvt1にロードし、ベクトルCをベク
トル・レジスタυt2にロードし、ベクトル・レジスタ
υt1のベクトルとベクトル・レジスタυt2のベクト
ルを加算して加算結果をベクトル・レジスタvt3にセ
ントし、ベクトル・レジスタυt3のベクトルをベクト
ルAとしてロードするだめのものである。この内部ルー
プをm回実行した後、制御変数Jの値は更新される。制
御変数Jの値が定められた値になると、入れ子構造のル
ープの処理は終了したことになる。ベクトルA、B、C
が制御変数Jに無関係な場合、これを領域不変ベクトル
という。
第5図は配列Bと配列Cと加算して配列Cを作る処理を
説明するものである。いま、配列A、B、Cの要素数を
ル、ベクトル拳レジスタの長さを512、ルを512で
割ったときの商をSとし、剰余をXとする。この場合、
ベクトル長レジスタVLには512がセントされ、また
、回転数mはS+1となる。先ず、配列Bの第0番地(
先頭)ないし第x −1番地のベクトルを取り出してベ
クトル・レジスタvt1にロードし、配列Cの第0番地
ないし第x −1番地のベクトルを取り出してベクトル
・レジスタvt2にロードし、ベクトル争レジスタvt
1とベクトル費レジスタvt2を加算して加算結果をベ
クトル・レジスタυt3に入れ、ベクトル・ ゛レジス
タυt3の中のベクトルを配列Aの第0番地ないし第x
−1番地にストアする。次に、配列Bの第X番地ないし
第、T +511番地のベクトルをベクトル・レジスタ
υt1にロードし、配列Cの第X番地ないし第、T+5
11番地のベクトルをベクトル9レジスタvt2にロー
ドし、ベクトル・レジスタνt1とベクトル・レジスタ
υt2の加算結果をベクトル轡レジスタvt3にセット
口、ベクトル・レジスタυt3のベクトルを配列Aの第
X番地ないし第$+511番地にストアする。以下、同
様な処理を繰返し数がmになるまで行う。
説明するものである。いま、配列A、B、Cの要素数を
ル、ベクトル拳レジスタの長さを512、ルを512で
割ったときの商をSとし、剰余をXとする。この場合、
ベクトル長レジスタVLには512がセントされ、また
、回転数mはS+1となる。先ず、配列Bの第0番地(
先頭)ないし第x −1番地のベクトルを取り出してベ
クトル・レジスタvt1にロードし、配列Cの第0番地
ないし第x −1番地のベクトルを取り出してベクトル
・レジスタvt2にロードし、ベクトル争レジスタvt
1とベクトル費レジスタvt2を加算して加算結果をベ
クトル・レジスタυt3に入れ、ベクトル・ ゛レジス
タυt3の中のベクトルを配列Aの第0番地ないし第x
−1番地にストアする。次に、配列Bの第X番地ないし
第、T +511番地のベクトルをベクトル・レジスタ
υt1にロードし、配列Cの第X番地ないし第、T+5
11番地のベクトルをベクトル9レジスタvt2にロー
ドし、ベクトル・レジスタνt1とベクトル・レジスタ
υt2の加算結果をベクトル轡レジスタvt3にセット
口、ベクトル・レジスタυt3のベクトルを配列Aの第
X番地ないし第$+511番地にストアする。以下、同
様な処理を繰返し数がmになるまで行う。
第4図に示されているような入れ子構造ループは、制御
変数Jの回転数をNとすると、ロードの回数は、 N X m X 2 となり、ストアの回数は Xm と力る。ベクトル・プロセッサ■Pの処理効率を向上さ
せるためには、主記憶装置をアクセスする回数は可能な
眼り少なくすることが望まれる。
変数Jの回転数をNとすると、ロードの回数は、 N X m X 2 となり、ストアの回数は Xm と力る。ベクトル・プロセッサ■Pの処理効率を向上さ
せるためには、主記憶装置をアクセスする回数は可能な
眼り少なくすることが望まれる。
本発明は、上記の考察に基づくものであって、入れ子構
造をなし且つ内部ループに領域不変ベクトルをロード/
ストアするベクトル命令を有するプログラムを効率のよ
いプログラムに変換する領域不変ベクトルの割付方式を
提供することを目的としている。
造をなし且つ内部ループに領域不変ベクトルをロード/
ストアするベクトル命令を有するプログラムを効率のよ
いプログラムに変換する領域不変ベクトルの割付方式を
提供することを目的としている。
そしてそのため、本発明の領域不変ベクトルの割付方式
は入れ子構造のループを構成し、且つ内側ループに領域
不変ベクトルをベクトル・レジスタにロードするだめの
ベクトル−・ロード命令、ベクトル・レジスタ内の領域
不変ベクトルを演算するだめのベクトル命令およびベク
トル・レジスタ内の領域不変ベクトルをストアするため
のベクトル・ストア命令を有するプログラムを最適化す
る領域不変ベクトルの割付方式において、演算対象とな
る領域不変ベクトルの全要素数をベクトル・レジスタの
ベクトル長で割ったときの商をm1剰余をXとするとき
、外側のループのパック・ターゲットに、ベクトル長レ
ジスタに値Xを設定するだめの命令、領域不変ベクトル
をループ中で恒久割付可能なレジスタ1υtにロードす
るだめの命令を配置し、内側ループに、ベクトル長レジ
スタに値Xを設定するための命令、上記の恒久割付可能
なレジスタJυを同志の演算を行わせるだめの命令、回
転数をmとする命令、ベクトル長レジスタにベクトル・
レジスタのベクトル長を設定するための命令、領域不変
ベクトルをベクトル・レジスタにロードするためのベク
トル・ロード命令、ベクトル書レジスタ内の領域不変ベ
クトル演算するベクトル演算命令およびベクトル・レジ
スタ内の領域不変ベクトルをストアするだめのベクトル
・ストア命令を配置し、外側ループのフォワード・ター
ゲットに、ベクトル長レジスタに値xを設定する命令、
恒久的割付可能なレジスタgvt内の領域不変ベクトル
をストアするためのストア命令を配置することを特徴と
するものである。
は入れ子構造のループを構成し、且つ内側ループに領域
不変ベクトルをベクトル・レジスタにロードするだめの
ベクトル−・ロード命令、ベクトル・レジスタ内の領域
不変ベクトルを演算するだめのベクトル命令およびベク
トル・レジスタ内の領域不変ベクトルをストアするため
のベクトル・ストア命令を有するプログラムを最適化す
る領域不変ベクトルの割付方式において、演算対象とな
る領域不変ベクトルの全要素数をベクトル・レジスタの
ベクトル長で割ったときの商をm1剰余をXとするとき
、外側のループのパック・ターゲットに、ベクトル長レ
ジスタに値Xを設定するだめの命令、領域不変ベクトル
をループ中で恒久割付可能なレジスタ1υtにロードす
るだめの命令を配置し、内側ループに、ベクトル長レジ
スタに値Xを設定するための命令、上記の恒久割付可能
なレジスタJυを同志の演算を行わせるだめの命令、回
転数をmとする命令、ベクトル長レジスタにベクトル・
レジスタのベクトル長を設定するための命令、領域不変
ベクトルをベクトル・レジスタにロードするためのベク
トル・ロード命令、ベクトル書レジスタ内の領域不変ベ
クトル演算するベクトル演算命令およびベクトル・レジ
スタ内の領域不変ベクトルをストアするだめのベクトル
・ストア命令を配置し、外側ループのフォワード・ター
ゲットに、ベクトル長レジスタに値xを設定する命令、
恒久的割付可能なレジスタgvt内の領域不変ベクトル
をストアするためのストア命令を配置することを特徴と
するものである。
以下、本発明を図面乞参照しつつ説明する。
第6図は不発明の概要を示す図である。本発明において
は、先ず、領域不変ベクトルのgvt化が行わn7)。
は、先ず、領域不変ベクトルのgvt化が行わn7)。
gvt トは、GLOBAL VECTORTEMPO
RARYの略であり1.qυtレジスタとはループ中で
恒久割付可能なベクトル・レジスタ(以下、単にqvt
という)を意味している。領域不変ベクトルの1vt化
を行った後、VL制御範囲をmod部と1oop部に分
割する。modはModwltLsの略であり、剰余の
ことである。VL制御範囲をrnoti部と1oop部
に分割した後、moct部の領域不変ベクトルの移動を
行う。なお、本発明は第4図の中間コード最適化部に関
するものである。
RARYの略であり1.qυtレジスタとはループ中で
恒久割付可能なベクトル・レジスタ(以下、単にqvt
という)を意味している。領域不変ベクトルの1vt化
を行った後、VL制御範囲をmod部と1oop部に分
割する。modはModwltLsの略であり、剰余の
ことである。VL制御範囲をrnoti部と1oop部
に分割した後、moct部の領域不変ベクトルの移動を
行う。なお、本発明は第4図の中間コード最適化部に関
するものである。
領域不変ベクトルのgvt化は、下記のような手′晒で
行われる。
行われる。
(1) 5CR(Stron、、qtyConrbe
ctedRegion、)内で参照のみの領域不変ベク
トルをgvi化の候補とし7て選出する(ロード命令に
対応)。なお、SCRと(はDOループに対応するもの
と考えてよい。
ctedRegion、)内で参照のみの領域不変ベク
トルをgvi化の候補とし7て選出する(ロード命令に
対応)。なお、SCRと(はDOループに対応するもの
と考えてよい。
(2) SCR内で定義有りの領域不変ベクトルをg
vi化の候補として選出する(ストア命令に対応)。
vi化の候補として選出する(ストア命令に対応)。
(3) 使用類Hgの多い順に、選出されたqvt候
補の順序付を行う。
補の順序付を行う。
(4) ανを候補からgvtを決定する。
(5) gvtの割付けを行つと共に、領域不変ベク
トルに対応するvtの引用をqvtでf(キ換える。
トルに対応するvtの引用をqvtでf(キ換える。
第7図はベクトル加算命令を含む入れ子構造のD Oル
ープと、これに対応する中間テキストを示すものである
。配列A、B、CはJに対して不変である。B(’X’
l、C(−X)、AC@の苦は1ないしnの全部を意味
する。第7図において、B(へ)、0例)、A(殉が部
域不変ベクトルである。
ープと、これに対応する中間テキストを示すものである
。配列A、B、CはJに対して不変である。B(’X’
l、C(−X)、AC@の苦は1ないしnの全部を意味
する。第7図において、B(へ)、0例)、A(殉が部
域不変ベクトルである。
第8図はgviの割付けと、領域不変ベクトルに対する
vtのgvtへの置き換えを説明するものである。vj
lがgutlに、vt2がqvt 2に、vt3がgv
i3に置き換えられる。
vtのgvtへの置き換えを説明するものである。vj
lがgutlに、vt2がqvt 2に、vt3がgv
i3に置き換えられる。
次に■L制御範囲をmod部とLoo7・部に分割する
。いま、配列A、B、Cの要素数を1500、ベクトル
・レジスタの長さを512とする。剰余、rはこ1=
)lLOd−< 1500.512 ) =
476商Sは S = (15001512) = 2となる。なお、
回転数mはSと等しく、2となる。
。いま、配列A、B、Cの要素数を1500、ベクトル
・レジスタの長さを512とする。剰余、rはこ1=
)lLOd−< 1500.512 ) =
476商Sは S = (15001512) = 2となる。なお、
回転数mはSと等しく、2となる。
配列A、B、Cの要素数を1500、ベクトル・し・ジ
スタの長さを512とした場合、第8図のgvi化され
た中間テキストは、第9図に示すようにynoc1部と
1oop部に分割される。
スタの長さを512とした場合、第8図のgvi化され
た中間テキストは、第9図に示すようにynoc1部と
1oop部に分割される。
最後に、mod部の領域不変ベクトルの移動について説
明する。第10図に示すように、tnocL錦の領域不
変ベクトルのロード命令をSCRのバック・ターゲット
に移動し、次にm、od、部の領域不変ベグ1ルのスト
ア命令をSCRのフォワード・ターゲ;iK移動し2、
最後に1oop部の、qvtをvtで置き1′J!える
。第9図の中間テキストに対j7て一ヒ記の処理を施す
と、第11図のような中間テキストが得らハる。
明する。第10図に示すように、tnocL錦の領域不
変ベクトルのロード命令をSCRのバック・ターゲット
に移動し、次にm、od、部の領域不変ベグ1ルのスト
ア命令をSCRのフォワード・ターゲ;iK移動し2、
最後に1oop部の、qvtをvtで置き1′J!える
。第9図の中間テキストに対j7て一ヒ記の処理を施す
と、第11図のような中間テキストが得らハる。
以上の説明から明らかなように、本発明によれば、「J
−ド/ストア命令の実行回数を従来方式に汁I L、減
すことが出来る。
−ド/ストア命令の実行回数を従来方式に汁I L、減
すことが出来る。
第1図はベクトル命令を実行する計算機システムの1例
を示す図、第2図はベクトル・ブロセッ%jのレジスタ
ーアーキテクチャを示す図、第3図(壊VP用FORT
RANコンパイラの概要を示す図、ケ4図は入れ子構造
のループをもつ中間テキストの1例を示す図、第5図は
配列Bと配列Cと加算して配列Cを作る処理を説明する
図、第6図は本発明の概要を示す図、第7図はベクトル
加算命令を含む入れ子構造のDOループとこれに対応す
る中間テキストを示す図、第8図はqvtの割付とvt
のqvtへの置き換えを説明する図、第9図はm、od
。 部と1oopの分割を説明する図、第10図はmor1
部の領域不変ベクトル移動するだめの手順を示す図、第
11図はnod、@の領域不変ベクトルの移動が行われ
た後の中間テキストの1例を示す図である。 MSU・・・主記憶ユニット、M CU・・・記憶制御
ユニッ)、VP・・・ベクトル命フ′ロセソ丈、DA・
・・DASDlF ROないしFR,ng−・汎用レジ
スタ、■L・・・へ゛クトル長レジスタ、VROないし
VRルυ・・・ベクトル・レジスタ、MROないしM
Rn v・・・マスク・レジスタ。 特許出願人 富士通株式会社 代理人弁理士 京 谷 四 部 材2(2) [面=] 材41必 fc)I刀 F<v(ヌ)戸−1・・・ 1七′?→骨6図 ! 骨70 〈ソースイ刊〉 牙8(2) 材9(2) プ10(2) 骨111力 SC尺のハ゛・J7ターゲパノト SCRの万ワードター7:、ト 371−
を示す図、第2図はベクトル・ブロセッ%jのレジスタ
ーアーキテクチャを示す図、第3図(壊VP用FORT
RANコンパイラの概要を示す図、ケ4図は入れ子構造
のループをもつ中間テキストの1例を示す図、第5図は
配列Bと配列Cと加算して配列Cを作る処理を説明する
図、第6図は本発明の概要を示す図、第7図はベクトル
加算命令を含む入れ子構造のDOループとこれに対応す
る中間テキストを示す図、第8図はqvtの割付とvt
のqvtへの置き換えを説明する図、第9図はm、od
。 部と1oopの分割を説明する図、第10図はmor1
部の領域不変ベクトル移動するだめの手順を示す図、第
11図はnod、@の領域不変ベクトルの移動が行われ
た後の中間テキストの1例を示す図である。 MSU・・・主記憶ユニット、M CU・・・記憶制御
ユニッ)、VP・・・ベクトル命フ′ロセソ丈、DA・
・・DASDlF ROないしFR,ng−・汎用レジ
スタ、■L・・・へ゛クトル長レジスタ、VROないし
VRルυ・・・ベクトル・レジスタ、MROないしM
Rn v・・・マスク・レジスタ。 特許出願人 富士通株式会社 代理人弁理士 京 谷 四 部 材2(2) [面=] 材41必 fc)I刀 F<v(ヌ)戸−1・・・ 1七′?→骨6図 ! 骨70 〈ソースイ刊〉 牙8(2) 材9(2) プ10(2) 骨111力 SC尺のハ゛・J7ターゲパノト SCRの万ワードター7:、ト 371−
Claims (1)
- 入れ子構造のループを構成し、且つ内側ループに領域不
変ベクトルをベクトル・レジスタにロードするだめのベ
クトル・ロード命令、ベクl−/し・レジスタ内の領域
不変ベクトルを演算するだめのベクトル命令およびベク
トル・レジスタ内の領域不変ベクトルをストアするだめ
のベクトル・ストア命令を有するプログラムを最適化す
る領域不変ベクトルの割付方式において、演算対象とな
る領域不変ベクトルの全要素数をベクトル・レジスタの
ベクトル長で割ったときの商をm1刺余をXとするとき
、外側のループのパック・ターゲットに、ベクトル長レ
ジスタに値Xを設定するだめの命令、領域不変ベクトル
をループ中で恒久割付可能なレジスタgvtにロードす
るだめの命令を配置し、内側ループに、ベクトル長レジ
スタに値Xを設定するだめの命令、上記の恒久割付可能
なレジスタlυを同志の演算を行わせるだめの命令、回
転数をmとする命令、ベクトル長レジスタにベクトル会
しジヌタのベクトル長を設定するだめの命令、領域不変
ベクトルをベクトル・レジスタにロードするだめのベク
トル・ロード命令、ベクトル・レジスタ内の領域不変ベ
クトル演算するベクトル演算命令およびベクトル・レジ
スタ内の領域不変ベクトルをストアするためのベクトル
・ストア命令を配置し、外側ループのフォワード・ター
ゲットに、ベクトル長レジスタに値Xを設定する命令、
恒久的割付可能なレジスタgvt内の領域不変ベク°ト
ルをストアするためのストア命令を配置することを特徴
とする領域不変ベクトルの割付方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5548983A JPH0233188B2 (ja) | 1983-03-31 | 1983-03-31 | Ryoikifuhenbekutorunowaritsukehoshiki |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5548983A JPH0233188B2 (ja) | 1983-03-31 | 1983-03-31 | Ryoikifuhenbekutorunowaritsukehoshiki |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS59180669A true JPS59180669A (ja) | 1984-10-13 |
JPH0233188B2 JPH0233188B2 (ja) | 1990-07-25 |
Family
ID=13000038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5548983A Expired - Lifetime JPH0233188B2 (ja) | 1983-03-31 | 1983-03-31 | Ryoikifuhenbekutorunowaritsukehoshiki |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0233188B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009151422A (ja) * | 2007-12-19 | 2009-07-09 | Kddi Corp | プロセッサデバイスに基づくソースコード変換プログラム及び装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0632278U (ja) * | 1992-10-06 | 1994-04-26 | ヤンマー農機株式会社 | 移動作業機の車高調節装置 |
-
1983
- 1983-03-31 JP JP5548983A patent/JPH0233188B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009151422A (ja) * | 2007-12-19 | 2009-07-09 | Kddi Corp | プロセッサデバイスに基づくソースコード変換プログラム及び装置 |
Also Published As
Publication number | Publication date |
---|---|
JPH0233188B2 (ja) | 1990-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5958048A (en) | Architectural support for software pipelining of nested loops | |
US6113650A (en) | Compiler for optimization in generating instruction sequence and compiling method | |
JP3847672B2 (ja) | コンパイラ装置及びコンパイル方法 | |
US5099447A (en) | Blocked matrix multiplication for computers with hierarchical memory | |
US5303357A (en) | Loop optimization system | |
US7631305B2 (en) | Methods and products for processing loop nests | |
Kim et al. | Efficient SIMD code generation for irregular kernels | |
US5247696A (en) | Method for compiling loops having recursive equations by detecting and correcting recurring data points before storing the result to memory | |
JPH05143332A (ja) | 命令スケジユーラを備えたコンピユータ・システム及び入力命令シーケンスを再スケジユールする方法 | |
CN111381880B (zh) | 一种处理器、介质和处理器的操作方法 | |
KR19980032264A (ko) | 벡터 프로세서 프로그래밍 및 벡터 프로세서와 risc 프로세서를 구비하는 비대칭 이중 프로세서의 병렬 프로그래밍 | |
Hormati et al. | Macross: Macro-simdization of streaming applications | |
JPS63132338A (ja) | コード生成方法 | |
US9841957B2 (en) | Apparatus and method for handling registers in pipeline processing | |
JPS59180669A (ja) | 領域不変ベクトルの割付方式 | |
Tian et al. | Optimizing gpu register usage: Extensions to openacc and compiler optimizations | |
JP2018124877A (ja) | コード生成装置、コード生成方法、およびコード生成プログラム | |
JP7006097B2 (ja) | コード生成装置、コード生成方法及びコード生成プログラム | |
JPH06103462B2 (ja) | ベクトル・レングス制御範囲分割処理方式 | |
JPS59165147A (ja) | コンパイラにおける条件文のベクトル命令化方式 | |
EP4227795A1 (en) | A computer-implemented method and a computer-readable medium | |
Luo et al. | Parallel Optimization of Super Pixel Algorithm SLIC | |
US11275712B2 (en) | SIMD controller and SIMD predication scheme | |
JPH06290057A (ja) | ループ最適化方法 | |
Moldovanova et al. | Energy efficiency and performance of auto-vectorized loops on intel xeon processors |