JPH02306365A - ニューロコンピュータの負荷配分方法 - Google Patents

ニューロコンピュータの負荷配分方法

Info

Publication number
JPH02306365A
JPH02306365A JP1127274A JP12727489A JPH02306365A JP H02306365 A JPH02306365 A JP H02306365A JP 1127274 A JP1127274 A JP 1127274A JP 12727489 A JP12727489 A JP 12727489A JP H02306365 A JPH02306365 A JP H02306365A
Authority
JP
Japan
Prior art keywords
processors
processor
real
virtual
row
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
Application number
JP1127274A
Other languages
English (en)
Other versions
JPH0782482B2 (ja
Inventor
Naoyuki Fukuda
福田 尚行
Koji Fujimoto
藤本 好司
Toshio Akaha
俊夫 赤羽
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP1127274A priority Critical patent/JPH0782482B2/ja
Priority to EP89124130A priority patent/EP0377221B1/en
Priority to DE68927474T priority patent/DE68927474T2/de
Publication of JPH02306365A publication Critical patent/JPH02306365A/ja
Priority to US07/885,239 priority patent/US5170463A/en
Publication of JPH0782482B2 publication Critical patent/JPH0782482B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 〈産業上の利用分野〉 この発明は、神経回路素子モデルに基づいて構成された
大規模な神経回路網を多数のプロセッサを用いてソミコ
レーションするニューロコンピュータに関する。
〈従来の技術〉 従来、神経回路素子モデルに活づいて構成された大規模
な神経回路網をシミュレーションするために、汎用コン
ピュータが用いられているが、回路網の学習に際して非
常に長い計算時間を要1.ていた。そこで、高速化を図
るために、神経回路網の計算は同種の神経回路素子に対
して同じ計算を行うという特徴を利用して、神経回路素
子ごとに実際のプロセッサ(以下、「実プロセッサ」と
いう)を1つ割り当てるか、もしくは複数の神経回路素
子に対して1つの実プロセッサを割り当てて並列処理を
行うようにした並列計算機が提案されている。
1−記並列計算機の各プロセッサ間の結合方式には格子
型結合、クロスバ−型結合、ツリー型結合、多段クロス
バ−型結合、キューブ型結合などの様々な方式がある。
しかし、これらの結合方式は神経回路網が大規模になっ
てプロセッサの数が増えると、配線数が非常に多くなっ
て実装が複雑になるらのであった。
最近、本出願人は、非常に単純な結合方式の並列計算機
として、神経細胞に相当Wる細胞プロセッサCと、シナ
プスの結合に相当する重みプロセッサWと、外部装置か
ら入力データを取り込む入力プロセッサと、外部装置に
データを転送する出力プロセッサと、外部装置から入ツ
ノデータを取り込んで外部装置にデータを転送する入出
力ブロセッ41−に対応する5種類の仮想プロセッサを
所定のパターンの行列に配置すると共に格子状円環体t
)1゜くは格子状矩形面に接続(またことを特徴とする
ニューロコンピュータを提案した(特願昭63−330
971号、特願昭64−24307号)。このニューロ
コンピュータは、上記仮想プロセッサの行列を行方向に
P分割1列方向にQ分割17て、分割された矩形領域を
P行、Q列の行列に配列した実プロセッサにそれぞれ割
り当てて、この実プロセッサによって神経回路網のシミ
ュレーションを!lfL列処理するようにしている。こ
れにより、非常に単純な結合方式によって、大規模な神
経回路網のンミュレーノヨンを可能にしている。
〈発明が解決しようとする課題〉 ところで、神経回路網の代表的なモデルとして第1O図
(a)乃至(d)に示すようなものがある。第1O図(
a)は階層的なネットワーク(例えばバーセブトロン)
、同図(b)はフィードバックを含む階層的なネットワ
ーク(コグニトロン)、同図(C)は層内結合を含む階
層的なネットワーク(相互抑制のあるネットワーク)、
同図(d)は相互結合のネットワーク(ホップフィール
ドのネットワーク、ボルツマンマシン)を示)2ている
。そして、上記第10図(a) 、 (b)に示したモ
デルでは各層間のすべての神経素子に結合があるとき、
同図(c)に示したモデルでは同一層内および層間の全
ての神経素子に結合があるとき、同図(d)に示したモ
デルでは全ての神経素子間に結合があるとき、これらの
モデルに合わせて上記格子状円環体もしくは格子状矩形
面に接続した仮想プロセッサを構成すると、仮想プロセ
ッサの行列のパターンはそれぞれ第11図(a)、(b
)、(e)、(d)に示すようになる。これらの図にお
いて、Wは重みプロセッサ、0は零プロセッサ(神経素
子間の結合がない場合に相当する)。
Cは細胞プロセッサを示しており(以下の図において同
様)、簡単のため第1行に配置した入力プロセッサ、出
力プロセッサおよび入出カプロセッサを省略している。
これらの図かられかるJ:うに、各仮想プロセッサの行
列に、同種のプロセッサだけが占める矩形領域と、対角
成分を1つの種類のプロセッサ、非対角成分を他の1つ
の種類のプロセッサが占める矩形領域とが生ずる。上記
第1行を除いて、これらの矩形領域を分類すると、第1
2図(a)乃至(e)に示すように、5種類の矩形領域
に分類される。第12図(a) 、 (b)は面者のタ
イプ。
同図(b)、(e)、(d)は後背のタイプを示してい
る。
上記従来のニューロコンピュータは、このような仮想プ
ロセッサの行列を(P×Q)個に分割して、そのまま各
実プロセッサに割り当てているので、処理量(計算負荷
)の多い上記細胞プロセッサCや重みプロセッサWが実
プロセッサ間で偏って割り当てられることになる。その
ため、処理を実行する際、七記実ブロセッザのうちで待
ち状態になるものが生じて並列処理の効率が落ち、本来
の高速性能が生かせないという問題がある。
そこで、この発明の目的は、仮想プロセッサを実プロセ
ッサに計算負荷が均等になるように割り当てることによ
−て並列処理の効率を上げ、高速処理を可能にしたニュ
ーロコンピュータを提供することにある。
く課題を解決するための手段〉 上記目的を達成するために、この発明は、神経細胞に相
当する細胞プロセッサと、シナプスの結合に相当する重
みプロセッサと、外部装置から入力データを取り込む入
力プロセッサと、外部装置にデータを転送する出力プロ
セッサと、外部装置から入力データを取り込んで外部装
置にデータを転送する入出カプロセッサに対応する5種
類の仮想プロセッサを所定のパターンの行列に配It、
、この仮想プロセッサをP行、Q列の行列に配列した実
プロセッサに割り当てて、この実プロセッサによって神
経回路網の計算を並列に行うニューロコンピュータにお
いて、−に記仮想ブロセッザからなる上記行列の所定の
矩形領域を(P×Q)個の略同じスケールの小行列に分
解し、−に足車行列を実プロセッサに各々割り当てるこ
とを特徴としている。
〈作用〉 仮想プロセッサの行列の所定の矩形領域に計算負荷が大
きい重みプロセッサや細胞プロセッサか高密度に含まれ
ている場合、(P×Q)個の略同じスケールの小行列に
分解され、(P×Q)個の実プロセッサの各々に割Hつ
当てられる。このため、上記矩形領域の重みプロセッサ
や細胞プロセッサが1つの実プロセッサに集中的に割り
当てられることがなくなって、実プロセッサ間の計算負
荷の偏りが解消する。したがって、並列処理の効率が高
まり、計算時間が短縮される。
また、上記仮想プロセッサの行列の複数の矩形領域につ
いて、上に述べたのと同様に分解して割り当てる場合、
各実プロセッサ間の計算負荷がさらに均一化されて、並
列処理の効率がさらに高ま〈実施例〉 以下、この発明のニューロコンピコ、−夕を実施例によ
り詳細に説明する。
第1図はこの発明の一実施例のニコーーロコンビプータ
を示している。この二コ−一口コンピュータは、ホスト
コンビ、−夕601と、行数P=6、列数Q=7の行列
に配置されたpxQ(=42)個の実プロセッサを備え
ている。611.612.・・・、617は1行目、6
21.622.・・・、627は2行目、以下同様に6
61,662.・・・、667は6行目の各実プロセッ
サを示している。この行列の各実プロセッサは、」−下
左右の4つの実プロセッサと格子状に接続されている。
なお、第1列の実プロセッサ611,621.・・・、
661はそれぞれ同じ行の第7列の実プロセッサ617
,627.・・・。
667に接続され、第1行の実プロセッサ6Gl。
6I2.・・・、617はそれぞれ同じ列の第6行の実
プロセッサ661,662.・・・、667に接続され
ている。第1行目の実プロセッサ611,621゜・。
661はパスライン602を介して−L記記入ストコン
ピュータ01に接続されている。
シュミレートすべき神経回路網のモデルが第2図に示ず
パーセプトロンである場合について説明する。
このバーセブトロンは、第10図(a)に示した階層的
なネットワークの1例であって、人力層。
第1隠れ層、第2隠れ層および出力層の4層からなって
いる。上記人力層はI == 3000個の外部入力を
有し、第1隠れ層、第2隠れ層、出力層はそれぞれ20
00.2000.1000個の神経素子を何している。
圭た、このバーセブトロンは、人力層と第1隠れ層の間
に6XIO’の結合を存しており、同様に第1隠れ層と
第2隠れ層との間に4XIO’の結合、第2隠れ屓と出
力層との間に2X108の結合を有している。そして、
このパーセプトロンを円環状もしくは矩形面結合の仮想
プロセッサでシュミレートする場合、この仮想プロセッ
サの行列配置は第3図に示すようになる。
この仮想プロセッサの行列は、上記バーセブトロンの外
部人力数をI、神経系T−散をJとすると、C,1+ 
1)=5001行、(1+J)=8000列からなり、
重みプロセッサWだけか配置される矩形領域401,4
06,411と、結合がないため零プロセッサOだけが
配置される矩形領域403゜404.405,408,
409,410と、対角成分に細胞プ【1セツザCだけ
が配置され非対角成分に零プロセッサOだjI′が配置
された正方形領域402.407,412と、第1行の
入力プロセッサ。
出力プロセッサおよび入出力プロセッサで構成される領
域400とで構成されている。ここで、矩形領域401
,405.409を併せた領域は上記入力層の入力端子
から他の神経素子への結合をあらイつす領域であり、こ
れを領域Aiとする。矩形領域402,406,410
を併せた領域は第1隠れ層の神経素子から池の神経素子
への結合をあられ」領域であり、これを領域Biとする
。矩形領域403,407,411を併せた領域は第2
隠れ層の神経素子から他の神経素子への結合をあられす
領域であり、これを領域C1とする。矩形領域404.
408,412を併せた領域は出力層の神経素子から他
の神経素子への結合をあられす領域であり、これを領域
Diとする。第1行の入力・出力・入出カプロセッサで
構成される領域400を領域Eiとする。矩形領域40
1,102,403.404を併U・た領域は他の神経
素子から第1隠れ層の神経素子への結合をあられす領域
であり、これを領域Fiとする。矩形領域405,40
6゜407.408を併1i″た領域は他の神経素子か
ら第2隠れ屑の神経素子への結合をあられす領域であり
、これを領域Giとする。矩形領域409,410.4
11,412を併せた矩形領域は他の神経素子から出力
層の神経素子への結合をあられす領域であり、これを領
域Hiとする。なお、上記各領域の行数および列数かイ
つかるように、第3図中に行番号、列番号を示している
上記仮想プロセッサを次のようにして実プロセッサに割
り当てる。なお、基本的な方針として、5種類の仮想プ
ロセッサのうち細胞プロセッサCが最ら計算負荷か大き
いので、これを含む矩形領域を行方向および列方向に分
割する一方、これを含まない領域を列方向に分割する(
行方向には分割17ない)ようにする。分割1−で形成
した小行列(以下、「ブロック」という)を実プロセッ
サに各々割り当てるようにする。上記分割の際に生じる
剰余の行または列は、一旦、別々に所定の剰余配列に格
納してから、実プロセッサに各々割り当てるようにする
■ まず、細胞プロセッサCを含まない矩形領域Aiを
列方向に(縦に)略均等にQ(=7)分割4゛る。この
とき、Iブロック当たり428列となり、剰余か4列生
ずる。そ(、て、上記実プロセッサの7列の各列に上記
ブロックを1つずつ割り当てる。
■ 次に、細胞プロセッサを含む矩形領域T3iを行方
向1列方向にそれぞれPxQ(=42)分割する。矩形
領域Ci、Diについても同様に行方向。
列方向に42分割する。上記矩形領域I3 i、 Ci
は、ともに■ブロック当たり47列となり、剰余が26
列生ずる。矩形領域Diは、!ブロック当たり23列と
なり、剰余が34列生ずる。なお、第4図は、」−記矩
形領域!3iとFiとが重な−〕でいろ領域BiFiを
分割した様子を示している。この領域BiFiを列方向
2行方向にそれぞれ42分割した後、7ブロツクずつ併
せたものが領域711,712、・・・となる。これら
の領域711,712.・・・はそれぞれブロック71
11〜7117,7121〜7127.・・・を含んで
いる。そして、上記矩形領域I3iのブロックを列方向
に7ブロツク周期で取り出(7て、取り出した6ブ〔1
ツクを実プロセッサの1つの列に割り当てる。実プロセ
ッサの各列について、このように6ブロツク4″′つ割
り当てる。
上記領域RiPiの場合、実プロセッサの第1列に1ブ
ロック47列(1ブロツク)ずつ329列(7ブロツク
)周期で仮想プロセッサを割り当てる。
例えば、第1図に示した実プロセッサ611に7111
.7121.7131.7141.7151゜7161
の6ブロツクを割り当て、同様に、実プロセッサ612
にブロック7【【2〜7162゜実プロセッサ613に
ブロック7113〜7163、実プロセッサ614にブ
ロック7114〜7164、実プロセッサ617にブロ
ック7117〜7167を割り当てる。
■ 上記仮想プロセッサの行方向に関して、矩形領域E
を除く各矩形領域を、列方向と同様に、P×Q(−42
)分割した場合、矩形領域Bi、Giは、それぞれ1ブ
ロツク当たり47行となり、剰余が26行生ずる。矩形
領域Hiは、■ブロック当たり23行となり、剰余か3
4行生ずる。そして、各矩形領域内で、行を置換せず、
そのまま7ブロツクを併せて、すなわち、矩形領域p+
、Giは329行、矩形領域11iは161行にそれぞ
れまとめて、上記実プロセッサの行の各々に割り当てる
。例えば、実プロセッサ611にブロック7ill〜7
161.実プロセッサ6211こブロック72【l〜7
261.実プロセッサ631に7311〜7361.・
・・、実プロセッサ661にブロック7611〜766
1を割り当てる。
■ 上に述べた各ブロックの割り当ての後、各分割の際
に生じた剰余を次のようにI、て実プロセッサに割り当
てる。
まず、列方向の分割の際に生じた剰余の処理を行う。予
め準備した剰余配列に、上記矩形領域Aiを7分割した
際の剰余4列(第2997.2998.2999.30
00列)、矩形領域B i、 CiおよびDiをそれぞ
れ42分割した際の剰余26列(第4975列〜500
0列)、26列(第6975列〜第7000列)、34
列(第7967列〜第8000列)の合計90列を格納
する。そ(7て、この剰余配列の列を7列の実プロセッ
サに1列ずつ巡回して割り当てていく。すなわち、第1
実プロセッサ列から第6実プロセッサ列には13列、第
7実プロセッサ列には12列の仮想プロセッサ列を新た
に割り当てる。例えば、実プロセッサの第1列には第2
997.4978.49 g 5,4992,4999
.6980,6987,6994,7967゜7974
.7981.7988.7995列の13列を、新ノニ
に割り当てる。
次に、行方向の分割の際に生じた剰余の処理を行う。上
記剰余配列に、上記矩形領域Pi、GiおよびHiをそ
れぞれ42分割した際の剰余26行く第1976行〜第
2001行)、26行く第3976行〜第4001行)
、34行(第4968行・−第5001行)の合計S6
行を格納する。そして、上記実プロセッサの第1行に矩
形領域E1を既に割り当てたので、上記剰余配列の行を
、6行の実プロセッサの第2行からロチずつ巡回して割
り当てていく。4″なわち、矩形領域Eiの1行を含め
て、実プ【ゴセッザの第1行−第3行にそれぞれ仮想プ
ロセッサの15行、第4行〜第6行にそれぞれ15行を
割り当てろ。例えば、実プロセッサの第1行に、仮想プ
ロセッサの第1行(領域E)、第1981.1987.
1993,1999,3979゜3985.3991,
3997,4969,4975゜4981.4987,
4993.4999行の合計15行を割り当てる。
第5図は、このようにして、上記仮想プロセッサを第1
行、第1列目の実ブ〔ノセッザ61!に割り当てた配置
を示している。図中、aは矩形領域Aiを割り当てた領
域、b、、!〕、、b、、・・・、b8は矩形領域Bi
を割り当てた領域、CI + + 2 、・・・、ca
は矩形領域Ciを割り当てたばj域、d7.dt、・・
・、d、lは矩形領域Diを割り当てた領域、802は
列方向の各分割の際に生じた剰余を割り当てた領域を示
;7、一方、eは矩形領域Eiを割り当てた領域、rは
矩形領域Fiを割り当てた領域、gは矩形領域Giを割
り当てた領域、hは矩形領域Hiを割り当てた領域、8
01は行方向の各分割の際に生じた剰余を割り当てた領
域を示l、ている。なお、列方向および行方向の各数字
は仮想プロセッサの列数1行数を示(7ている。
このようにして、パーセブトロンモデルをシュミ1ノー
トする仮想プロセッサを分割して、実プロセッサに64
割り当てた場合、各矩形領域に含まれた重みプロセッサ
Wや細胞プロセッサCを実プロセッサに略均等に割り当
てることができる。したがって、このニューロフンピユ
ータは、実プロセッサ間の計算負荷の偏りを解消するこ
とができ、並列処理の効率を高めて、計算時間を短縮す
ることができる。
なお、一般のバーセブトロンについて、次のようにして
一般化して割り当てることができる。
神経回路網の人力ベクトルの次元(第0層の神経素子数
)をLoq入力層および出力層を含む全層数をM、第に
層の神経素子数をLk、全神経素子の理手順によって仮
想プロセッサの割り当てをする。
ここで、(AmodB)はAをBて割った剰余を表わす
ものと12.1nt(x)はXの整数部を表わすものと
する。
■ まず、列アドレスを置換する。
Sを仮想プロセッサ行列の列アドレスとする。
(a)0<s≦し。のとさ 列アトlメスSの置換アドレスは第1列目実プロセッサ
で、 n=1nt(s/1nt(Lo/Q))4−1    
   (1)先頭から第1列目であり、 u=s −(n −1) ・1nt(L o/Q)  
    (2)剰余が存在する場合、ずなわち(Lo 
l1od Q)≠0のとき Lo−(Lo mod Q)<s≦I、。
なるSを剰余配列(surplus)に格納する。
(b)Ck<s≦Ck+L、にのとき とする。
列アドレスSの置換アドレスは第0列目実プロセッサで
、 n=(int((s−Ck)/Dk)nod Q)+1
  (3)PQ  。
先頭から第1列目であり、 + 1nk((s  Ck)/Q/Dpq)X D P
Q+ ((s Ck)mod D PQ + 1   
(4)剰余が存在する場合、すなわち(L k nod
(P ×Q))≠0のとき Ck+T、、、 k−(L k nod(P ×Q )
)< s≦Ck+Lk (5)なるSを剰余配列(su
rplus)に格納する(ステップS4.St) ■ 次に、剰余配列を処理する。
」二組剰余配列(6urplus)を順にQ列の実プロ
セッサに1列ずつ巡回j2て割り当てる(ステップS、
)。
■ 次に、行アドレスを置換する。
tを行アドレスとする。
t=1のとき 第1行プロセッサに割り当てる。
Ck+l<t≦Ck+I、に+1のときただし、Dk 
=int、(Lk/P/Q)。
Q 行アドレスtの置換アドレスは第m行目実プロセソザで m=1nt((t−Ck−1)/Q/Dkpg)柵 (
6)先頭から第V行目であり、 −(m−■)・Q−DI)Q+δ1111(7)剰余が
存在する場合、すなわち(L k mod(P xQ)
)≠0のとき Ck+Lk −(Lk mod(P×Q))<t≦Ck
+i、kなろしを剰余配列(surplus)に格納す
る(ステップS 、、 S s)。
■ 最後に、剰余配列を処理する。
上記剰余配列(surplus)を順にP行の実プロセ
ッサに第2実ブロセツザ行から始めて1行ずつ巡回して
割り当てる(ステップS。)。
次に、上記ニコーロコンピュータが行数P = 2 。
列数Q=3の行列に配置されたP×Q(−6)個の実プ
ロセッサを備えた場合であって、シコミレートすべき神
経回路網のモデルが第7図に示すポツプフィールドであ
る場合について説明する。
このホップフィールドは、第1θ図(d)に示したもの
の1例であって、神経回路網の全神経素子数をI=10
00とし、結合リンクの数を(lxI)とする。そして
、このホップフィールドを円環状もしくは矩形面結合の
仮想プロセッサでシュミレー1・する場合、仮想プロセ
ッサの行列配置は第8図に示すようになる。この仮想プ
ロセッサの行列は、(I+1)=1001行、21=2
000列であって、対角成分に重みプロセッサWだけが
配置され、非対角成分に零プロセッサ0だ1」が配置さ
れた領域1101と、対角成分に細胞プロセッサだけが
配置され非対角成分に重みプロセッサWだけが配置され
た領域1102と、人力プロセッサ(記号↓で示す)お
よび出力プロセッサ(記号↑で示す)だけが配置された
領域(第1行月103とで構成されている。
−に記仮想ブロセッザを、第9図に示した処理手順によ
って、次のようにして実プロセッサに割り当てる。
■ まず、領域tio+、領域1102を列方向に略均
等にそれぞれP×Q(=6)分割する。領域1tot、
領域1102は、ともに1ブロツク当たり166列に分
割され、剰余が4列ずつ生じる。そして、領域1101
.領域1102のブロックを併せて、列方向に3ブロツ
ク周期で取り出して、取り出した4ブロツクを実プロセ
ッサの1つの列に割り当てる。実ブ〔Jセゾザの各列に
ついて、このように4ブロツクずつf+I i:を当て
る。
一方、−J−記分割の際に生じた剰余8列は、一旦、予
め準備した剰余配列に格納して、実プロセッサの第1列
から1列ずつ巡回して各列に割り当てる。
例えば、実プロセッサの第1列には第997.1000
4999列の合計3列を割り当て、同様に竿2列には3
列、第3列には2列を割り当てろ。
1Φ 次に、上記領域1101および領域1102を行
方向にともに略均等にPxQ(=6)分割する。1ブロ
ツク当たり166行となり、剰余が4行生4″る。そ1
2て、行を置換せず、3ブロツク毎にまとめてそのまま
上記実プロセッサの各行に割り当てる。例えば、実プロ
セッサの第1行に−F、記仮想ブ【7セツザの第2行〜
第499行目までを割り当てる。また、上記剰余4行は
、剰余配列に一旦格納した後、2行の実プロセッサの第
2行から1行ずつ巡回して割り当てる。例えば、実プロ
セッサの第1行に仮想プロセッサの第999.1001
行を、実プロセッサの第2行に仮想プロセッサの第99
8.1000行をそれぞれ割り当てる。
第9図(a) 、 (+))は、このようにして、仮想
プロセッサを第1行第1列、第2行第2列の実プロセッ
サにそれぞれ割り当てた配置を示している。
このようにして、ホップフィールドモデルをシュミレー
トする仮想プロセッサを分割して、実プロセッサに割り
当てた場合、上記バーセプトロンモデルの場合と同様に
、このエコーロコンビコータは、実ブロセソザ間の計り
負荷の偏りを解消才ることができ、並列処理の効率を高
め、計算時間を短縮することができろ。
なお、一般のホップフィールドについて、第9図に示し
た処理手順に従って、次のように一般化して割り当てる
ことができる。
■ まず、列アドレスを置換する。
Sを列アドレスとする。
(a)O<s≦Iのとき ただ(7、Dpq=+nt(1/P /Q)とする。
列アドレスSの置換アドレスは第n列目実ブロセ・ソザ
で、 n−1nt(s/D、q))nod Q)+ 1   
  (9)先頭から第1列目であり、 u= 1nt(s/Q/D PQ)X D PQ+ (
S l1lod D pg) + 1(io) 剰余が存在する場合、すなわち(Imod(P×Q))
≠0のとき 1−(I  mod (P xQ))<s≦■なるSを
剰余配列(surplus)に格納する。
(b)I<s≦2■のとき 列アドレスSの置換アト1ノスは第n列目実プロセッサ
で、 n= 1nt((s −1)/Q/D pQ)川   
(11)先頭から第1列目であり、 u=DPQxP→−1nt((s−I)/Q/DPQ)
×I)PQ4−((s−I)IllodDPQ)柵  
  (12)剰余が存在する場合、すなイつち(I  
mod(P X Q))≠0のとき 21−([ll1od (P xQ、))<s≦21 
   (13)なるSを剰余配列(surplus)に
格納する(ステップS、、S、)。
@ 次に、剰余配列を処理する。
上記剰余配列(surplus)を順にQ列の実プロセ
ッサに1列ずつ巡回して割り当てる(ステップS、)0
■ 次に、行アドレスを置換する。
tを行アトlノスとする。
し−=1のとさ 第1行プロセッサに割り当てる。
1<tのとき 行アドレスtの置換アト1ノスは第n列目実プロセッサ
で m−1nt((t−1)/D、q/Q )+ 1   
   (14)先頭から第V行目であり、 v−t−1−(lll−1)・Q−I′)PQ+δ1.
  (15)剰余が存在する場合、すなわち(I  w
+od(P X Q))≠0のとき I+1−(I l1od(P×Q))<t≦I + 1
  (16)なる(を剰余配列(surplus)に格
納する(ステップS、、S、)。
■ 最後に、剰余配列を処理する。
上記剰余配列(surplus)を順にP行の実プロセ
ッサに第2実ブロセツザ行から始めて1行ずつ巡回して
割り当てる(ステップ5ll)。
以上、多層パーセブトロンおよびホップフィールドモデ
ルに−)いて、この発明のニコーロコンビコータを適用
した例を示したが、これらのモデルに限られるものでは
なく、第10図(b)または(C)に示した他のモデル
について6同様に適用することかできる。
〈発明の効果〉 以」−より明らかなように、この発明は、神経細胞に相
当する細胞プロセッサと、シナプスの結合に相当する重
みプロセッサと、外部装置から人力データを取り込む入
力プロセッサと、外部装置にデータを転送する出力プロ
セッサと、外部装置から入力データを取り込んで外部装
置にデータを転送する入出カプロセッサに対応する5種
類の仮想プロセッサを所定のパターンの行列に配置し、
この仮想プロセッサをP行、Q列の行列に配列した実プ
ロセッサに割り当てて、この実プロセッサによって神経
回路網の計算を並列に行うニューロコンピュータにおい
て、上記仮想プロセッサからなる上記行列の所定の矩形
領域を(P X Q)個の略同じスケールの小行列に分
解し、上記小行列を実プロセッサに64割り当てている
ので、各実プロセッサの計算負荷を略均等にすることが
でき、並列処理の効率を上げ、計算時間を短縮すること
ができる。
また、」−記矩形領域は′fFj、数である場合、−l
ユ記並列処理の効率をざらに上げると共に、計算時間を
短縮することができる。
【図面の簡単な説明】
第1図はこの発明の一実施例のニューロコンピュータを
示す図、第2図はパーセブトロンモデルを示す図、第3
図は上記バーセブトロンモデルをシュミレートする仮想
プロセッサの行列を示す図、第4図は上記仮想ブロセッ
ザの行列の一部を示す図、第5図は上記仮想プロセッサ
を割り当てた実プロセッサの行列の一部を示す図、第6
図は上記仮想プロセッサを実プロセッサに割り当てる手
順を示すフローヂャート、第7図はホップフィールドモ
デルを示す図、第8図は上記ホップフィールドモデルを
シコミレートする仮想ブロセッザの行列を示す図、第9
図(a)、(b)はそれぞれ」−記仮想プロセッサを割
り当てた実プロセッサの行列の一部を示す図、第1O図
(a) 、 (b) 、 (e) 、 (d)はそれぞ
れ神経回路網のモデルを示す図、第1I図(a)、(b
)、(c)。 (d)はそれぞれ上記神経回路網のモデルをシュミレー
トする仮想プロセッサの行列を示す図、第12図(a)
、(b)、(c)、(d)、(e)はそれぞれ上記仮想
プロセッサの行列の所定の矩形領域を分類した行列パタ
ーンを示す図である。 601・・・ホストコンピュータ、 602・・・パスライン、 611.612.・・・、667・・・実プロセッサ、
Ai、Bi、Ci、Di、Ei、Fi、Gi、Hi、 
l 101 。 1102.1103・・・矩形領域、 W・・重みブロセッザ、0・・・零ブロセッザ、C−・
・細胞ブロセッザ。 特 許 出 願 人  ンヤープ株式会社代 理 人 
弁理士  前出 葆 はか1名第2図 第6図 第7図 第10図 (a)            (b)■層 第11閏 ■H4H20 C:m陀プロセッす 工H,l−120 I          I

