JPH0236029B2 - - Google Patents

Info

Publication number
JPH0236029B2
JPH0236029B2 JP58172439A JP17243983A JPH0236029B2 JP H0236029 B2 JPH0236029 B2 JP H0236029B2 JP 58172439 A JP58172439 A JP 58172439A JP 17243983 A JP17243983 A JP 17243983A JP H0236029 B2 JPH0236029 B2 JP H0236029B2
Authority
JP
Japan
Prior art keywords
acm3
parallel
computer
processing
perform
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 - Lifetime
Application number
JP58172439A
Other languages
English (en)
Other versions
JPS6065377A (ja
Inventor
Shigeru Sasaki
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 JP58172439A priority Critical patent/JPS6065377A/ja
Publication of JPS6065377A publication Critical patent/JPS6065377A/ja
Publication of JPH0236029B2 publication Critical patent/JPH0236029B2/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
    • G06F17/15Correlation function computation including computation of convolution operations
    • G06F17/153Multidimensional correlation or convolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Multi Processors (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 (a) 発明の技術分野 本発明は、アレイキヤツシユメモリを有し、1
つの命令で複数台の演算器が同時に動作する並列
計算機に関し、特に少ない演算回数で高速に相関
係数を求める2次元相関係数の並列処理方法に関
する。
(b) 技術の背景 地震、気象、原子物理学等の分野では大規模な
シユミレーシヨンを実時間より速く行うため、数
十MIPS(1秒間に実行される命令の数を100万を
単位として表した数、通常ミツプスと読む)以上
の高性能計算機が必要である。これらの計算は、
従来の1台の装置で複数の処理を順番に行うシー
ケンシヤルな計算機では処理能力が不十分であ
り、並列処理によつて速度を向上させる必要があ
る。しかし、これらのものは特殊目的のものが大
部分であり、2次元相関係数を高速に並列演算処
理するのに必ずしも適したものではない。従つ
て、上記のような並列処理可能な高性能計算機の
特徴を有効に組合せ活用した2次元相関係数の高
速演算処理方法の開発が要望される。
(c) 従来技術と問題点 相関係数の計算は統計処理、音声信号処理、画
像処理等に主に利用される。しかしながら、これ
らの処理を行うには膨大な情報量を取り扱うこと
になるため情報処理を高速に処理する必要があ
る。従来の情報処理方式を用いて上記の各種処理
を行う場合、(1)現在一般的に利用されているシー
ケンシヤルな計算機を用いる方式、(2)並列処理可
能な計算機の1つであるベクトルプロセツサを用
いる方式、(3)同じく並列処理可能な計算機の1つ
であるアレイプロセツサを用いる方式等がある
が、(1)の方式は本来の演算計算以上にアドレス計
算と情報転送が多くなり、高速化が期待出来な
い。又、(2)の方式は2次元状の情報を扱う場合に
情報構造を処理するのに困難な点があり、(3)の方
式は2次元並列演算をするのに各処理要素間で情
報転送するのに時間が掛かつてしまう等の欠点が
ある。
(d) 発明の目的 本発明は、上記欠点を解消した新規な2次元相
関係数の並列処理方法を提供することを目的と
し、特にアレイキヤツシユメモリを有するSIMD
型計算機(SIMD型計算機は1つの命令で複数の
情報の演算を実行する計算機)を用いることによ
り、2次元情報の相関を演算(基本演算Σx、
Σy、Σx2、Σy2、Σxy)する際に、情報転送回数
と演算回数を減らし、高速計算が可能な2次元相
関係数の並列処理方法を実現することにある。
(e) 発明の構成 本発明は、単一の命令で互いに同期して動作す
る複数の演算器をもつてなる並列計算機と、前記
複数の演算器にそれぞれ対応するメモリより並列
に1度に情報転送可能であり、且つメモリ間で演
算器の介入なしに情報転送を可能とするアレイキ
ヤツシユメモリとを備え、2次元相関係数演算に
おける複数の基本演算を、前記アレイキヤツシユ
メモリにて演算結果を並列アレイシフトしながら
1つの命令で並列演算処理することにより、情報
転送回数と演算回数を減らし、高速計算が実現出
来ることを特徴とする2次元相関係数の並列処理
方法により達成することが出来る。
(f) 発明の実施例 以下本発明を図面を参照して説明する。
第1図は本発明に係るアレイキヤツシユメモリ
を有するSIMD型計算機の概要図、第2図は本発
明に係るアレイキヤツシユメモリの構成図で、A
はメモリ要素間の結合図、Bは1メモリ要素の回
路図、第3図は本発明に係るアレイキヤツシユメ
モリのシフト状況図をそれぞれ示す。
図において、1は制御装置、2はSIMD型計算
機、3はアレイキヤツシユメモリ(以下ACMと
略称する)、4はデータマルチプレクサ、5はレ
ジスタ回路、6はアドレスマルチプレクサをそれ
ぞれ示す。
尚MEij(ME11〜ME84等)はACM3のメモリ
エレメント、PEi(PE1〜PE16等)はSIDM型ア
レイプロセツサの各処理要素(プロセツシングエ
レメント)、〜はACM3のシフト方向をそれ
ぞれ示す。
具体的な演算例を説明する前に、SIMD型計算
機2とACM3について図面を参照して説明する。
第1図に示すSIMD型計算機2は4×4の処理
要素をPEiを持つ例を示している。尚SIMD型計
算機2の各処理要素PEiは隣接処理要素間の接続
は無く、真下(点線で示す部分)のACM3の1
メモリエレメントMEijと結合しているのみであ
る。従つて各処理要素PEi間の情報転送は結合し
ているメモリエレメントMEijを介して行われる。
以上のようなSIMD型計算機2はこれらを管理
する制御装置1から同一の命令を受取り、同時に
同じ演算を並列実行することが出来る。
一方、ACM3はメモリエレメントMEijが4×
8の大きさで構成されており、この内4×4の部
分がSIMD型計算機2の各処理要素PEi(PE1〜
PE16)と接続されている。メモリエレメント
MEijは第2図Aに示すように隣接エレメント間
の接続がなされている。即ち、メモリエレメント
MEijは隣接メモリエレメントME(i−1、j−
1)、ME(i−1、j)、ME(i−1、j+1)、
ME(i、j−1)、ME(i、j)、ME(i、j+
1)、ME(i+1、j−1)、ME(i+1、j)、
ME(i+1、j+1)とSIMD型計算機2とで結
合されている。但しi=1〜4、j=1〜8。
又1メモリエレメントMEijは第2図Bに示す
通りで、10方向から送られてくる情報の内1つの
情報を選択するデータマルチプレクサ4、データ
マルチプレクサ4を一時的に格納するレジスタ
5、書込みアドレスと読み出しアドレスを選択す
るアドレスマルチプレクサ6とメモリエレメント
MEijから構成される。
第3図はACM3のシフトの状況を示す。即ち、
平面上シフト(1メモリセル分)、平面左シ
フト(1メモリセル分)、平面右シフト(1メ
モリセル分)、平面下シフト(1メモリセル
分)、深さ方向平面シフトの平面的なシフトを
同時に1回で行う。又SIMD型アレイプロセツサ
PEiに接続されてない4×4のACM3部分は、
全処理をパイプライン化する時に主記憶装置(図
示してない)からのデータを一時格納するバツフ
アメモリ部の役割りも果たす。
次に2次元相関係数の式は下記のように定義さ
れる。
定義式において、相関係数はΣXi、ΣYi、Σ
(Xi・Yi)、ΣX2i、ΣY2iを計算すれば良いことが
分かる。又Xiを相関を求めるための対象データ、
Yiを入力データとし、対象データ数をNとする
とΣXiとΣX2iは本実施例では、全体の処理のう
ち最初の1度だけ計算すれば良いことになる。
〔共分散〕 Sxy=Σ(Xi−X/―)(Yi−Y/―)/N−1
=1/N−1{Σ(Xi・Yi)−(ΣXi)・(ΣYi)/N
} 〔相関係数〕 Rxy=Sxy/(Sxx・Syy)1/2 次に上記の定義式により基本演算(ΣXi、
ΣYi、Σ(Xi・Yi)、ΣX2i、ΣY2i)の計算例を下
記に説明する。
≪ΣXi、ΣX2iの計算≫ (前提条件)N=16、i=1〜16とする。
(ステツプ−1):制御装置1の指示により主記
憶装置(図示してない)から第1図に示す
ACM3の右の4×4部分(SIMD型計算機2
に接続されてない4×4のACM3部分)へデ
ータX1〜X16をロードする。
(ステツプ−2):ACM3を平面左シフトを4
回行いACM3の左の4×4部分(SIMD型計
算機2に接続されている4×4のACM3部分)
へデータX1〜X16を移動する。
(ステツプ−3):SIMD型計算機2の各処理要
素であるアレイプロセツサPEiにS1=X、S2=
X2を設定する。
(ステツプ−4):ACM3を平面上シフトを1
回行う。
(ステツプ−5):SIMD型計算機2の各処理要
素であるアレイプロセツサPEiで自分の下の
ACM3のメモリエレメントMEijからデータを
ロードし、S1=S1+X、S2=S2+X2とする。
(ステツプ−6):(ステツプ−4)を行う。
(ステツプ−7):(ステツプ−5)を行う。
(ステツプ−8):(ステツプ−4)を行う。
(ステツプ−9):(ステツプ−5)を行う。
(ステツプ−10):ACM3を平面左シフトを1
回行う。
(ステツプ−11):(ステツプ−5)を行う。
(ステツプ−12):(ステツプ−10)を行う。
(ステツプ−13):(ステツプ−5)を行う。
(ステツプ−14):(ステツプ−10)を行う。
(ステツプ−15):(ステツプ−5)を行う。
以上でSIMD型計算機2の各処理要素であるア
レイプロセツサPEi上にはS1=ΣXi、S2=ΣX2iが
求められている。
≪ΣYi、ΣY2i、Σ(Xi・Yi)の計算≫ 尚本例ではACM3の右の4×4部分(SIMD
型計算機2の各処理要素であるアレイプロセツサ
PEiに接続されてない4×4のACM3部分)を
パイプライン的に利用する。
(前提条件)Y={Yj}、j=1〜mとする。
(ステツプ−1):制御装置1の指示により主記
憶装置(図示してない)からACM3の右の4
×4部分(SIMD型計算機2の各処理要素であ
るアレイプロセツサPEiに接続されてない4×
4のACM3部分)へデータX1〜X16をロード
する。
(ステツプ−2):ACM3の平面左シフトを4
回行いACM3の左の4×4部分(SIMD型ア
レイプロセツサPEiに接続されている4×4の
ACM3部分)へデータX1〜X16を移動する。
(ステツプ−3):SIMD型計算機2の各処理要
素であるアレイプロセツサPEiでS3=Y、S4=
Y2、S′5=XYを設定する。
(ステツプ−4):ACM3を平面上シフトを1
回行う。
(ステツプ−5):SIMD型計算機2の各処理要
素であるアレイプロセツサPEiで自分の下の
ACM3のメモリエレメントMEijからデータを
ロードし、S3=S′3+S3、S4=S′4+S4、S5=
S′5+S5とする。
(ステツプ−6):(ステツプ−4)を行う。
(ステツプ−7):(ステツプ−5)を行う。
(ステツプ−8):(ステツプ−4)を行う。
(ステツプ−9):(ステツプ−5)を行う。
(ステツプ−10):ACM3上のS′3、S′4、S′5を
SIMD型計算機2の各処理要素であるアレイプ
ロセツサPEi内にロードする。
(ステツプ−11):ACM3を平面右シフトを4
回行う。
(ステツプ−12):ACM3上にS′3、S′4、S′5を
セーブする。
(ステツプ−13):ACM3を平面左シフトを1
回行う。
(ステツプ−14):SIMD型計算機2の各処理要
素であるアレイプロセツサPEiで自分の下の
ACM3のメモリエレメントMEijからデータを
ロードし、S3=S′3+S3、S4=S′4+S4、S5=
S′5+S5とする。
(ステツプ−15):(ステツプ−13)を行う。
(ステツプ−16):(ステツプ−14)を行う。
(ステツプ−17):(ステツプ−13)を行う。
(ステツプ−18):(ステツプ−14)を行う。
以上で4×4のSIMD型計算機2の各処理要素
であるアレイプロセツサPEi上にはΣY、ΣY2
ΣXYが求められている。
以上の例のような2次元情報の相関は、特に画
像処理において対象データXと入力データYとの
間で位置合わせを行うとか、類似度を計算すると
かの場合に非常に有効であり、頻繁に利用される
計算である。
本発明方法を用いて計算した場合と従来方法で
計算した場合(シーケンシヤルな計算機を用いる
場合)の各基本演算における演算回数とデータ転
送回数の比較を下記に示す。
≪ΣXi、ΣX2iの計算≫ 項 本方法 従来方法 乗算回数 1回 16回 加算回数 12回 30回 ACMシフト 10回 − アドレス計算 − α ≪ΣYi、ΣY2i、Σ(Xi・Yi)の計算≫ 項 本方法 従来方法 乗算回数 2回 32回 加算回数 18回 45回 ACMシフト 10回 − アドレス計算 − β 以上のように乗算回数、加算回数において計算
回数を減らすことが出来る。
(g) 発明の効果 以上の本発明によれば、大量情報処理計算が必
要な相関係数を求める計算方法で、乗算回数、加
算回数等の計算回数を減らすことが出来、更に一
般のシーケンシヤルな計算機では乗算回数、加算
回数以上に計算回数を必要とするアドレス計算を
不要とすることにより、大幅に計算回数を減ら
し、高速に計算処理が出来る2次元相関係数の並
列処理方法を提供出来ると言う効果がある。
【図面の簡単な説明】
第1図は本発明に係るアレイキヤツシユメモリ
を有するSIDM型計算機の概要図、第2図は本発
明に係るアレイキヤツシユメモリの構成図、第3
図は本発明に係るアレイキヤツシユメモリのシフ
ト状況図をそれぞれ示す。 図において、1は制御装置、2はSIMD型計算
機、3はACM、4はデータマルチプレクサ、5
はレジスタ回路、6はアドレスマルチプレクサを
それぞれ示す。

Claims (1)

    【特許請求の範囲】
  1. 1 単一の命令で互いに同期して動作する複数の
    演算器をもつてなる並列計算機と、前記複数の演
    算器にそれぞれ対応するメモリより並列に1度に
    情報転送可能であり、且つメモリ間で演算器の介
    入なしに情報転送を可能とするアレイキヤツシユ
    メモリとを備え、2次元相関係数演算における複
    数の基本演算を、前記アレイキヤツシユメモリに
    て並列アレイシフトしながら、1つの命令で並列
    に演算処理することを特徴とする2次元相関係数
    の並列処理方法。
JP58172439A 1983-09-19 1983-09-19 2次元相関係数の並列処理方法 Granted JPS6065377A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58172439A JPS6065377A (ja) 1983-09-19 1983-09-19 2次元相関係数の並列処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58172439A JPS6065377A (ja) 1983-09-19 1983-09-19 2次元相関係数の並列処理方法

Publications (2)

Publication Number Publication Date
JPS6065377A JPS6065377A (ja) 1985-04-15
JPH0236029B2 true JPH0236029B2 (ja) 1990-08-15

Family

ID=15941999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58172439A Granted JPS6065377A (ja) 1983-09-19 1983-09-19 2次元相関係数の並列処理方法

Country Status (1)

Country Link
JP (1) JPS6065377A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4661195B2 (ja) * 2004-12-06 2011-03-30 カシオ計算機株式会社 最大相関位置検出装置、最大相関位置検出方法、および最大相関位置検出処理プログラム
JP4985835B2 (ja) * 2010-10-29 2012-07-25 カシオ計算機株式会社 最大相関位置検出装置、最大相関位置検出方法、および最大相関位置検出処理プログラム、並びに画像照合装置、画像照合方法、および画像照合プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5015450A (ja) * 1973-06-08 1975-02-18
JPS50153840A (ja) * 1974-05-31 1975-12-11

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5015450A (ja) * 1973-06-08 1975-02-18
JPS50153840A (ja) * 1974-05-31 1975-12-11

Also Published As

Publication number Publication date
JPS6065377A (ja) 1985-04-15

Similar Documents

Publication Publication Date Title
KR102511911B1 (ko) Gemm 데이터플로우 가속기 반도체 회로
JP2671120B2 (ja) データ処理セルおよびデータプロセッサ
US7447720B2 (en) Method for finding global extrema of a set of bytes distributed across an array of parallel processing elements
US20210072986A1 (en) Methods for performing processing-in-memory operations on serially allocated data, and related memory devices and systems
US5081573A (en) Parallel processing system
EP0240032B1 (en) Vector processor with vector data compression/expansion capability
CN111915001B (zh) 卷积计算引擎、人工智能芯片以及数据处理方法
JPH06195322A (ja) 汎用型ニューロコンピュータとして用いられる情報処理装置
US20240192953A1 (en) Methods for performing processing-in-memory operations, and related systems
Chen et al. A high-throughput neural network accelerator
US20200226201A1 (en) Methods and Apparatus for Constructing Digital Circuits for Performing Matrix Operations
Ebeling et al. RaPiD-a configurable computing architecture for compute-intensive applications
Muller et al. Achieving supercomputer performane for neural net simulation with an array of digital signal processors
KR20220028899A (ko) 가속기, 가속기의 동작 방법 및 이를 포함한 전자 장치
US20230289398A1 (en) Efficient Matrix Multiply and Add with a Group of Warps
JPH0236029B2 (ja)
Meng et al. PPOAccel: A high-throughput acceleration framework for proximal policy optimization
WO2021082747A1 (zh) 运算装置及相关产品
Fisher et al. Experience with the CMU programmable systolic chip
TWI844116B (zh) 在機器學習硬體加速器處利用資料稀疏性
CN117992396B (zh) 流式张量处理器
WO2022111013A1 (zh) 支援多种访问模式的设备、方法及可读存储介质
US7503046B2 (en) Method of obtaining interleave interval for two data values
Tiwari et al. Design of a Low Power and Area Efficient Bfloat16 based Generalized Systolic Array for DNN Applications
Valafar et al. A parallel implementation of backpropagation neural network on masPar MP-1