JPS60167062A - ベクトル内積演算方式 - Google Patents
ベクトル内積演算方式Info
- Publication number
- JPS60167062A JPS60167062A JP2149984A JP2149984A JPS60167062A JP S60167062 A JPS60167062 A JP S60167062A JP 2149984 A JP2149984 A JP 2149984A JP 2149984 A JP2149984 A JP 2149984A JP S60167062 A JPS60167062 A JP S60167062A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- row
- dimensional array
- inner product
- data
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector 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)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明は、ベクトル計算gKおける複数組の内積演3!
を高速で実行する方式に関する。
を高速で実行する方式に関する。
一般に、−次元配列(aj)および(bj)(j=1.
2.・・・・・・、n)の内積Sは、S = a1b
1+ a2b2+−−−−−−s + anbnで与え
られる。
2.・・・・・・、n)の内積Sは、S = a1b
1+ a2b2+−−−−−−s + anbnで与え
られる。
従来、汎用計算機上で以下のような二次元配列(aij
)と−次元配列(5月によるn個の内積St (量=1
.2.・・・・・・+”)をめる場合には、 5i(−−、Σ a43 J (’=L 2+ ”−+
n)J=1 として割算を行なっていた。こわをベクトル計算機上で
行なうと(aij) と (bj) の積を計算するV
M命令とその結果の総和をとるVSM命令の2つの6令
をn回ずつ実行することが必要となる。
)と−次元配列(5月によるn個の内積St (量=1
.2.・・・・・・+”)をめる場合には、 5i(−−、Σ a43 J (’=L 2+ ”−+
n)J=1 として割算を行なっていた。こわをベクトル計算機上で
行なうと(aij) と (bj) の積を計算するV
M命令とその結果の総和をとるVSM命令の2つの6令
をn回ずつ実行することが必要となる。
すなわち、ますVM命令により(1)式の各ベクトル要
素間の私 合計算し、次vcVsM命令により、行ごとの総和をめ
るものである。しかし、VSM命令は、ベクトル乗算■
M命令やベクトル加qVA命令にくらべて実行に時間が
かかるという問題がある。
素間の私 合計算し、次vcVsM命令により、行ごとの総和をめ
るものである。しかし、VSM命令は、ベクトル乗算■
M命令やベクトル加qVA命令にくらべて実行に時間が
かかるという問題がある。
本発明の目的は、複数組の内積を高速にめることにあり
、実行時間が長(なるVSM命令を使用しない演獅方式
を提供するものである。そのため、従来方式か2次元配
列(ajj)を行ベクトル(a )、(a2jl 、
・−・・・−+ (anj )単位に演算を行なうJ もので慶)つたのに対して、列ベクトル(a 11)
r (a I 2) !・・・・・、 (a、n)に注
目して演算を行なうことにより、連続的なベクトル演舞
を可能にして演算時間を短漸白する。
、実行時間が長(なるVSM命令を使用しない演獅方式
を提供するものである。そのため、従来方式か2次元配
列(ajj)を行ベクトル(a )、(a2jl 、
・−・・・−+ (anj )単位に演算を行なうJ もので慶)つたのに対して、列ベクトル(a 11)
r (a I 2) !・・・・・、 (a、n)に注
目して演算を行なうことにより、連続的なベクトル演舞
を可能にして演算時間を短漸白する。
本発明の構成は、そわにより、二次元配列中の1つの列
ベクトルと一次元配列中の1つの要素とを乗算する手段
と、該乗算結果と前回までの行ごとの内積の途中結果と
を行ごとに順次加算する手段と、該加算結果を行ごとに
順次格納し、上記二次元配列の次の1つの列ベクトルと
一次元配列の次の1つの要素とを乗算する次の段階で上
記加算手段に前回までの行ごとの内積の途中結果として
与える手段とをそなえ、上記各手段を二次元配列の最後
の列ベクトルおよび一次元配列の最後の要素まで繰り返
し動作させ、各行ごとの内積を同時に得ることを特徴と
している。
ベクトルと一次元配列中の1つの要素とを乗算する手段
と、該乗算結果と前回までの行ごとの内積の途中結果と
を行ごとに順次加算する手段と、該加算結果を行ごとに
順次格納し、上記二次元配列の次の1つの列ベクトルと
一次元配列の次の1つの要素とを乗算する次の段階で上
記加算手段に前回までの行ごとの内積の途中結果として
与える手段とをそなえ、上記各手段を二次元配列の最後
の列ベクトルおよび一次元配列の最後の要素まで繰り返
し動作させ、各行ごとの内積を同時に得ることを特徴と
している。
以下に、本発明の詳細を実施例にしたがって説明する。
本発明の1実施例方式では、前記(3)式を縦方向(列
方向)゛ニ分割して各行ベクトル要素を並列に1哩次累
算して行き、Si (i=1.2.・・・t”)を同時
にめるようにする。こねは、次式で表ゎさゎる。
方向)゛ニ分割して各行ベクトル要素を並列に1哩次累
算して行き、Si (i=1.2.・・・t”)を同時
にめるようにする。こねは、次式で表ゎさゎる。
Si =Si +p b・ (’ = ’+ 2+ ・
”y n) (J = ’+ 2+”’r ”) −(
4)J J すなわち、まず#1回目に a1□b1 a2□b。
”y n) (J = ’+ 2+”’r ”) −(
4)J J すなわち、まず#1回目に a1□b1 a2□b。
a ns b s
をめ、第2回目K
(a、□b1+a□2b2)
(a2□b□十a2□b2)
(an1b1+an2b2)
をめ、以下同様にして、第n回目に最終結果の内積
(a□□b□+a1□b2+・曲面+81nbn)(a
2□b工+a2□b2+・・・・川・・+a2nbn)
(an1b1+an2b2°+−=・十annbn)を
得るものである。
2□b工+a2□b2+・・・・川・・+a2nbn)
(an1b1+an2b2°+−=・十annbn)を
得るものである。
伊1
第1図は不実施4方式の動作弱側御であり、1乃至4は
そわぞわベクトルレジスタVRI乃至VR4を示し、5
はスカラレジスタI(、A、6は乗算バイブライン、7
は加算バイブラインを示す。また■乃至■は動作順序を
表わしている。動作は次のように行なわれる。
そわぞわベクトルレジスタVRI乃至VR4を示し、5
はスカラレジスタI(、A、6は乗算バイブライン、7
は加算バイブラインを示す。また■乃至■は動作順序を
表わしている。動作は次のように行なわれる。
予めvRtrは、1番目の列ベクトルデータ(a、j)
がセットさね、RAKはbj が、VR,3には前回の
累q結果のベクトルデータが格納さねている。
がセットさね、RAKはbj が、VR,3には前回の
累q結果のベクトルデータが格納さねている。
■ ベクトル・スカラ乗算VMS命令により乗算バイツ
ーライン6を起動し、vttiのベクトルデータ(ai
j)に)LAのスカラデータ b、を乗算し、結果をV
R2に格納する。
ーライン6を起動し、vttiのベクトルデータ(ai
j)に)LAのスカラデータ b、を乗算し、結果をV
R2に格納する。
■ ベクトル加XvA裔令により加算パイプライン7を
起動し、VftzとVFL3のベクトルデータを加算し
、結果をVR4に格納する。
起動し、VftzとVFL3のベクトルデータを加算し
、結果をVR4に格納する。
■ Vl−t4の訪しい累算結果のベクトルデータを次
の累gcそブよえてV)L3へ転送する。
の累gcそブよえてV)L3へ転送する。
ここで、V)Ll、It Aの各内容をj+11−1目
のデータで更新しておき、上記■乃至■の過程を練り返
すことにより最後にVR3またはV R4にn個の内積
を同時的に得ることができる。
のデータで更新しておき、上記■乃至■の過程を練り返
すことにより最後にVR3またはV R4にn個の内積
を同時的に得ることができる。
第1図の実施例方式では、各列ベクトルごとの累算ステ
ップの途中結果はV R4に格納される。
ップの途中結果はV R4に格納される。
ところが、ベクトル命令(この賜金はVA命令)では、
被演算レジスタと結果を格納するレジスタとは共用宅き
ないので、最初に使用される加算パイプライン7の出力
結果については、■R4Vcいったん結果を格納し、そ
O後転送台令によりVR4の内容をVR3に移す必太か
ある。
被演算レジスタと結果を格納するレジスタとは共用宅き
ないので、最初に使用される加算パイプライン7の出力
結果については、■R4Vcいったん結果を格納し、そ
O後転送台令によりVR4の内容をVR3に移す必太か
ある。
第2図は本発明の他の実施例方式であり、第1図の実施
例方式における転送命令の使用を不要にしたものである
。本実施例では、前記(4)式の代りに次式を用い、連
続する2つの列ベクトル(aIjbj)および(町、
j+1 bj+4 )ずつ同時に累算する。
例方式における転送命令の使用を不要にしたものである
。本実施例では、前記(4)式の代りに次式を用い、連
続する2つの列ベクトル(aIjbj)および(町、
j+1 bj+4 )ずつ同時に累算する。
(Si = Si + aHbj+ a、 、j+1b
j、爪I−1,2,・・・、n))(J””1+3s’
+”’*” ’) ””” (5)そのため、VR4の
内容(Si+a1jbj)は、直接VR3へ転送されず
、加算パイプライン7でVR6の内容(ail J+□
b、+□)と加算し、その結果出力としてVR3へ格納
される(このときVR3は空きである)、そのため、特
別な転送命令は不要となり、演算は高速化される。図中
の■乃至■は動作順序を示している。
j、爪I−1,2,・・・、n))(J””1+3s’
+”’*” ’) ””” (5)そのため、VR4の
内容(Si+a1jbj)は、直接VR3へ転送されず
、加算パイプライン7でVR6の内容(ail J+□
b、+□)と加算し、その結果出力としてVR3へ格納
される(このときVR3は空きである)、そのため、特
別な転送命令は不要となり、演算は高速化される。図中
の■乃至■は動作順序を示している。
以上のように、本発明によりは、ベクトルの複賂組の内
積演算がVM命令およびVA命令のみによって実行でき
、VSM命令は使用されないので、従来方式に(らべて
処理時間を大幅に短縮することができる。
積演算がVM命令およびVA命令のみによって実行でき
、VSM命令は使用されないので、従来方式に(らべて
処理時間を大幅に短縮することができる。
第1図および第2図はそわそわ本発明方式の異なる実施
例を示す。 図中、工乃至4はそJlぞわベクトルレジスタVRI乃
至V R,4を示し、5はスカラレジスタ貼、6′は乗
算パイプライン、デは加算パイプラインを示す。また1
1. 2/はそわぞわベクトルレジスタVR5、VR6
を示し、6′は乗算パイプライン、7′は加算パイプラ
インを示す。 特許出願人 富士通株式会社 代理人弁理士 長谷用文廣 (外1名)
例を示す。 図中、工乃至4はそJlぞわベクトルレジスタVRI乃
至V R,4を示し、5はスカラレジスタ貼、6′は乗
算パイプライン、デは加算パイプラインを示す。また1
1. 2/はそわぞわベクトルレジスタVR5、VR6
を示し、6′は乗算パイプライン、7′は加算パイプラ
インを示す。 特許出願人 富士通株式会社 代理人弁理士 長谷用文廣 (外1名)
Claims (1)
- 二次元配列中の1つの列ベクトルと一次元配列中の1つ
の要素とを乗算する手段と、該乗算結果と前回までの行
ごとの内積の途中結果とを行ごとに順次加算する手段と
、該加舞結果を行ごとに順次格納し、上記二次元配列の
次の1つの列ベクトルと一次元配列の次の1つの要素と
を乗算する次の段階で上記加算手段に前回までの行ごと
の内積の途中結果として与える手段とをそなえ、上記各
手段を二次元配列の最後の列ベクトルおよび一次元配列
の最後の要素まで繰り返し動作させ、各行ごとの内積を
同時に得ることを%徴とするベクトル内積演算方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2149984A JPS60167062A (ja) | 1984-02-08 | 1984-02-08 | ベクトル内積演算方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2149984A JPS60167062A (ja) | 1984-02-08 | 1984-02-08 | ベクトル内積演算方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS60167062A true JPS60167062A (ja) | 1985-08-30 |
JPH0320787B2 JPH0320787B2 (ja) | 1991-03-20 |
Family
ID=12056656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2149984A Granted JPS60167062A (ja) | 1984-02-08 | 1984-02-08 | ベクトル内積演算方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS60167062A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01276272A (ja) * | 1988-04-27 | 1989-11-06 | Nec Corp | 行列演算回路 |
JPH04152464A (ja) * | 1990-10-16 | 1992-05-26 | Fujitsu Ltd | コンパイル処理方式 |
US6578061B1 (en) | 1999-01-19 | 2003-06-10 | Nippon Telegraph And Telephone Corporation | Method and apparatus for data permutation/division and recording medium with data permutation/division program recorded thereon |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS51141536A (en) * | 1975-05-31 | 1976-12-06 | Toshiba Corp | Image-paralleling calculation processing device |
JPS54184027U (ja) * | 1978-06-16 | 1979-12-27 |
-
1984
- 1984-02-08 JP JP2149984A patent/JPS60167062A/ja active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS51141536A (en) * | 1975-05-31 | 1976-12-06 | Toshiba Corp | Image-paralleling calculation processing device |
JPS54184027U (ja) * | 1978-06-16 | 1979-12-27 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01276272A (ja) * | 1988-04-27 | 1989-11-06 | Nec Corp | 行列演算回路 |
JPH04152464A (ja) * | 1990-10-16 | 1992-05-26 | Fujitsu Ltd | コンパイル処理方式 |
US6578061B1 (en) | 1999-01-19 | 2003-06-10 | Nippon Telegraph And Telephone Corporation | Method and apparatus for data permutation/division and recording medium with data permutation/division program recorded thereon |
US6850960B2 (en) | 1999-01-19 | 2005-02-01 | Nippon Telegraph And Telephone Corporation | Inverse calculation apparatus and recording medium having stored thereon a program for executing inverse calculation |
US6859818B2 (en) | 1999-01-19 | 2005-02-22 | Nippon Telegraph And Telephone Corporation | Method and apparatus for permuting input data and recording medium having stored thereon a program for executing permutation |
Also Published As
Publication number | Publication date |
---|---|
JPH0320787B2 (ja) | 1991-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6539368B1 (en) | Neural processor, saturation unit, calculation unit and adder circuit | |
CN110119809B (zh) | 对神经网络中非对称量化数据执行mac运算的装置和方法 | |
CN111062472B (zh) | 一种基于结构化剪枝的稀疏神经网络加速器及其加速方法 | |
US5226171A (en) | Parallel vector processing system for individual and broadcast distribution of operands and control information | |
JP5408913B2 (ja) | 高速かつ効率的な行列乗算ハードウェアモジュール | |
US5081573A (en) | Parallel processing system | |
JPS6217770B2 (ja) | ||
US8239438B2 (en) | Method and apparatus for implementing a multiple operand vector floating point summation to scalar function | |
CN111626414B (zh) | 一种动态多精度神经网络加速单元 | |
CN110738308A (zh) | 一种神经网络加速器 | |
JPH0368416B2 (ja) | ||
JPH0477932B2 (ja) | ||
JPS60167062A (ja) | ベクトル内積演算方式 | |
JP2518293B2 (ja) | デ−タフロ−プロセツサ | |
JP3227538B2 (ja) | 2進整数乗算器 | |
JPH02109125A (ja) | 乗算回路 | |
JP4823928B2 (ja) | 連立一次方程式の並列求解装置 | |
JP2009534729A (ja) | Nビット加算器および対応する加算方法 | |
JPH0816903B2 (ja) | 積和演算回路 | |
JPS6310263A (ja) | ベクトル処理装置 | |
SU940167A1 (ru) | Устройство дл решени систем линейных алгебраических уравнений | |
SU886005A1 (ru) | Устройство дл выполнени быстрого преобразовани фурье | |
SU1569824A1 (ru) | Устройство дл умножени | |
EP0444847A2 (en) | Enhanced processor for linear recurrences | |
RU2029356C1 (ru) | Устройство для вычисления модуля m-мерного вектора |