Claims (4)

    【特許請求の範囲】
  1.  (1)神経細胞に相当する細胞プロセッサと、シナプ
    スの結合に相当する重みプロセッサと、外部装置から入
    力データを取り込む入力プロセッサと、外部装置にデー
    タを転送する出力プロセッサと、外部装置から入力デー
    タを取り込んで外部装置にデータを転送する入出力プロ
    セッサに対応する5種類の仮想プロセッサを所定のパタ
    ーンの行列に配置し、この仮想プロセッサをP行,Q列
    の行列に配列した実プロセッサに割り当てて、この実プ
    ロセッサによって神経回路網の計算を並列に行うニュー
    ロコンピュータにおいて、 上記仮想プロセッサからなる上記行列の所定の矩形領域
    を(P×Q)個の略同じスケールの小行列に分解し、上
    記小行列を実プロセッサに各々割り当てることを特徴と
    するニューロコンピュータ。
  2.  (2)神経回路網の計算を並列に行うことを特徴とす
    るニューロコンピューターにおいて、神経細胞に相当す
    る細胞プロセッサと、シナプスの結合に相当する重みプ
    ロセッサと、外部装置から入力データを取り込むプロセ
    ッサと、外部装置にデータを転送する出力プロセッサと
    、外部装置から入力データを取り込み、外部装置にデー
    タを転送する入出力プロセッサ、これら5種類の仮想プ
    ロセッサからなる格子状円環体らしくは格子状矩形面接
    続のニューロコンピューターにおいて、格子状円環体も
    しくは格子状矩形面に配置された仮想プロセッサのうち
    で、同種のプロセッサが矩形領域をなす、または、ある
    1種のプロセッサで形成される矩形領域内でその対角線
    状を異種のプロセッサが占有する神経回路網のモデルで
    ある場合、 仮想プロセッサの計算負荷を、格子状円環体または格子
    状矩形面に配置、結合された実プロセッサ群に略均等に
    割り当てることで並列処理の高速化を図るために、 各矩形領域の仮想プロセッサの列方向には全実プロセッ
    サ数または列方向実プロセッサ数に略均等に分割し、行
    方向には全実プロセッサ数または行方向実プロセッサ数
    で略均等に分割して各矩形領域から1個または複数個の
    分割領域を各々の実プロセッサに置換によって略均等に
    割り当てることにより実プロセッサ間の計算負荷を略均
    等にすることを特徴とする負荷配分方式。
  3.  (3)請求範囲第2項目の格子状円環体もしくは格子
    状矩形面に配置された仮想プロセッサを実プロセッサに
    分割する時、略均等に実プロセッサに割り当てられるよ
    うに、 上記矩形領域ごとに分割、置換して、 行方向および列方向には使用する全実プロセッサ数で分
    割を行い、 行方向の置換を行う場合は上記分割後、列方向に使用す
    る実プロセッサ数ごとに上記分割時の最小分割単位をま
    とめて、行方向実プロセッサの1行に割り当て、 列方向の置換を行う場合は上記分割後、列方向に使用す
    る実プロセッサ数の間隔で上記分割時の最小分割単位を
    列方向実プロセッサの1列に割り当てる負荷配分方式。
  4.  (4)請求範囲第2項目の格子状円環体もしくは格子
    状矩形面に配置された仮想プロセッサを実プロセッサに
    分割するとき、まず上記矩形領域を均等に分割し、その
    分割において剰余が生じた場合は、 生じる余りを行ごと、列ごとに別々に全て剰余配列に格
    納し、一通り置換が終わった実プロセッサ行および列に
    本剰余配列を順に割り当て、すべての仮想プロセッサを
    配分した後は、行方向実プロセッサ同士および列方向実
    プロセッサ同士では割り当てられる仮想プロセッサ行数
    及び列数の差が高々1行もしくは1列以内になるように
    剰余を配分する負荷配分方式。
