JPS63120367A - プログラム変換装置 - Google Patents

プログラム変換装置

Info

Publication number
JPS63120367A
JPS63120367A JP26692786A JP26692786A JPS63120367A JP S63120367 A JPS63120367 A JP S63120367A JP 26692786 A JP26692786 A JP 26692786A JP 26692786 A JP26692786 A JP 26692786A JP S63120367 A JPS63120367 A JP S63120367A
Authority
JP
Japan
Prior art keywords
range
code
sentence
statement
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP26692786A
Other languages
English (en)
Inventor
Masaru Nakai
賢 中井
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP26692786A priority Critical patent/JPS63120367A/ja
Publication of JPS63120367A publication Critical patent/JPS63120367A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、文相瓦間の依存関係のためにベクトル化不可
能であるようなループを除くループ(以下、文独立ルー
プ)中の、両辺に同じ配列変数があられれ且つ添字が実
行時に決定しループ中で変化しない変数を含んでいるた
めにベクトル化可能なループ範囲がコンパイル時に決定
できない文(以下、非決定性再帰文)を含むようなソー
スプログラムの変換装置に関するものである。
従来の技術 従来のベクトルコンパイラは、再帰文に関しては文独立
ループ中の決定性再帰文に関しては、右辺にあられれる
左辺と同じ配列変数のすべてに対して、ベクトル化可能
条件(以下、■条件)式(右辺添字−左辺添字)×ルー
プ増分≧Oの右辺が0以上の定数である場合にはベクト
ル化を行う。
発明が解決しようとする問題点 しかし、非決定性再帰文に関してはいかなる場合にもベ
クトル化することができないという問題点があった。例
えば下記のようなりOループをコンパイルする場合を忠
定する。
Do  10 1=1.100 A(I+N)  雲A(2*I)      ・・・・
・・■10   C0NTINUE この例では、■の決定性再帰文の■条件式は(2xI−
(1+N)l xi≧O であり、これを変形すると [−N≧O となり、実行時にN< l OOであれば1がN〜10
0の範囲はベクトル化可能範囲(以下、■範囲)となる
。しかし、従来のベクトルコンパイラではこの例のよう
な非決定性再帰文ば全くベクトル化されなかった。
そこで本発明は、文独立ループ中の非決定性再帰文に関
してはコンパイル時に■条件を解くことができるものは
変数を含めた形で解いておき、実行時に変数の値に応じ
て決定されるV範囲とベクトル化不可能範囲(以下、N
V範囲)に対してそれぞれベクトル化した目的コード(
以下、■コード)とベクトル化しない目的コード(以下
、NVコード)を選択実行できるような目的プログラム
を生成し、■範囲ではベクトル処理が行えるようにする
ものである。
問題点を解決するための手段 上記問題点を解決するだめの本発明の技術的な手段は従
来のベクトルコンパイラに、文独立ループ中の非決定性
再帰文を検出した場合に■条件を解くことができるもの
は変数を含んだ形でコンパイル時に解き、実行時に変数
の値に応じて決定されるV範囲とNV範囲に対してそれ
ぞれ■コードとNVコードを選択実行することができる
ような目的プログラムを生成する手段を追加したものを
主記憶装置中に格納するものである。
作用 この技術的手段による作用は次のようになる。
ソースプログラムの文独立ループ中の非決定性再帰文を
検出した場合は、■条件を解くことができるものは変数
を含んだ形でコンパイル時に解いておくことで、実行時
に変数の値に応じて決定されV範囲とNV範囲に対して
それぞれ■コードとNVコードを選択実行することがで
きるような目的プログラムが生成されるので、■範囲で
はベクトル処理が行われて実行時間が短縮される。
実施例 以下、本発明の一実施例を図面を参照しながら説明する
第1図は本発明のハードウェア構成の一例を示すもので
ある。第1図において1は非決定性再帰文を含むソース
プログラムの変換手段を格納した主記憶装置、2は記憶
制御装置、3は中央処理装置、4はチャネルプロセッサ
、5はソースプログラム格納用大記憶装置、6は目的プ
ログラム格納用大記憶装置をあられしている。
第2図は、非決定性再帰文を含むソースプログラムの変
換手段の機能ブロック図である。ソース解釈部は、ソー
スプログラムを第1図、5の大記憶装置から入力して、
文を解釈して中間コードに変換する。記憶域割付部は、
プログラム中の各種データの番地割付を行う、ループ処
理部はプログラム中よりループを検出して、それに対す
る処理を行い、中間コードを変更する部分である。目的
プログラム出力部は、変更後の中間コードを目的プログ
ラムに変換して第1図、6の大記憶装置に出力する部分
である。
第3図は、第2図のループ処理部における処理の流れを
示すものである。全体としては、文独立ループ部分に関
してのみは中間コードを変更するという処理を行ってい
る。まずループ範囲を取り出す。次に、このループが文
独立であるかどうかチェックしながら、ループ中の各文
を非決定性再帰文とその他の文に分類しもとのコードに
その情報を付加したものをワークファイルへ出力する。
ここまでは従来の技術を用いて実現できる。続いてルー
プが文独立でなかった場合にはもとのコードをそのまま
出力する。ループが文独立であった場合にはワークファ
イルから一文ずつ読み込み、非決定性再帰文に関しては
後で説明する非決定性再帰文処理を行って中間コードを
変更し、その他の文に関しては既存のベクトルコンパイ
ラと同じ判断基準でベクトル処理を行う中間コードもし
くは逐次処理を行う中間コードに変更する。以上の処理
を繰り返し中間コード全体に変更を加えるゆ第4図は、
非決定性再帰文処理部分の処理の流れを示すものである
。非決定性再帰文の右辺におりる左辺の配列変数と同じ
配列すべてに対してV条件式を作成し、各条件式につい
て 左辺−〇の解かもとめられる場合には変数を含めた
形で求めておき、左辺の最高次の係数とともに記憶して
おく。もし解けないものがあった場合には、その文に関
してはベクトル化は行わないことにする。
そして、実行時の変数の値に応じて、各範囲でベクトル
処理と逐次処理を選択実行できるような中間コードに変
更する。
第5図は、最終的な目的プログラムにおける非決定性再
帰文の部分の処理の流れを示すものである。各V条件式
の 左辺−〇 の解と左辺の最高次の係数に実行時の変
数の値を代入することで各■条件式に対する解を求め、
それらの交わりをとることでV範囲とNV範囲を決定す
る。そしてV範囲ではVコーt゛を、NV範囲ではNV
コードを選択実行する。
発明の効果 以上述べてきたように本発明には、文独立ループ中の非
決定性再J11文をV範囲でばVコードで実行させるよ
うな目的プログラムを生成することで実行時間を短縮さ
せるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例であるハードウェアの構成図
、第2図は本発明のソースプログラム変換手段の機能ブ
ロック図、第3図はループ処理部における処理の流れ図
、第4図は非決定性再帰文処理部分の処理の流れ図、第
5図は生成される目的プログラムの非決定性再帰文の処
理の流れ図である。 1・・・・・・非決定性再帰文を含むソースプログラム
の変換手段を格納した主記憶装置、2・・・・・・記憶
制御装置、3・・・・・・中央処理装置、4・・・・・
・チャネルプロセッサ、5・・・・・・ソースプログラ
ム格納用大記憶装置、6・・・・・・目的プログラム格
納用大記憶装置。 代理人の氏名 弁理士 中尾敏男 はか1名第 3 図 第4図

Claims (1)

    【特許請求の範囲】
  1. ソースプログラム格納用大記憶装置と目的プログラム格
    納用大記憶装置と主記憶装置を具備し、ソースプログラ
    ムにおける文独立ループ中から非決定性再帰文を検出し
    た場合、その文のベクトル化可能条件式を解くことがで
    きるものは変数を含んだ形でコンパイル時に解いておく
    ことで、実行時に変数の値に応じて決定されるベクトル
    化可能範囲とベクトル化不可能範囲に対してそれぞれベ
    クトル化した目的コードとベクトル化しない目的コード
    を選択実行することができるような目的プログラムを生
    成する手段を主記憶装置中に格納していることを特徴と
    するプログラム変換装置。
JP26692786A 1986-11-10 1986-11-10 プログラム変換装置 Pending JPS63120367A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26692786A JPS63120367A (ja) 1986-11-10 1986-11-10 プログラム変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26692786A JPS63120367A (ja) 1986-11-10 1986-11-10 プログラム変換装置

Publications (1)

Publication Number Publication Date
JPS63120367A true JPS63120367A (ja) 1988-05-24

Family

ID=17437615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26692786A Pending JPS63120367A (ja) 1986-11-10 1986-11-10 プログラム変換装置

Country Status (1)

Country Link
JP (1) JPS63120367A (ja)

Similar Documents

Publication Publication Date Title
RH Jr Parallel symbolic computing
US5230053A (en) Processor scheduling method for iterative loops
JPH01108638A (ja) 並列化コンパイル方式
JPH0814817B2 (ja) 自動ベクトル化方法
KR102182198B1 (ko) 데이터 처리 그래프 컴파일
Walsh et al. Paragen: a novel technique for the autoparallelisation of sequential programs using gp
Wu et al. Parallelism encapsulation in C++
JPS63120367A (ja) プログラム変換装置
JPH04293150A (ja) コンパイル方法
JPS63120368A (ja) プログラム変換装置
JPS63120369A (ja) プログラム変換装置
JPH03135630A (ja) 命令スケジューリング方式
Chandraiah et al. Designer-controlled generation of parallel and flexible heterogeneous MPSoC specification
Williams et al. Genetic compilers: A new technique for automatic parallelisation
Smith Parallel Computing in C/C++
Brownhill et al. A hierarchical parallelizing compiler for VLIW/MIMD machines
Maurer Mapping the Data Flow Model of Computation into an Enhanced Von Neumann Processor.
JPS6116362A (ja) ベクトルプロセツサ制御処理方式
Phuc et al. Enhancing the performance of android applications on multi-core processors by selecting parallel configurations for source codes
JPH0713962A (ja) コンパイラ装置
JPH02132525A (ja) コンパイル方法
Westendorp Programming a Coarse-Grained Reconfigurable Architecture using Halide
JP2000222369A (ja) 並列/ベクトル化方法およびその手順が記録された記録媒体
JPS63106865A (ja) 再帰演算を含むル−プのベクトル化方法
JPH0754511B2 (ja) ベクトル化処理方式