特許
J-GLOBAL ID:200903059909321328
並列計算機
発明者:
,
,
出願人/特許権者:
代理人 (1件):
三好 秀和 (外1名)
公報種別:公開公報
出願番号(国際出願番号):特願平5-074743
公開番号(公開出願番号):特開平6-290207
出願日: 1993年03月31日
公開日(公表日): 1994年10月18日
要約:
【要約】【目的】 本発明の目的は、並列に動作する複数のベクトル演算部を持った計算機用のコンパイラが、ソースプログラム中のIF文を含むループを高速に実行できる目的プログラムを生成できるようにすることにある。【構成】 ループ中のIF文・IF文により制御される複数の処理・IF文で評価される変数を定義する部分はベクトル化によりそれぞれマスク生成部とマージ部・被制御処理部・評価変数定義部、と定義できる中間コード部分になる。本発明はこれらの中間コード部分を判別する手段と、マスク処理はマージ部のみで行えばよいことに注目して、データ依存関係から、被制御処理部を評価変数定義とマスク生成部を合わせたものの内並列化可能な部分と並列処理できるように中間コードを変形する手段とからなる。【効果】 従来に比してベクトル長の長い処理間での並列化が実現でき、高速実行が望める。
請求項(抜粋):
一つの主記憶装置と前記主記憶装置を共有し並列に動作する複数のベクトル演算部とを備えた計算機の為の、与えられたソースプログラムから中間コードを経て目的プログラムを生成するコンパイラにおいて、前記コンパイラの構文解析により得られる前記中間コード、または前記中間コードに対しベクトル化できる部分についてベクトル化操作を施したベクトル化中間コード、のコード最適化部が、前記ソースプログラム内にIF文を含むループ構造が存在し且つ当該IF文の真偽判断により制御される処理が複数存在する場合、前記ループ構造中の当該IF文で制御される複数の前記処理に対応する被制御処理部と、前記被制御処理部の実行・不実行を制御するマスクを生成する前記IF文に対応するマスク生成部と、前記IF文で評価する変数を定義する部分即ち評価変数定義部と、前記被制御処理部で得られた前記複数の処理による複数の処理結果を前記マスクを用いてマージし最終結果を得るマージ部と、を判別する手段と、前記評価変数定義部と前記マスク生成部とを合わせたものの内で、前記被制御処理部の少なくとも一部と並列実行化可能な部分について、並列実行可能なように前記中間コードまたは前記ベクトル化中間コードを変形する手段と、を有することを特徴とするコンパイラ。
IPC (3件):
G06F 15/347
, G06F 9/45
, G06F 15/16 430
前のページに戻る