JP1127274A 1988-12-29 1989-05-19 ニューロコンピュータの負荷配分方法 Expired - Fee Related JPH0782482B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP1127274A JPH0782482B2 (ja) 1989-05-19 1989-05-19 ニューロコンピュータの負荷配分方法
EP89124130A EP0377221B1 (en) 1988-12-29 1989-12-29 Neuro-computer
DE68927474T DE68927474T2 (de) 1988-12-29 1989-12-29 Neuro-Rechner
US07/885,239 US5170463A (en) 1988-12-29 1992-05-20 Neuro-computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1127274A JPH0782482B2 (ja) 1989-05-19 1989-05-19 ニューロコンピュータの負荷配分方法

Publications (2)

Publication Number Publication Date
JPH02306365A true JPH02306365A (ja) 1990-12-19
JPH0782482B2 JPH0782482B2 (ja) 1995-09-06

Family

ID=14955935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1127274A Expired - Fee Related JPH0782482B2 (ja) 1988-12-29 1989-05-19 ニューロコンピュータの負荷配分方法

Country Status (1)

Country Link
JP (1) JPH0782482B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018197906A (ja) * 2017-05-23 2018-12-13 富士通株式会社 情報処理装置、マルチスレッド行列演算方法、およびマルチスレッド行列演算プログラム
JP2021528717A (ja) * 2018-06-14 2021-10-21 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 再構成可能なコアレベルおよびベクトルレベルの並列性を有する並列計算アーキテクチャ
US11275995B2 (en) 2016-07-13 2022-03-15 Fujitsu Limited Information processing apparatus, ising device, and control method for information processing apparatus

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6488767A (en) * 1987-09-30 1989-04-03 Hitachi Ltd Parallel computer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6488767A (en) * 1987-09-30 1989-04-03 Hitachi Ltd Parallel computer

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11275995B2 (en) 2016-07-13 2022-03-15 Fujitsu Limited Information processing apparatus, ising device, and control method for information processing apparatus
JP2018197906A (ja) * 2017-05-23 2018-12-13 富士通株式会社 情報処理装置、マルチスレッド行列演算方法、およびマルチスレッド行列演算プログラム
JP2021528717A (ja) * 2018-06-14 2021-10-21 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 再構成可能なコアレベルおよびベクトルレベルの並列性を有する並列計算アーキテクチャ

