JPS6252899B2 - - Google Patents

Info

Publication number
JPS6252899B2
JPS6252899B2 JP18614980A JP18614980A JPS6252899B2 JP S6252899 B2 JPS6252899 B2 JP S6252899B2 JP 18614980 A JP18614980 A JP 18614980A JP 18614980 A JP18614980 A JP 18614980A JP S6252899 B2 JPS6252899 B2 JP S6252899B2
Authority
JP
Japan
Prior art keywords
size
vector
program
registers
object program
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.)
Expired
Application number
JP18614980A
Other languages
English (en)
Other versions
JPS57109085A (en
Inventor
Yoshuki Tanakura
Fumio Isobe
Yukio Kamya
Takamichi Arakawa
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 JP18614980A priority Critical patent/JPS57109085A/ja
Publication of JPS57109085A publication Critical patent/JPS57109085A/ja
Publication of JPS6252899B2 publication Critical patent/JPS6252899B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Complex Calculations (AREA)
  • Devices For Executing Special Programs (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】 本発明は、複数の演算器を有する並列計算機に
おいて、複数演算器上におけるオブジエクト・プ
ログラムの実行の状態をシミユレートし、命令の
実行順序を入れ換えて実行時間が最短になるよう
なオブジエクト・プログラムを作成できるように
した並列計算機のオブジエクト・プログラム最適
化方式に関するものである。
科学技術計算用に各種の並列計算機が提案され
ているが、これらの並列計算機は一般のスカラ形
の計算機のようにオブジエクト・プログラムで指
定される命令を順序どおりに1個ずつ行うもので
なく、複数の演算器によつて複数の命令を並列処
理するものである。一般のスカラ―計算機のオブ
ジエクト・プログラムの最適化については従来よ
り種々の提案がされているが、複数の演算器を持
つ並列計算機のオブジエクト・プログラムをその
並列動作のタイミングおよび実行時間をも考慮し
て最適化することは、いまゝで行われていなかつ
た。
本発明は、上記の考察に基づくものであつて、
ソース・プログラムで指定された処理を最短時間
で実行できるようになつたオブジエクト・プログ
ラムを作成できるようになつた並列計算機のオブ
ジエクト・プログラムの最適化方式を提供するこ
とを目的としている。そしてそのため、本発明の
並列計算機のオブジエクト・プログラム最適化方
式は、互いに独立して動作できる複数の演算器を
有すると共に、ベクトル・レジスタの大きさmと
ベクトル・レジスタの個数nの積が一定の範囲で
大きさm及び個数nを任意の値に定めることがで
きるように構成された並列計算機のオブジエク
ト・プログラムを最適化する並列計算機のオブジ
エクト・プログラム最適化方式において、 (a) ベクトル・レジスタの大きさmとベクトル・
レジスタの個数nが積が一定である条件の下で
大きさm及び個数nを定める処理と、 (b) (a)で定められた大きさm及び個数nを基にし
て、ソース・プログラムで指定された処理を行
う仮りのオブジエクト・プログラムを作成し、
当該オブジエクト・プログラムの複数演算器上
での動作タイミング及び各動作時間のシミユレ
ートを基にして実行タイムチヤートを作成し、
当該実行タイムチヤートから時間軸方向におけ
る空き状態の演算器を見付け、当該演算器の空
き時間を他の命令の実行に割当てるように命令
をスケジユールしてオブジエクト・プログラム
を作成する処理と を含む一連の処理を、ベクトル・レジスタの大き
さmと個数nをm×n=一定の範囲で変化させな
がら行い、最も全実行時間の短いオブジエクト・
プログラムを得ることを特徴とするものである。
以下、本発明を図面を参照しつつ説明する。
第1図はベクトル・プロセツサの概要を説明す
る図、第2図はベクトル・レジスタの分割を説明
する図、第3図は本発明の1実施例を説明する
図、第4図はプログラムの1例を示す図、第5図
はベクトル・レジスタの大きさを変化させながら
作成された本発明のオブジエクト・プログラムの
効率を説明する図である。
本発明は一般の並列計算機を対象とするもので
あり、ベクトル・プロセツサに限られるものでは
ないが、以下にベクトル・プロセツサを例として
本発明を説明する。
第1図において、1は主記憶、2はベクトル・
レジスタ、3は各種の演算器群、4は加算パイプ
ライン、5は乗算パイプライン、6はストア・パ
イプライン、7はロード・パイプラインをそれぞ
れ示している。ベクトル・プロセツサ1において
は、ロード・パイプライン7によつて演算ベクト
ルがベクトル・レジスタ2にロードされ、加算パ
イプライン4や乗算パイプラインなどによつて演
算処理され、演算結果がベクトル・レジスタ2に
格納され、ベクトル・レジスタ2の演算結果ベク
トルがストア・パイプライン6によつて主記憶に
ストアされる。なお、第1図において、加算パイ
プライン4、乗算パイプライン5、ストア・パイ
プライン6およびロード・パイプライン7はそれ
ぞれ1個しか示されていないが、実際には複数個
ずつ存在するものである。
ベクトル・レジスタ2は複数個存在するが、複
数のベクトル・レジスタ全体で格納できるエレメ
ント数は一定である。複数のベクトル・レジスタ
2は、例えば独立してリード/ライトでき且つ64
エレメントを格納できる複数のメモリ・モジユー
ルから構成されている。従来技術においては、ベ
クトル・レジスタ2の大きさは固定であつたが、
本発明の実施例においては、ベクトル・レジスタ
2の大きさを自由に変更することができる。例え
ば或るプログラムを実行する場合には、ベクト
ル・レジスタ2の大きさ64エレメント長とし、他
のプログラムを実行する場合にはベクトル・レジ
スタ2の大きさを128エレメント長とすることが
出来る。第2図はこの状態を示しており、2―
1,2―2,2―3……はベクトル・レジスタを
それぞれ示している。一般にプログラムにおける
変数の個数が多い場合にはベクトル・レジスタの
個数を多くすると、無駄なロード/ストアの処理
が減り、プログラムにおける変数の個数が少ない
場合には、ベクトル・レジスタの個数を小さく、
ベクトル・レジスタの容量を大きくすると、立上
り時間の影響が小さくなり、有利である。
第3図は本発明によるベクトル・プロセツサの
オブジエクト・プログラムを最適化する方法の1
実施例を示すものである。第3図において、Tは
オブジエクト・プログラムの全実行時間、T′は
全実行時間と比較される時間を示している。下記
に第3図における処理を説明する。
時間T′を無限大に設定する。
ベクトル・レジスタの個数nおよび1個のベ
クトル・レジスタの大きさmを定める。言うま
でもなく、m×nは一定である。
上記で定められたベクトル・レジスタの個
数およびベクトル・レジスタの大きさを基にし
て、ソース・プログラムに対応する仮りのオブ
ジエクト・プログラムを生成する。次いで、こ
の生成オブジエクト・プログラムの複数演算器
上での動作タイミング、および各演算器上での
動作時間のシミユレートを基にして実行タイム
チヤートを作成する。このようにして生成され
た実行タイムチヤートから時間軸方向における
空き状態の演算器を見付け、こゝに他の命令を
移す。このように、複数の演算器に空きがない
ように命令をスケジユールしてオブジエクト・
プログラムを作成することを、本明細書ではタ
イムチヤート・コンパイルという。
タイムチヤート・コンパイルによつて生成さ
れたオブジエクト・プログラムの全実行時間T
を求める。
時間T′と上記の全実行時間Tとを比較し、
T≦T′であれば下記のの処理を行い、T>
T′であれば下記のの処理を行う。
全実行時間Tを時間T′として上記へ制御
を渡す。
全実行時間がT′になるときのオブジエク
ト・プログラムを生成する。
第4図はベクトル計算のプログラム・サンプル
である。このプログラム・サンプルにおいて、例
えば DF11U=DELT1*(U(I+1,J,K)−U
(I,J,K))は、配列の要素U(I+1,J,
K)からU(I,J,K)を減算し、この減算結
果にDELT1を乗算し、この乗算結果を変数
DF11Uとすべきことを示している。また、 UX(I,J,K)=XX(I,J,K)*
DF11U+EX(I,J,K)*DF22U+R(I,
J,K)*DF32U は、配列の要素XX(I,J,K)とDF11Uの乗
算結果と、配列の要素EX(I,J,K)と
DF22Uの乗算結果と、配列の要素RX(I,J,
K)とDF32Uの乗算結果とを加算し、加算結果
を配列の要素UX(I,J,K)にすべきことを
指示している。
第5図は第4図のプログラムに対応するオブジ
エクト・プログラムを、ベクトル・レジスタの個
数および大きさを変化させながらタイムチヤー
ト・コンパイル法によつて生成し、これらのオブ
ジエクト・プログラムの効率を示すものである。
なお、効率は全実行時間の逆数で表わされる。第
5図の例では全てのベクトル・レジスタで格納で
きるエレメント数は“1024”であり、ベクトル・
レジスタの個数を16個、1個のベクトル・レジス
タの容量を512エレメント長として場合に最も効
率が良かつたことを示している。
以上の説明から明らかなように、本発明によれ
ば、複数の演算器のそれぞれを空きを作ることな
く効率的に使用できる並列計算機用のオブジエク
ト・プログラムを得ることが出来る。
【図面の簡単な説明】
第1図はベクトル・プロセツサの概要を説明す
る図、第2図はベクトル・レジスタの分割を説明
する図、第3図は本発明の1実施例を説明する
図、第4図はプログラムの1例を示す図、第5図
はベクトル・レジスタの大きさを変化させながら
作成された本発明のオブジエクト・プログラムの
効率を説明する図である。 1……主記憶、2……ベクトル・レジスタ、3
……各種の演算器群、4……加算パイプライン、
5……乗算パイプライン、6……ストア・パイプ
ライン、7……ロード・パイプライン。

Claims (1)

  1. 【特許請求の範囲】 1 互いに独立して動作できる複数の演算器を有
    すると共に、ベクトル・レジスタの大きさmとベ
    クトル・レジスタの個数nの積が一定の範囲で大
    きさm及び個数nを任意の値に定めることができ
    るように構成された並列計算機のオブジエクト・
    プログラムを最適化する並列計算機のオブジエク
    ト・プログラム最適化方式において、 (a) ベクトル・レジスタの大きさmとベクトル・
    レジスタの個数nの積が一定である条件の下で
    大きさm及び個数nを定める処理と、 (b) (a)で定められた大きさm及び個数nを基にし
    て、ソース・プログラムで指定された処理を行
    う仮りのオブジエクト・プログラムを作成し、
    当該オブジエクト・プログラムの複数演算器上
    での動作タイミング及び各動作時間のシミユレ
    ートを基にして実行タイムチヤートを作成し、
    当該実行タイムチヤートから時間軸方向におけ
    る空き状態の演算器を見付け、当該演算器の空
    き時間を他の命令の実行に割当てるように命令
    をスケジユールしてオブジエクト・プログラム
    を作成する処理とを含む一連の処理を、ベクト
    ル・レジスタの大きさmと個数nをm×n=一
    定の範囲で変化させながら行い、最も全実行時
    間の短いオブジエクト・プログラムを得ること
    を特徴とする並列計算機のオブジエクト・プロ
    グラム最適化方式。
JP18614980A 1980-12-26 1980-12-26 System for optimizing object program of parallel computer Granted JPS57109085A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18614980A JPS57109085A (en) 1980-12-26 1980-12-26 System for optimizing object program of parallel computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18614980A JPS57109085A (en) 1980-12-26 1980-12-26 System for optimizing object program of parallel computer

Publications (2)

Publication Number Publication Date
JPS57109085A JPS57109085A (en) 1982-07-07
JPS6252899B2 true JPS6252899B2 (ja) 1987-11-07

Family

ID=16183233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18614980A Granted JPS57109085A (en) 1980-12-26 1980-12-26 System for optimizing object program of parallel computer

Country Status (1)

Country Link
JP (1) JPS57109085A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5960642A (ja) * 1982-09-30 1984-04-06 Fujitsu Ltd 原始プログラムの最適化方式
JPS6133547A (ja) * 1984-07-25 1986-02-17 Fujitsu Ltd ベクトル・レジスタのオ−バフロ−情報通知方式

Also Published As

Publication number Publication date
JPS57109085A (en) 1982-07-07

Similar Documents

Publication Publication Date Title
US8595280B2 (en) Apparatus and method for performing multiply-accumulate operations
CN107315574B (zh) 一种用于执行矩阵乘运算的装置和方法
US5226171A (en) Parallel vector processing system for individual and broadcast distribution of operands and control information
US5261113A (en) Apparatus and method for single operand register array for vector and scalar data processing operations
US5081573A (en) Parallel processing system
US9015354B2 (en) Efficient complex multiplication and fast fourier transform (FFT) implementation on the ManArray architecture
Kulkarni et al. Systolic processing and an implementation for signal and image processing
CN111381880B (zh) 一种处理器、介质和处理器的操作方法
US20070271325A1 (en) Matrix multiply with reduced bandwidth requirements
CN111381939B (zh) 多线程处理器中的寄存器文件
Liu Parallel and scalable sparse basic linear algebra subprograms
JPS61160176A (ja) ベクトル処理装置
WO2021250392A1 (en) Mixed-element-size instruction
TWI791694B (zh) 向量帶進位加法指令
JPS6252899B2 (ja)
Tokura et al. Gpu-accelerated bulk computation of the eigenvalue problem for many small real non-symmetric matrices
Kung Warp experience: we can map computations onto a parallel computer efficiently
Missirlis et al. Parallel matrix factorizations on a shared memory MIMD computer
TW202305588A (zh) 用於向量組合指令之處理設備、方法、及電腦程式
TW202411860A (zh) 多外積指令
Pearce et al. Survey of parallel processing in simulation
JP2021174558A (ja) Int9量子化のためのシステム及び方法
GB2617828A (en) Technique for handling data elements stored in an array storage
JPH0644270B2 (ja) ベクトルプロセッサの制御処理方式
GB2622581A (en) Multiple-outer-product instruction