Also Published As

Publication number Publication date
JPH0782482B2 (ja) 1995-09-06

Similar Documents

Publication Publication Date Title
CN110826719B (zh) 一种量子程序的处理方法、装置、存储介质和电子装置
US20190156201A1 (en) Device and method for distributing convolutional data of a convolutional neural network
CN108416434A (zh) 针对神经网络的卷积层与全连接层进行加速的电路结构
CN110321997A (zh) 高并行度计算平台、系统及计算实现方法
Kalinin et al. Self-organized criticality and pattern emergence through the lens of tropical geometry
CN107516131A (zh) 卷积计算的加速方法和装置、电子设备和存储介质
Deprit Implementing recurrent back-propagation on the Connection Machine
JPH02306365A (ja) ニューロコンピュータの負荷配分方法
Iaroshenko et al. Binary operations on neuromorphic hardware with application to linear algebraic operations and stochastic equations
Thiruppathi et al. Novel fuzzy assignment problem using hexagonal fuzzy numbers
CN115859011B (zh) 矩阵运算方法、装置及单元、电子设备
Gaylord et al. Truth-table look-up processing: number representation, multilevel coding, and logical minimization
JP7251354B2 (ja) 情報処理装置、情報処理プログラム、及び情報処理方法
CN107220702A (zh) 一种神经网络优化方法及装置
Ruckert An associative memory with neural architecture and its VLSI implementation
CN107832832A (zh) 卷积神经网络的池化运算方法及装置
Ben‐Natan et al. Parallel contractions of grids for task assignment to processor networks
Kumar et al. Algorithmic mapping of neural network models onto parallel SIMD machines
TWI841631B (zh) 用於矩陣的空間地域轉換之方法及處理器電路
Barman et al. Silt: The bit-parallel approach
EP0449400B1 (en) Electronic airbrushing
TW202247049A (zh) 基於卷積運算的資料處理方法及電路
Usui et al. Application of block-structured adaptive mesh refinement to particle simulation
CN116227799A (zh) 任务分配方法、装置、计算机设备、存储介质
Fujii et al. Use of neural nets in channel routing

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees