JPH0619862A - スケーラブル超並列グループ分割対角線折畳みスイッチング・ツリー型コンピューティング装置 - Google Patents

スケーラブル超並列グループ分割対角線折畳みスイッチング・ツリー型コンピューティング装置

Info

Publication number
JPH0619862A
JPH0619862A JP5082356A JP8235693A JPH0619862A JP H0619862 A JPH0619862 A JP H0619862A JP 5082356 A JP5082356 A JP 5082356A JP 8235693 A JP8235693 A JP 8235693A JP H0619862 A JPH0619862 A JP H0619862A
Authority
JP
Japan
Prior art keywords
tree
processor
array
alu
communication
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
JP5082356A
Other languages
English (en)
Other versions
JP2647330B2 (ja
Inventor
Gerald G Pechanek
ジー. ペチャネク ジェラルド
Stamatis Vassiliadis
ヴァジリアディス スターマティス
Jose Guadelupe Delgado-Frias
グアドループ デルガド−フライアス ホセ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0619862A publication Critical patent/JPH0619862A/ja
Application granted granted Critical
Publication of JP2647330B2 publication Critical patent/JP2647330B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8023Two dimensional arrays, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Neurology (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 スケーラブル超並列グループ分割対角線折畳
みスイッチング・ツリー・コンピューティング装置を提
供する。 【構成】 ニューラル・ネットワークをサポートする汎
用超並列コンピュータ・アーキテクチャは、各エッジ上
にN個の処理エレメントを含んでいる三角形アレイを、
各々が寸法Xで、各々が共通ビルディング・ブロックを
表している複数の小さな三角形アレイに分割し、これら
の三角形アレイを各種サイズの並列処理実現のために相
互結合する。グループ・チップは、完全な結合性能力を
維持する独特のスイッチング・ツリー・メカニズムによ
って相互結合され、寸法Nの元の三角形アレイによって
機能的に処理される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータに関し、特
に超並列アレイ・プロセッサに関するものである。
【0002】本出願に関連する他の特許出願 以下は、本出願に関連する特許出願(係属中または特許
付与)を列挙したものである。
【0003】1.米国特許出願第07/526,866
号、1990年5月22日出願、発明者バシリアディス
(S.Vassiliadis)外;発明の名称「直交
行列ニューラル・プロセッサ」(Orthogonal
Row−Column Neural Proces
sore)(1991年11月12日特許、米国特許第
5,065,339号) 2.米国特許出願第07/740,355号、1991
年8月5日出願、発明者バシリアディス(S.Vass
iliadis)外;発明の名称「スケーラブル・ニュ
ーラル・アレイ・プロセッサ」(Scalable N
eural Array Processor)(現在
出願係属中) 3.米国特許出願第07/740,556号、1991
年8月5日出願、発明者バシリアディス(S.Vass
iliadis)外;発明の名称「ニューラル・アレイ
・プロセッサ用加算器・ツリー」(Adder Tre
e for Neural Array Proces
sor)(現在出願係属中) 4.米国特許出願第07/740,568号、1991
年8月5日出願、発明者バシリアディス(S.Vass
iliadis)外;発明の名称「ニューラル・プロセ
ッサの装置および方法」(Apparatus and
Methodfor Neural Process
or)(現在出願係属中) 5.米国特許出願第07/740,266号、1991
年8月5日出願、発明者バシリアディス(S.Vass
iliadis)外;発明の名称「スケーラブル・ニュ
ーラル・アレイ・プロセッサおよび方法」(Scala
ble Neural Array Processo
r and Method)(現在出願係属中) 6.米国特許出願第07/682,786号、1991
年4月8日出願、発明者ペシャネック(G.G.Pec
hanek)外;発明の名称「三角形スケーラブル・ニ
ューラル・アレイ・プロセッサ」(Triangula
r Scalable Neural Array P
rocessor)(現在出願係属中) 7.米国特許出願第07/681,842号、1991
年4月8日出願、発明者ペシャネック(G.G.Pec
hanek)外;発明の名称「SPIN:シーケンシャ
ル・パイプライン化ニューロコンピュータ」(SPI
N:Sequential Pipelined Ne
urocomputer)(現在出願係属中) 8.米国特許出願第07/702,261号、1991
年5月17日出願、発明者ペシャネック(G.G.Pe
chanek)外;発明の名称「学習マシン・シナプス
・プロセッサ・システム装置」(Learning M
achineSynapse Processor S
ystem Apparatus)(現在出願係属中) 9.米国特許出願第07/702,260号、1991
年5月17日出願、発明者ペシャネック(G.G.Pe
chanek)外;発明の名称「ニューラル・ネットワ
ーク用の仮想ニューロコンピュータ・アーキテクチャ」
(Virtual Neurocomputer Ar
chitectures for Neural Ne
tworks)(現在出願係属中) 10.米国特許出願第07/702,262号、199
1年5月17日出願、発明者ペシャネック(G.G.P
echanek)外;発明の名称「スケーラブル・フロ
ー仮想学習ニューロコンピュータ」(Scalble
Flow Virtual Learning Neu
rocomputer)(現在出願係属中) 11.米国特許出願第07/702,263号、199
1年5月17日出願、発明者ペシャネック(G.G.P
echanek)外;発明の名称「PLAN:ピラミッ
ド学習アーキテクチャ・ニューロコンピュータ」(PL
AN:Pyramid Learning Archi
tecture Neurocomputer)(現在
出願係属中) 12.米国特許出願第07/864,112号、199
2年4月6日出願、発明者ペシャネック(G.G.Pe
chanek)外;発明の名称「超並列アレイ・プロセ
ッサ」(Massively Parellel Ar
ray Processor)(現在出願係属中) 以下は、本出願と同時に出願された関連特許出願であ
る。
【0004】1.米国特許出願第07/
号、1992年5月15日出願、発明者ペシャネック
(G.G.Pechanek)外;発明の名称「超並列
対角線折畳みツリー・アレイ・プロセッサ」(Mass
ively ParallelDiagonal−Fo
ld Tree Array Processor) 上記特許出願は被承継人であるインターナショナル・ビ
ジネス・マシンズ・コーポレーション(米合衆国ニュー
ヨーク市アーモンク)が所有するものである。
【0005】また、上記特許出願に記載されている説明
は、ここにおいてその出願番号を参照することで本明細
書の一部を構成するものとする。
【0006】なお、本明細書の記述は本件出願の優先権
の基礎たる米国特許出願07/881,594号の明細
書の記載に基づくものであって、当該米国特許出願の番
号を参照することによって当該米国特許出願の明細書の
記載内容が本明細書の一部分を構成するものとする。
【0007】本明細書中で引用されている公知文献 以下の詳細な説明において、本発明の理解を容易にする
ために、以下の文献が引用されている。
【0008】1.米国特許出願第07/799,602
号、1991年11月27日出願、発明者オルノウィッ
チ(H.Olnowich);発明の名称「並列ネット
ワーク、ならびに異種および同種のコンピュータ・シス
テム用のマルチメディア・シリアル回線スイッチング・
アダプタ」(Multi−Media SerialL
ine Switching Adapter for
ParallelNetworks and Het
erogenous and Homologous
Computer Systems) 2.米国特許出願第07/798,788号、1991
年11月27日出願、発明者コッジ(P.M.Kogg
e)、発明の名称「ダイナミック・マルチ・モード並列
プロセッサ・アレイ・アーキテクチャ」(Dynami
c Multi−mode Parallel Pro
cessor Array Architectur
e)」(MIMD、SIMDおよびSISD間のダイナ
ミックなスイッチングを可能とするシステム) 3.ルーメルハート(D.E.Rumelhart)、
マックレランド(J.L.McClelland)、お
よびPDP 研究グループ(PDP Research
Group)共著「並列分散処理 Vol.1:基礎
(Parallel Distributed Pro
cessing Vol.1:Foundation
s)」、マサチューセッツ州 ケンブリッジ(Camb
ridge,Massachusetts:MIT プ
レス 1986年発行(以下、「ルーメルハート86
(Rumelart 86)」として参照する。) 4.「ニューラル・プロセッサ用の装置および方法」、
バシリアディス(S.Vassiliadis)および
ペシャネック(G.G.Pechanek)、米国特許
出願第07/526,866号、1990年5月18日
出願(本明細書中では、時々「SNAP」または「バシ
リアディス(Vassiliadis)SNAP 9
0」として参照する。) 5.「三角形スケーラブル・ニューラル・アレイ・プロ
セッサ(A TRIANGULAR SCALABLE
NEURAL ARRAY PROCESSO
R)」、ペシャネック(G.G.Pechanek)お
よびバシリアディス(S.Vassiliadis)、
米国特許出願第07/682,785号、1991年4
月8日出願(本明細書中では、「T−SNAP」として
参照する。) 6.「SPIN:順次パイプライン化ニューロ・コンピ
ュータ」、S.Vassiliadis、G.G.Pe
chanekおよびJ.G.Delgado−Fria
s、米国特許出願第07/681,842号、1991
年4月8日出願(以下、「SPIN」または「バシリア
ディス(Vassilliadis)91」として参照
する。) 7.ホップフィールド(J.J.Hopfield)著
「2状態ニューロンのごとき集合的計算特性を有する勾
配応答のあるニューロン(Neurons with
Graded Response Have Coll
ectiveComputational Prope
rties Like Thoseof Two−St
ate Neurons)」、ナショナル・アカデミー
・オブ・サイエンスの会報 81(Proceedin
gs of the National Academ
y of Sciences 81、第3088−30
92号、1984年5月発行(本明細書中では、「ホッ
プフィールド(Hopfield)84」として参照す
る。) 8.米国特許出願第07/702,262号、1991
年5月17日出願、発明者ペシャネック(G.G.Pe
chanek)外;発明の名称「スケーラブル・フロー
仮想学習ニューロコンピュータ」(現在出願係属中) 9.米国特許出願第07/702,261号、1991
年5月17日出願、発明者ペシャネック(G.G.Pe
chanek)外;発明の名称「学習マシン・シナプス
・プロセッサ・システム装置」(現在出願係属中) 10.米国特許出願第07/702,260号、199
1年5月17日出願、発明者ペシャネック(G.G.P
echanek)外;発明の名称「ニューラル・ネット
ワーク用の仮想ニューロコンピュータ・アーキテクチ
ャ」(現在出願係属中) 11.ヘラーマン(H.Hellerman)著「ディ
ジタル・コンピュータ・システムの原理(Digita
l Computer System Princip
les)」、New York、New York:M
cGraw−Hill Book Company、p
p.346−348、1967(本明細書中では、「ヘ
ラーマン(Hellerman 67)」として参照す
る。) 12.米国特許出願第07/ 号、1992
年5月15日出願、発明者ペシャネック(G.G.Pe
chanek)外;発明の名称「超並列対角線折畳みツ
リー・アレイ・プロセッサ(Massively Pa
rallelDiagonal−Fold Tree
Array Processor)」、本出願と同時出
願(以下、「DIAGONAL−FOLD TREE
92」として参照する。) 上記引用文献は、それらを参照することによって、本明
細書の一部を構成するものとする。
【0009】
【従来の技術】コンピュータ高速化のための限りのない
追求において、エンジニアは、数100台、あるいは数
1000台もの低コスト・マイクロプロセッサを並列に
結合して、現代のマシン(計算機)が難問としている複
雑な問題を征服するために除算を行う超スーパコンピュ
ータを構築しようとしている。この種のマシンは超並列
(massively parallel)と呼ばれて
いる。並列に動作する多重コンピュータは数10年前か
ら存在している。初期の並列マシンとしては、1960
年代に始まったILLIACがある。他の多重プロセッ
サとしては、Cedar、Sigma−1、Butte
rflyとMonarch、Intel社ipsc、コ
ネクション・マシン(Connection Mach
ine)、Caltech社COSMIC、N Cub
e、IBM社RP3、IBM社GF11、NYUウルト
ラ・コンピュータ、インテル社Delta、Touch
stoneなどがある(シュー(Xu)外に対して19
90年12月4日に発行された米国特許第4,975,
834号中の部分的要約を参照)。
【0010】ILLIACから始まった大規模多重プロ
セッサはスーパコンピュータと考えられていた。最大の
商業的成功を収めたスーパコンピュータは、Cray
Research社Y−MPシステム、IBM 309
0、およびAmdahl、Hitachi、Fujit
su、NECを含む他メーカのマシンで代表される多重
ベクトル・プロセッサをベースにしている。
【0011】超並列(MP)プロセッサは、現在では、
スーパコンピュータとなる能力を持つものと考えられて
いる。これらのコンピュータは非常に多数のマイクロプ
ロセッサを相互結合ネットワークで結合し、並列に動作
するようにプログラムしている。これらのコンピュータ
は2つのモードで動作している。これらの一部のマシン
はMIMDモード・マシンであり、一部のマシンはSI
MDモード・マシンである。これらのマシンの中で最も
成功を収めたといわれているのが、Thinking
Machines,Inc.のコネクション・マシン
(connection machine)シリーズ1
と2である。これらのマシンは基本的にはSIMDマシ
ンである。超並列マシンの多くは並列に相互結合された
マイクロプロセッサを使用して、並列性(concur
rency)、つまり、並列動作の機能を実現してい
る。i860のようなインテル・マイクロプロセッサは
インテル社や他のメーカで使用されている。N Cub
e社は、インテル社の´386マイクロプロセッサを搭
載したマシンを提供している。他のマシンは、「トラン
スピュータ」(transputer)と呼ばれるチッ
プを利用して作られている。その例として、Inmos
Transputer IMS T800がある。I
nmos Transputer T800は32ビッ
ト・マシンであり、高速浮動小数点プロセッサを内蔵し
ている。この種のシステムの構築例として1つを示す
と、複数のInmos Transputer T80
0チップは各々が32個の通信リンク入力と32個のリ
ンク出力を実装している。各チップはシングル・プロセ
ッサと、小容量メモリと、ローカル(局所)メモリおよ
び外部インタフェースとを結ぶ通信リンクとを実装して
いる。さらに、システム通信リンクを構築するために、
IMS C011およびC012のようなアダプタが接
続されている。さらに、IMS C004のようなスイ
ッチは、例えば、32個のリンク入力と32個のリンク
出力間のクロスバー・スイッチの機能を備え、追加のト
ランスピュータ・チップ間をポイント・ツー・ポイント
(2地点間)で接続することができる。さらに、トラン
スピュータ用の特殊な回路とインタフェース・チップが
実装されれば、特定の装置、グラフィックまたはディス
ク・コントローラの要件に合った特殊な目的にトランス
ピュータを適応させて、使用することが可能になる。I
nmos IMS M212は16ビット・プロセッサ
であり、オンチップ・メモリと通信リンクを備えてい
る。このプロセッサはディスク・デバイスを制御するた
めのハードウェアとロジックを備えているので、プログ
ラマブル・ディスク・コントローラとしても、汎用イン
タフェースとしても使用できる。並列性(並列動作)を
利用するために、Inmos社はトランスピュータ用に
特殊な言語、Occamを開発している。プログラマ
は、トランスピュータ・ネットワークをOccamプロ
グラムで直接に記述する必要がある。
【0012】これらのMPマシンの一部は、プロセッサ
・チップからなる並列プロセッサ・アレイを使用し、こ
れらは異なるトポロジー構造で相互結合されている。ト
ランスピュータはIMS C004チップを追加するこ
とにより、クロスバー・ネットワークを実現している。
また、他の一部のシステムはハイパーキューブ(hyp
ercube)結合を使用している。他のシステムはマ
イクロプロセッサとその関連回路を接続するためにバス
またはメッシュを使用している。一部は、スイッチを使
用する回路スイッチ・プロセッサによって、プロセッサ
・アドレス可能ネットワークとして相互結合されてい
る。一般的に、複数のマシンを1つに配線することによ
ってLawarence Livermoreで昨年秋
に相互結合された14台のRISC/6000の場合と
同様に、プロセッサ・アドレス可能ネットワークは、粗
い(Coarse−grained)マルチプロセッサ
と考えられている。
【0013】データ処理における「偉大な挑戦(gra
nd challenge)」と呼ばれているものに取
りかかるために、いくつかの超大規模マシンが、現在イ
ンテル社、nCube社、その他のメーカによって製造
されているが、これらのコンピュータは非常に高価であ
る。最新の見積コストは、この「偉大な挑戦」に取りか
かるために米国政府の補助金を得て開発されたコンピュ
ータの場合、米国ドル30,000,000.00〜7
5,000,000.00(テラ・コンピュータ)のオ
ーダに達している。これらの偉大な挑戦には、気候モデ
ル化、流体の乱れ、汚染分散、人ゲノムと大洋循環のマ
ッピング、量子クロモ力学、半導体とスーパコンピュー
タのモデル化、燃焼システム、視覚と認識といった問題
が含まれている。
【0014】
【発明が解決しようとする課題】本発明によるスケーラブルMPグループ分割対角線折畳
みスイッチング・ツリー型装置が解決しようとする問題 超並列処理システムを実現する際に1つの問題点となっ
ているのは、プロセッサ相互結合メカニズムとスケーラ
ビリティ(scalability−拡張可能性)であ
る。超並列アレイ・プロセッサでは、超並列コンピュー
ティング・システムに存在する相互結合とスケーラビリ
ティの問題を解決するために、以下に説明するような方
法でこの問題に取り組んでいる。完全結合ニューラル・
ネットワーク・モデルを例にして、他の汎用アプリケー
ションにも適したスケーラブルで完全結合されたコンピ
ューティング装置の実例を基にして、本発明の好適実施
例によるコンピューティング装置について説明する。
【0015】本発明を詳細に説明するにあたって、本出
願の発明者の未公表文献をも含めて、本明細書の冒頭に
列挙した文献を引用する。本発明の背景となる、これら
の引用文献はそれらの参照により本明細書の一部を構成
するものとする。
【0016】本発明の目的は、スケーラブル超並列グル
ープ分割対角線折畳みスイッチング・ツリー型コンピュ
ーティング装置を提供することにある。
【0017】
【課題を解決するための手段】このような目的を達成す
るために、請求項1記載の発明は、三角形アレイの各エ
ッジにK個の命令および/またはデータ処理ユニットが
置かれているK(K+1)/2個の命令および/または
データ処理ユニットの三角形アレイから構成されたこと
を特徴とする。
【0018】請求項2記載の発明は、請求項1に記載の
装置において、KとXは整数であり、KはXによって割
ることが可能であり、三角形アレイは、K(K−X)/
2X2 個のX×X四角形とK/X三角形アレイに分割さ
れ、これらのアレイは分割されたアレイの各エッジにX
個の命令および/またはデータ処理ユニットが置かれて
いることを特徴とする。
【0019】請求項3記載の発明は、命令および/また
はデータ処理ユニットのK(K−X)/2X2 個のX×
X四角形アレイからなる請求項2に記載の装置におい
て、処理ユニットは各々がタイプ“b”とタイプ“c”
の命令および/またはデータ・プロセッサ・エレメント
(PE)と呼ばれる2つの命令および/またはデータ・
プロセッサ・エレメントから構成されたことを特徴とす
る。
【0020】請求項4記載の発明は、三角形アレイの各
エッジにX個の命令および/またはデータ処理ユニット
が置かれているK/X個の三角形アレイからなる請求項
2に記載の装置において、三角形アレイの対角線上の命
令および/またはデータ処理ユニットは、単一命令およ
び/またはデータ・プロセッサ・エレメントから構成さ
れ、三角形アレイ・プロセッサ・ユニットの残り部分は
各々が2個の命令および/またはデータ・プロセッサ・
エレメントから構成されたことを特徴とする。
【0021】請求項5記載の発明は、命令および/また
はデータ・プロセッサ・エレメント(PE)と、通信A
LUツリーと、ルート(根)ツリー・プロセッサと、ホ
スト・コンピュータとのプログラマブル・プロセッサ・
インタフェースと、スケーラブル・グループ分割スイッ
チング・ツリー・メカニズムとから構成され、完全結合
性と共にスケーラビリティの機能を備えたことを特徴と
する。
【0022】請求項6記載の発明は、請求項5に記載の
装置において、超並列コンピューティング・システム
は、N2 個のプロセッサ・エレメントと、N個の通信A
LUツリーと、N個のルート・ツリー・プロセッサと、
ホスト・コンピュータとのプログラマブル・プロセッサ
・インタフェースと、N個のルート・ツリー・プロセッ
サをサポートするスケーラブル・グループ分割スイッチ
ング・ツリー・メカニズムとから構成されたことを特徴
とする。
【0023】請求項7記載の発明は、請求項5に記載の
装置において、通信ALUツリーはlog2 N2から1
までの通信ALUステージを含んでいることを特徴とす
る。
【0024】請求項8記載の発明は、請求項7に記載の
装置において、通信ALUツリーに含まれる各ステージ
は、2個の入力ALUと、ALU機能から得た方向とは
逆方向に値を伝達することを目的としたALUバイパス
経路と、ALU機能と逆方向通信経路間でスイッチング
する手段とから構成された2から1までの通信ALUを
含むことを特徴とする。
【0025】請求項9記載の発明は、請求項5に記載の
装置において、プロセッサ・エレメントは命令および/
データを受信し、受信した情報をアプリケーションによ
って定義されたハードウェアおよび/またはプログラマ
ブル命令シーケンスの制御の下で処理することを特徴と
する。
【0026】請求項10記載の発明は、請求項6に記載
の装置において、ルート・プロセッサは命令を実行し、
データを処理し、接続された通信ALUツリーのALU
機能と動作モードを制御し、接続されたスイッチング・
ツリー・メカニズムを制御し、通信ALUツリー接続P
Eに対して命令/データを出し、通信ALUツリーを通
して処理されたPEデータを通信ALUツリー・ルート
・ノードから受信することを特徴とする。
【0027】請求項11記載の発明は、請求項5に記載
の装置において、接続されたホスト・コンピュータおよ
びルート・ツリー・プロセッサとのインタフェースとな
るプログラマブル・プロセッサ制御装置は、ルート・ツ
リー・プロセッサおよびPEによって使用されるパラメ
ータのためのストレージ(記憶手段)を備え、システム
初期設定を制御し、ホスト命令を処理し、ホストと並列
処理システム間の命令とデータをバッファリングするこ
とを特徴とする。
【0028】請求項12記載の発明は、請求項6に記載
の装置において、N2 個の処理エレメントはN×Nマト
リックスの形体で配置され、
【0029】
【外2】
【0030】該N×Nマトリックスは対角線に沿って折
り畳まれ、PEi,i ユニットを単一プロセッサ対角線ユ
ニットとしてそのまま残し、PEi,j を2重プロセッサ
一般ユニットとしてPEj,i としてマージしたことを特
徴とする。
【0031】請求項13記載の発明は、請求項6に記載
の装置において、N2 個の処理エレメントとN個の通信
ALUツリー構造は、G=N2 /X2 グループに分割さ
れ、X2 個のPEを含む各該グループは、X個の単一プ
ロセッサ対角線ユニットと(X2 −X)/2個の2重プ
ロセッサ一般ユニットから構成され、各PEは通信AL
Uツリーに接続されたことを特徴とする。
【0032】ここで、請求項3に記載の装置において、
2重命令および/またはデータ・プロセッサ・エレメン
トのX×X四角形アレイは、単一命令および/またはデ
ータ・プロセッサ・エレメント(PE)の2個の四角形
アレイに分割され、一方の四角形アレイはタイプ“b”
のPEから構成され、他方の四角形アレイはタイプ
“c”のPEから構成することができる。
【0033】上記の装置において、単一PEの2分割四
角形アレイは各々が対角線に沿って折り畳まれて、2つ
の三角形アレイを作成し、各々が対角線上の単一PE
と、三角形アレイの残り部分については2重PEとから
構成することができる。
【0034】請求項12に記載の装置において、単一プ
ロセッサPEi,i 対角線ユニットは、接続された通信A
LUツリーへ結果を送り、該通信ALUツリーから命令
とデータを受信することができる。
【0035】請求項12に記載の装置において、2重プ
ロセッサPEi,j とPEj,i 一般ユニットは各々が接続
された通信ALUツリーへ結果を送り、該通信ALUツ
リーから命令とデータを受信することができる。
【0036】請求項12に記載の装置において、折り畳
まれたN2 マトリックスは単一または複数の四角形マト
リックスと複数の三角形マトリックスに分割され、各四
角形マトリックスは、X2 個の2重プロセッサ一般ユニ
ットとして編成された2X2個の処理エレメントを含ん
でおり、各三角形マトリックスは単一プロセッサ対角線
ユニットと2重プロセッサ一般ユニットの形体でX2
の処理エレメントを含んでいるプロセッサ・グループで
あり、XはX2 個の処理エレメントのグループをチップ
上に実装する目的でテクノロジと設計の制約によって決
定され、XとNのサイズが所与のとき、折り畳まれたN
2 オリジナル・マトリックスから分離された三角形と四
角形マトリックスの個数によって決定されるようにする
ことができる。
【0037】上記の装置において、2X2 個のPEから
構成された各四角形マトリックスはX2 個の2重PEを
含んでおり、各該2重PEはPEi,j とPEj,i から構
成することができる。
【0038】上記の装置において、2X2 個の処理エレ
メントの各四角形マトリックスは、X2 個のPEijに接
続されたX個の通信ALUツリーの集合と、他のX2
のPEj,i に接続されたX個の通信ALUツリーの集合
からさらに構成することができる。
【0039】上記の装置において、2重プロセッサ・ユ
ニットの各X×X四角形アレイは単一プロセッサ・エレ
メントの2つの四角形アレイに分割され、一方の四角形
アレイはX2 個のPEi,j に接続されたX個の通信AL
Uツリーから構成され、他方の四角形アレイはX2 個の
PEj,i に接続されたX個の通信LAUツリーから構成
することができる。
【0040】上記の装置において、単一PEの2分割四
角形アレイは各々が対角線に沿って折り畳まれて、各々
が対角線上に単一プロセッサの三角形アレイと、三角形
アレイの他の部分では2重プロセッサとで構成された2
プロセッサ・グループを作成することができる。
【0041】請求項13に記載の装置において、ニュー
ラル・ネットワークをエミュレーションするために、G
個のグループは、(a) 指定された総和モードでグル
ープの通信ALUツリーから生成されたN2i,jj
PE提供のデータのN個の部分的総和の外部総和、
(b)N個のニューロン・アクチベーション関数Yj
を表すN個のルート・ツリー・プロセッサ・データをN
PEのYj=i ストレージへ逆方向通信。この場合、該
PEは結合荷重ストレージ・ユニットWi,j を含み、こ
れによって各PE内で、j番目のY値を一致するj番目
の添字をもつ結合荷重と関連づける、(c)N個のニュ
ーロン誤差信号Ei を表すN個のルート・ツリー・プロ
セッサ・データをN個のPEのストレージ・ユニットへ
逆方向通信。この場合、該PEは結合荷重ストレージ・
ユニットWi,j を含み、これによって各PE内で、i番
目の誤差信号値を一致するi番目の添字をもつ結合荷重
と関連づける、(d)指定された総和モードで、グルー
プの通信ALUツリーから生成されたWi,ji の積の
部分的荷重誤差総和の外部総和、上記目的のためにスイ
ッチング・ツリー・メカニズムに接続することができ
る。請求項13に記載の装置において、G個のグループ
をルート・ツリー・プロセッサに接続するスイッチング
・ツリー・メカニズムは、次のように信号ノードのN/
X個の四角形アレイにグループ化される分割三角形アレ
イの出力から構成された、G個のグループとのインタフ
ェースを備え、 A.Y1 ,YX+1 ,Y2X+1,…,Y−<N−X+1>で
表されたルート・ツリー・プロセッサ出力値の分割グル
ープ・チップ出力から構成されたN/X四角形アレイの
一番目を作成すること、 a.Yi に関連するグループ・チップ出力信号をアレイ
の1行目に入れること、 b.YX+1 に関連するグループ・チップ出力値をアレイ
の2行目に入れること、 c.Y2X+1に関連するグループ・チップ出力値をアレイ
の3行目に入れること、 d.グループ・チップ出力信号をアレイの行に入れるこ
とを次のeまで続けること、 e.YN-X+1 に関連するグループ・チップ出力信号をア
レイの最終行に入れること、 B.Y2 ,YX+2 ,Y2X+2,…,Y−<N−X+2>で
表されたルート・ツリー・プロセッサ出力値の分割グル
ープ・チップ出力から構成されたN/X四角形アレイの
二番目を作成すること、 C.ルート・ツリー・プロセッサの分割グループ・チッ
プ出力信号から構成された四角形アレイの作成を次のD
まで続けること、 D.YX ,Y2X,Y3X,…,YN で表されたフート・ツ
リー・プロセッサ出力値から構成されたN/X番目の四
角形アレイを作成することができる。
【0042】上記の装置において、スイッチング・ツリ
ー・メカニズムは、折り畳まれた信号ノード四角形アレ
イに含まれる各2重出力信号ノード・ペア間に追加され
たスイッチと共に折り畳まれた信号ノード、およびグル
ープ・チップの外部に置かれた、通信ALUツリーの通
信ALUツリー・リーフ・ノードと、通信ALUツリー
のうち、グループ・チップの外部に置かれた部分とから
なるN/X個の四角形アレイから構成され、ルート・ツ
リー・プロセッサとのインタフェースとなるツリー構造
を完成することができる。
【0043】上記の装置において、スイッチング・ツリ
ー・メカニズムを制御する手段は、同期タグ・メカニズ
ムをプログラマブル・アルゴリズムで制御することによ
り行い、その制御はルート・ツリー・プロセッサとプロ
グラマブル・プロセッサ・ホスト・インタフェースに常
駐しているようにすることができる。
【0044】請求項13に記載の装置において、選択し
たN値に基づく超並列コンピューティング・システム
は、X2 個のPEとルート・ツリー・プロセッサのグル
ープを既存の構造に追加し、追加のプロセッサをサポー
トするようにスイッチング・ツリー・メカニズムとプロ
グラマブル・プロセッサ制御装置に変更を加えることに
よって、N値がもっと大きくなるようにスケーリング可
能である。
【0045】
【作用】本発明による装置は、スイッチング・ツリーと
も呼ばれ、対角線折畳みツリーに接続されたルート(r
oot−根)・ツリー・プロセッサの完全な結合性を維
持するスケーラブル相互結合スイッチング装置となるも
のである。本発明装置は、N個のルート・ツリー・プロ
セッサ、N個の対角線折畳みツリー、およびN2個の処
理エレメント(PE)から構成されている。以下では、
完全結合ニューラル・ネットワーク・モデルを使用し
て、スイッチング・ツリー・コンピュータのスケーラビ
リティと完全結合性および汎用機能を備えた超並列プロ
セッサとしての構造の適応性を実例を示して説明するこ
とにする。本発明によって提供されるPEの編成はテク
ノロジまたはアプリケーションの制約条件に基づいて、
いくつかのPEグループに分割可能になっている。各グ
ループは複数のPEからなり、PEは命令とデータ記憶
ユニットを備え、命令とデータを受け取り、命令を実行
し、命令とデータの外部記憶装置とのインタフェースと
なることができる。スイッチング・ツリー型コンピュー
ティング装置には、TSNAPで使用されている乗算エ
レメントなどの特殊目的データ・プロセッサPEも含ま
れている。PEのグループは特殊タイプの「グループ」
命令も実行し、各々のPEは通信ALUツリーとのイン
タフェースとなっている。ニューラル・アプリケーショ
ンでは、N個のルート・ツリー・プロセッサはニューロ
ン・オペレーションをエミュレートし、例えば、シグモ
イド・ジェネレータ(sigmoid generat
or)などのニューロン・アクティベーション(活性
化)機能をプログラム・コードまたはハードウェアでサ
ポートしており、スイッチング・ツリーはグループとP
Eを相互結合して、命令とデータだけでなく、ニューロ
ン・アクティベーション機能ユニットの出力も通信AL
Uツリーを経由して処理エレメントの入力に送り返すN
ニューロン構造を構築する。プロセッサ・グループは、
相互結合されたPEを経由するルート・ツリー・プロセ
ッサの完全結合性を維持する高性能汎用コンピューティ
ング装置を構築するために使用されている。
【0046】以下では、上記および他の改良について詳
しく説明する。本発明を、その利点および特徴と共によ
り良く理解するために、以下の説明では、この分野で発
明者が行なってきた他の開発に関する他の共に係属中の
特許出願を参照することもある。しかし、特にここに記
載の改良、利点および特徴については、記載中で参照を
行う。
【0047】
【実施例】説明の便宜上、1つの図はいくつかの部分に
分割されており、1つの図が複数の枚数に分かれている
ときは、図の上部は1枚目に示し、その下の部分は2枚
目に、さらにその下の部分は3枚目に(以下、同じ)と
いったように、説明の順序に従って示してある。
【0048】以下、図面を参照して、本発明の実施例に
従って本発明を詳しく説明する。
【0049】本発明の実施例を説明する前に、実施例を
説明する際に使用されているいくつかの共通的な機能を
紹介することにする。
【0050】1. スケーラブル超並列グループ分割対角線折畳みスイッチ
ング・ツリー型コンピューティング装置について、ニュ
ーラル・エミュレーションを例にして説明することにす
る。ニューラル・エミュレーションでは、採用すべきニ
ューロン・モデルを説明する必要がある。そこで、次の
ようなニューロン定義が与えられている。ニューロン関
数は、従来想定されている形式から(SNAP 90、
TSNAP 90、およびSPIN 90を参照)式1
に記述されている形式に変更されている。この変更は項
Xiを追加したものであり、これはニューロン処理エレ
メントへの外部入力を表している。
【0051】
【数1】
【0052】多くのフィードフォワード・ニューラル・
ネットワークでは、ニューロンの入力層(レイヤ)だけ
が外部入力を使用している。公知文献Rumelhar
t 86では、フィードフォワード・ネットワークの入
力ニューロンは、ニューラル・ネットワーク内のその他
のニューロンがそうであるように、シグモイド関数では
なく、同一性(identity)アクティベーション
/出力関数(Yi =EXi)の形態をとっている。入力ニ
ューロンでは、シグモイド関数が代わりに使用できるの
で、すべてのニューロンは、EXiの範囲を−A≦EXi
+Aまで拡張することにより、同一アクティベーション
関数を所有することができる。ただし、EXiがニューロ
ンへの唯一の入力である場合を想定すると、−AはYi
=0に等しく、+AはYi =1に等しくなる。許容し得
るある誤差の範囲内では、入力ニューロンは外部入力E
Xiを使用することにより、強制的に「0」か「1」の状
態にすることができる。ネットワーク内のその他のニュ
ーロンの場合のEXiは、必要でなければ、ゼロに等しく
することができる。
【0053】ニューロン・アクティベーション関数F
(zi )は、シグモイド関数に等しくなるようにセット
され、その形式は、例えば、次のとおりである。
【0054】
【数2】
【0055】ただし、 ・ e=自然対数(2.71828…) ・ 関数F(zi )の場合、
【0056】
【数3】
【0057】・ 0≦F(zi )≦1 ・ Tは、zi 値の集合が与えられているときシグモイ
ド関数の傾きを修正するために使用されるグローバル制
御パラメータである。
【0058】LEARN 90から引用して図3〜図6
に例示したTSNAP構造(TSNAP 90を参照)
は、N2 個の処理エレメントとN個の通信ALUツリー
(CAT)を使用しているので、Nがトリビアル(tr
ivial)値でないときは容易に構築することができ
ない。超並列処理システムを代表しているTSNAP構
造は、Nがトリビアルでないとき、シングル・チップ上
に実装可能な共通「ビルディング・ブロック」として使
用できる処理アレイをベースとしたスケーラブル設計の
必要性を示唆している。TSNAPのスケーラビリティ
を実証するためには、TSNAPを等サイズのプロセッ
サ・アレイ「ビルディング・ブロック」に分割し、これ
らのビルディング・ブロックが同一の三角形構造をも
つ、より大きなアレイを構築し、TSNAPの機能を構
築した構造に残しておくために使用できることが要求さ
れる。前述した要求条件が実証できると想定すると、分
割手法を利用すれば、設計者が選択した分割の制約条件
に支配されるNが任意のサイズのとき、TSNAPを構
築することにより、スケーラブルなマシン構造を実証す
ることができる。
【0059】以上を要約して説明すると、ニューラル・
エミュレーションの場合、シナップス関数と呼ばれる結
合荷重関数(connection weight f
unction)をモデル化するためにプロセッサ・エ
レメント(PE)をプログラミングすることは、通信モ
ードにある接続ALUツリーからPE INSTRレジ
スタで受信された命令を通して行うことが可能である。
各PEは、命令を受け取ると、その命令で指定されたオ
ペレーションを実行し、その結果を指定された宛先(こ
れは接続ALUツリーである場合がある)へ送る。命令
のタイプには、データとコマンド経路判断命令、算術演
算命令、および論理演算命令がある。TSNAP乗算エ
レメントは図1の(A)と(B)に示され、対応するプ
ロセッサ・エレメントの例は図1の(C)と図2に示さ
れている。詳しい説明については、命令セット体系(ア
ーキテクチャ)と共に、公知文献LEARN 90を参
照されたい。各PEは各処理エレメント用別にソースと
宛先の経路を指定する命令レジスタとEXU機能を備え
ている。つまり、対角線PEは1つの命令レジスタを備
え、汎用PEは2つの命令レジスタを備えている。
【0060】本明細書に提示されている諸概念を理解し
やすくするために、4ニューロンの例が図3〜図6に示
されている。ルート(根)タイプ・プロセッサ#3によ
って生成されるニューロン3のニューラル・エミュレー
ション式の例がそこに書かれているが、対応する記憶エ
レメントは図3〜図6に強調して示されている。
【0061】
【数4】 Y3=F(W3,1 Y1 +W3,2 Y2 +W3,3 Y3 +W3,4 Y4 本発明は、Nのサイズが与えられているとき、TSNA
Pタイプのプロセッサ構造が、システムを物理的に拡張
するためにも使用される単一共通反復可能設計を利用し
てどのように構築されて、スケーラブルな設計が得られ
るかという問題を扱っている。第1のセクションでは、
PEからなる三角形アレイがPEからなる複数の三角形
アレイと四角形アレイに分割可能であることを実証する
分割手法を示している。第2セクションでは、1組のエ
レメント・マッピング・ルールに従って、分割手法を応
用することによって得られた各四角形アレイから2つの
三角形アレイを作る分割アルゴリズムを示している。明
らかなように、分割アルゴリズムから得られる三角形ア
レイは、分割手法の応用によって得られる三角形アレイ
と同等である。そのあとに続くセクションでは、2つの
例を示し、分割手法がTSNAP構造に応用できること
を実証する。次のセクションでは、複数の「ビルディン
グ・ブロック」アレイを結合して、TSNAPの機能を
備えたシステムに構築する「通常の」相互結合メカニズ
ムについて説明する。これら次のセクションの第1のセ
クションでは、分割設計の機能要件について説明する。
第2のセクションでは、「通常の」相互結合メカニズム
を作成するアルゴニズムについて説明する。第3のセク
ションでは、TSNAPの機能要件をそのまま残してお
くための相互結合メカニズムが示されている。第4セク
ションでは、2つの例を示して、相互結合メカニズムの
応用を実証する。最後のセクションでは、代替スケーリ
ング手法について簡単に説明する。
【0062】2.三角形アレイ分割 作図により、アレイの各エッジがK個のエレメントをも
つという属性をもつエレメントからなる三角形アレイに
ついて検討する(図7)。分割手法:KとXを整数と
し、KをXによって割ることが可能であるとすると、寸
法Kの三角形アレイは次のように分割することができ
る。
【0063】
【外3】
【0064】三角形アレイはK/X個の区画に分割する
ことができる。{(K/X)−1}は台形、1つの区画
は寸法Xの等辺三角形である(図8参照)。
【0065】i番目と(i+1)番目の水平「ライン」
で内包された台形は寸法X(辺)、iX(頂点)、X
(三角形の対角線エッジの辺)、および(i+1)X
(底面)を具備している。i番目の台形の上縁と下縁に
iX個のエレメントとiX+X個のエレメントがあるこ
とは、台形をXによって“i”X×X四角形アレイと寸
法Xの1つの等辺三角形アレイに分割できることを示唆
している(図8)。
【0066】従って、K/X個の区画があるとすると、
寸法Xの等辺三角形はK/X個存在することになる。
【0067】さらに、最初の区画による四角形は「0」
個(最初の区画は等辺三角形である)、2番目の区画に
よるX×X四角形は1個、最後のK/X区画におけるX
×X四角形は{(K/X)−1}個であるので、次式に
示す四角形が存在することになる。
【0068】
【数5】
【0069】3.分割アルゴリズム 分割手法は、三角形アレイを三角形と四角形に分割する
ことを示唆している。しかし、分割の究極的目標は、こ
の手法が示唆するように、2つの共通設計から1つの任
意的なTSNAP構造が得られるようにすることではな
く、単一の「ビルディング・ブロック」を得ることであ
る。その限りでは、任意のTSNAP三角形構造を等サ
イズの複数の三角形アレイに分割できることが実証され
ている。確かに、分割手法の結果である四角形アレイ
は、2つの等サイズ三角形アレイに分割することができ
ない。四角形アレイの分割を可能にするためには、分割
手法から得られる構造に関して、さらに検討する必要が
ある。TSNAP構造を調べると、次のようなことが妥
当する。
【0070】1.対角線エッジのエレメントは単一の処
理エレメント、つまり、対角線PEを含んでいる。
【0071】2.残りのエレメントは2重処理エレメン
ト、つまり、汎用PEを含んでいる。
【0072】三角形アレイに含まれるエレメントのタイ
プについてこの考え方を採用し、分割手法を適用する
と、次のものが得られる。
【0073】1.寸法KのK/X個の三角形アレイ。た
だし、X個の対角線エレメントは単一プロセッサ対角線
PEであり、プロセッサの残余は2重プロセッサ対角線
PEであり(図9の(A))、この場合、プロセッサ・
エレメントは“a”で示されている。
【0074】2.寸法XのK(K−X)/2X2 個の四
角形アレイ。ただし、すべてのプロセッサ・エレメント
は汎用PEであり(図9の(B))、この場合、2重プ
ロセッサ・エレメントは“bc”で示されている。
【0075】図9の(B)示す四角形構造では、分割手
法から得られた2重プロセッサ・エレメントの四角形ア
レイを受け取って、対角線上の単一対角線PEと、対角
線以外では汎用PEから構成された分割手法の三角形ア
レイと同等の2つの三角形アレイを作成しているが、そ
のような構造の場合には、分割手法は、次に説明するよ
うに可能である。
【0076】1.図9の(B)に例示するように、分割
手法の三角形アレイから始める。
【0077】2.図10に(C)と(D)で示した2つ
のX×Xアレイを作成する。この場合、最初のX×Xア
レイ(C)は図9の(B)からのエレメント“b”から
構成され、2番目のX×Xアレイ(D)は図9の(B)
からのエレメント“c”から構成されている。
【0078】3.両方のアレイ(C)と(D)を折り畳
む(図11)。
【0079】図11に示すように、三角形アレイは対角
線上の対角線PEと同等の単一処理エレメントと、対角
線以外では汎用PEと同等の2重処理エレメントを内包
している。従って、NがXによって分割可能ならば、サ
イズNのTSNAP三角形アレイは各々がサイズXで、
対角線上に単一対角線PEと残余に2重汎用PEをもつ
より小さな三角形アレイに分割できると結論することが
できる。
【0080】4.分割の例 三角形アレイの分割を分かりやすく説明するために、図
12〜図14に示すシナップス・プロセッサ構造LEA
RN 90に基づいて、8ニューロン・ネットワークの
エミュレーションに適したTSNAP構造について検討
することにする。ただし、
【0081】
【数6】
【0082】および乗算の演算はMPYA−R1* R2
→T命令によって指定される。この命令は、Wijが入っ
ているR1がYj が入っているR2によって乗算され、
その結果の積が接続されたALUツリーへ送られること
を示している。分割ステップを説明する便宜上、外部入
力項Exj は無視してもよい。
【0083】分割手法は、TSNAP構造が複数の三角
形アレイと四角形アレイに分割できることを示唆してい
る。K=8とX=4の区画をもつ8ニューロン例の場合
は、2個の三角形アレイと1個の四角形アレイからなっ
ている。細分割したアレイをメイン構造から分離し、A
LUツリーの最終ステージをPEの構成の外部に置く
と、図15〜図17に示す構造が得られる。この構造は
3つの構造、つまり、2つの三角形アレイと1つの四角
形アレイを含んでいる。図15〜図17から明らかなよ
うに、三角形アレイは対角線エレメントに単一対角線P
Eを、他のエレメントに2重汎用PEを含んでおり、四
角形アレイは汎用PEだけから構成されている。目標は
任意サイズNのTSNAP構造を構築するために反復可
能なシングル・チップ・アレイ設計を得ることであるの
で、四角形構造は分割アルゴリズムが示唆するように、
三角形構造に分割されなければならない。
【0084】以上の説明から理解されるように、8ニュ
ーロン例の分割四角形アレイ(図15〜図17)では、
水平のツリー集合から4つの出力を発生し、垂直のツリ
ー集合から4つの出力を発生する2重プロセッサ汎用P
Eを2つの直交ツリー集合で相互結合している。最初の
ステップは、四角形アレイ(図18)を単一プロセッサ
の2つの四角形アレイ(図19と図20)に分割するこ
とであり、この場合、水平ツリーと垂直ツリーおよびこ
れらの結合プロセッサは、この分割の影響を受けないま
まになっている。水平ツリーと垂直ツリーの両方の四角
形プロセッサ・アレイを上部左から下部右に向かう対角
線に沿って折り畳むと、対角線上に単一対角線PEと残
余のエレメントに2重汎用PEをもつ2つの三角形アレ
イが作られる(図21の(A)と(B))。明らかなよ
うに、分割手法から得られる三角形構造は分割手法の応
用によって得られる三角形アレイと同じ形体と寸法にな
っている。分割プロセスは通信ALUツリー(CAT)
も分割して、ツリーの一部を三角形アレイ・チップの外
部に移している。値がXのとき三角形アレイに残ってい
る部分は次式によって与えられる。
【0085】
【数7】 オンチップCAT ステージの個数=ceiling (log2 X) その結果、三角形アレイ・チップの外部に置かなければ
ならないCATステージの個数は、NとXで表すと、次
式のようになる。
【0086】
【数8】外部CAT ステージの個数=ceiling (log2 N)−
ceiling (log2 X) ceiling関数からは、オペランドが小数であれば
オペランドを大きい最も近い整数値が得られ、そうでな
ければ、オペランド値が得られる。Xの値が2の倍数で
ない場合は、遅延エレメントをツリー・ステージに適当
に使用することにより、平衡型バイナリ・ツリーが維持
される。外部ALUツリー総和関数とシグモイド・エミ
ュレーション関数、および8ニューロン・モデルを完成
したCAT通信経路は図22に示されている。図22に
おいて、(→)はCAT総和経路を示し、(←)はCA
T通信経路を示している。分割プロセスをたどっていく
と、図12〜図14の大きな三角形構造は4個の小さな
三角形アレイから構成されていることが明らかである。
【0087】分割プロセスとその結果得られる共通「ビ
ルディング・ブロック」三角形アレイ・チップを分かり
やすく説明するために、以下では、プロセッサ・グルー
プに関する新しい考え方を紹介することにする。プロセ
ッサ・アレイ・グループの個数、つまり、三角形アレイ
・チップの個数は“G”で示されており、“H”はグル
ープG内の単一チップ・エレメントの個数を表し、これ
は2重プロセッサ汎用PEを示している。GとHは、N
および分割係数X(ただし、Xはテクノロジを考慮して
求められる)で表すと、次式で表される。
【0088】
【数9】
【0089】例えば、X=4のN=8ニューロン・エミ
ュレーションのケースでは、各分割三角形構造はサイズ
H=16のグループ・チップを表している。図15〜図
17は2つのグループ・チップを示し、一方のチップは
信号A1,A2,A3およびA4を発生し、他方のチッ
プは信号B5,B6,B7およびB8を発生する。図2
1は分離された三角形アレイ・グループ・チップを示
し、一方は信号B1,B2,B3およびB4を発生し、
他方は信号A5,A6,A7およびA8を発生する。N
=8三角形アレイを作るには(図12〜図14)、4つ
のグループ・チップG=4が必要である。
【0090】別の例はN=16の場合であり、分割プロ
セスをもっと分かりやすくするために示したものであ
る。最初のステップでは、Xの選択値に基づいて、16
ニューロン・エミュレーション構造を三角形アレイと四
角形アレイのグループに分割する。N=16ニューロン
の例では、図23〜図25に示すようにX=3が選択さ
れている。グループ・サイズHに16を使用した16ニ
ューロン・モデルでは、1,2,3,4で示した4つの
三角形アレイと、5,6,7,8,9,10で示した6
つの四角形アレイが存在する。四角形アレイは各々が2
つの単一プロセッサ四角形アレイに分離され、水平ツリ
ーと垂直ツリーをそのまま保持しており、そのあと所望
の三角形アレイに折り畳まれる。その結果の16三角形
アレイは、このケースでは、各々に図23〜図25を参
照するグループ・ラベルを付けて、図26〜図33に示
されている。外部ALUツリー総和関数とシグモイド・
エミュレーション関数、および16ニューロン・モデル
を完成するCAT通信経路は図34に示されている。こ
の場合、(→)は正方向総和経路を示し、(←)は逆方
向通信経路を示している。図を分かりやすくするため
に、本明細書中で使用されている図23〜図25と図2
6〜図36および他の図では、ニューロン荷重およびY
値を表すために、A〜Gの英字に10〜16の数字が代
入されている。
【0091】・ A=10 ・ B=11 ・ C=12 ・ D=13 ・ E=14 ・ F=15 ・ G=16 5.外部ツリー要件と説明 上述の説明から明らかなように、四角形アレイを2つの
三角形アレイとして再構築するために応用される分割ア
ルゴリズムはCAT通信経路に影響を与えている。以下
では、分割が完了した後も、元の構造の機能をそのまま
残しておくことができることを実証するために、グルー
プ分割アルゴリズムについて引き続き説明する。機能を
そのまま残しておくことを実証するためには、機能要件
を明確化することが重要である。まず、説明の理解を容
易にするために、X=4のN=8とN=16の両方の例
の場合のツリーとスイッチング・メカニズムを例に用い
て学習機能のない外部ツリー要件について説明する(図
35および図36)。次に、追加の要件と、学習機能に
対するサポートを取り入れるためにその追加要件がどの
ような方法で達成されるかについて説明する。
【0092】図35は、Y1とY5のときの8ニューロ
ン・エミュレーション例の場合の外部スイッチ経路メカ
ニズムとCATを示し、図36は、Y1,Y5,Y9お
よびYDのときの16ニューロン・エミュレーション例
の場合の外部スイッチとCATを示している。各例にお
ける他のエミュレート・ニューロン出力にも同じタイプ
のスイッチング・ツリー・メカニズムが使用される。注
目すべきことはCAT通信経路内の経路スイッチがスイ
ッチング・ツリー・メカニズムによって実現されること
である。例えば、図35に示す「Switch Pos
ition For Communications」
では、Y1はA1およびA5 CAT経路と通信するの
に対し、Y5はB1およびB5と通信する。図15〜図
17と図21の三角形構造に示すように、Y値はそれぞ
れのALUツリーのソース・ポイントの反対側の正しい
レジスタに受け入れられる。図36に示すように、16
ニューロン例にも通信経路内の同じスイッチが使用され
ている。
【0093】スイッチング・ツリー・メカニズム(図3
5および図36)は、バックプロパゲーション学習をサ
ポートするためにはさらに改良が必要である。スイッチ
ング・ツリー・メカニズムでは4種類の動作モードがサ
ポートされている。そのうちの2動作モードは図35と
図36に示すように、式1と2のニューロン・エミュレ
ーションによるものであり、他の2動作モードはバック
プロパゲーション学習によるものである。具体的には、
動作モードは次の通りである。
【0094】1.グループ・チップからの部分的に作成
されたニューロン入力ALU総和関数の外部総和。
【0095】2.ニューロン出力Y値の逆方向通信。
【0096】3.学習における誤差信号Ei の逆方向通
信。ただし、Ei =δi- LEARN 90 4.学習における荷重誤差ALU総和ERi の外部総
和。ただし、
【0097】
【数10】
【0098】動作モード1と4はCAT総和経路に関係
し、動作モード2と3はCAT通信経路に関係する。学
習とニューロン実行に要求される外部ALU関数と通信
条件は異なっている。従って、異なる値が外部で総和さ
れ、異なる値が通知されるが、これは、ハードウェアが
ニューロン・エミュレーション・モードにあるか、学習
モードをエミュレートしているかによる。もっと詳しく
説明するために、ニューロン実行のための通信経路を学
習と比較して検討することにする。ニューロン・エミュ
レーション・モードでは、通信されるYj はその該当の
ij倍する必要があるのに対し、学習では、通信される
誤差信号Ei はその該当するWij倍する必要が有る(R
umelhart 86およびLEARN 90を参
照。)逆方向に通信される値Yj とEi の下付き文字の
見かけ上の小さな変化は、Ei 値と対照的に、Yj 値に
は異なる通信経路が必要であることを示している。異な
る経路は、分割された内側四角形の分離された三角形に
よるものである。分割された内側四角形汎用PEアレイ
を2つの単一プロセッサ・アレイに分割すると、完全結
合のために必要な内部汎用PE経路スイッチが分離され
る。この機能をそのまま残すためには、内部汎用PE経
路スイッチをなんらかの方法で復元する必要がある。例
のうちの図35〜図36のスイッチング・ツリーは、ニ
ューロン・エミュレーションと学習のために必要な異な
る経路要件を共にサポートするように修正する必要があ
る。図37は、8ニューロン例の修正されたスイッチン
グ・ツリー・メカニズムを示している。同図において、
ラベルを付けた(1)〜(4)は、上述した4つのスイ
ッチ動作モードに対応している。
【0099】以下の説明から理解されるように、動作モ
ードによっては、すべての経路が修正される訳ではな
い。図37を例に用いて説明すると、信号A1とB5に
対する動作モード(1)ニューロン入力ALU総和経路
は、信号A1とB5に対する動作モード(4)の荷重誤
差ALU総和に必要なものと同じ経路である。さらに、
信号A1とBに対する通信経路は動作モード(2)のニ
ューロン・エミュレーションと動作モード(3)の学習
のどちらも同じである。図15〜図17に示すように、
A1とB5は分割アルゴリズムの使用を必要としない対
角線三角形アレイと関連づけられている。動作モードに
応じて修正する必要のある経路は、分割された内側四角
形からの分離された三角形構造に関連する経路である。
【0100】6.スイッチング・ツリー・メカニズム 4動作モードに関して上述した説明は、一般スイッチン
グ・メカニズムおよびスイッチ接続を定義するためのプ
ロシージャが必要であることを示唆している。このセク
ションでは、分割アルゴリズムから生成された「ビルデ
ィング・ブロック」の相互結合のためのスイッチング・
ツリーを定義するためのプロシージャについて説明す
る。スイッチング・ツリーを構築するプロシージャを説
明した後、ニューラル・エミュレーションのための機能
がスイッチング・ツリー・メカニズムによってそのまま
残されることを実証する。
【0101】その概要を上述したように、区画サイズを
Xとして分割手法を応用して得られた三角形アレイおよ
び四角形アレイと共に、図38〜図41に示す一般化し
た三角形アレイについて検討する。図38〜図41に示
すように、三角形および四角形アレイ出力信号はアレイ
のエッジ上にリストされている。三角形アレイ出力は三
角形アレイの下側のエッジ上に配置され、四角形アレイ
出力は四角形アレイの下側と右側のエッジ上に配置され
ている。ここでは、平衡型バイナリCATが全体に使用
されることが想定されている。この場合、平衡型ツリー
を保証するために遅延エレメントが使用されている。
【0102】一般化したニューロン・エミュレーション
式は、K,L,XおよびNを項として、分割された三角
形および四角形アレイ出力信号を関数として次のように
書くことができる。
【0103】
【数11】 Y1=F(A1,1+A2,1+…+AK,1+…+AL,1+…+AN/X,1) Y2=F(A1,2+A2,2+…+AK,2+…+AL,2+…+AN/X,2) : : YX=F(A1,X+A2,X+…+AK,X+…+AL,X+…+AN/X,X) YX+1=F(A1,X+1+A2,X+1+…+AK,X+1+…+AL,X+1+…+AN/X,X+1) YX+2=F(A1,X+2+A2,X+2+…+AK,X+2+…+AL,X+2+…+AN/X,X+2) : : Y2X =F(A1,2X +A2,2X +…+AK,2X +…+AL,2X +…+AN/X,2X) : : Y(k-1)X+1 =F(A1,(K-1)X+1 +A2,(K-1)X+1 +…+AK,(K-1)X+1 +…+AL,(K-1)X+1 +…+AN/X,(K-1)X+1) Y(k-1)X+2 =F(A1,(K-1)X+2 +A2,(K-1)X+2 +…+AK,(K-1)X+2 +…+AL,(K-1)X+2 +…+AN/X,(K-1)X+2) : : YKX =F(A1,KX +A2,KX +…+AK,KX +…+AL,KX +…+AN/K,KX) : : Y(L-1)X+1 =F(A1,(L-1)X+1 +A2,(L-1)X+1 +…+AK,(L-1)X+1 +…+AL,(L-1)X+1 +…+AN/X,(L-1)X+1) Y(L-1)X+2 =F(A1,(L-1)X+2 +A2,(L-1)X+2 +…+AK,(L-1)X+2 +…+AL,(L-1)X+2 +…+AN/X,(L-1)X+2) : : YLX =F(A1,LX +A2,LX +…+AK,LX +…+AL,LX +…+AN/X,LX) : : YN-X+1=F(A1,N-X+1+A2,N-X+1+…+AK,N-X+1 +…+AL,N-X+1+AN/X,N-X+1) YN-X+2=F(A1,N-X+2+A2,N-X+2+…+AK,N-X+2 +…+AL,N-X+2+AN/X,N-X+2) : : YN=F(A1,N+A2,N+…+AK,N+…+AL,N+…+AN/X,N) 図42に示す任意のKとLに基づいて、任意の内側四角
形アレイについて検討する。図44に示すように、平衡
型バイナリ・ツリーは、ノード点に“A”の文字を使用
して記号で示されている。
【0104】四角形分割アルゴリズムを適用すると、任
意の内側四角形を2つの折畳み三角形アレイに分割する
ことができる。このアルゴリズムは、内側四角形を2つ
の四角形アレイに分割し(図43と図45)、そのあと
三角形アレイに折り畳むことによって適用される(図4
4と図46)。
【0105】以上を要約すると、一般化された三角形ア
レイが使用され、それから1組のニューロンの式が三角
形および四角形アレイ出力信号を項として表され、分割
アルゴリズムが適用されてG三角形アレイが作られる。
【0106】ニューロン・エミュレーション、つまり、
式1のエミュレーションに定義されているように(ただ
し、これに限定されない)、分割された三角形アレイの
出力は、次のように出力信号の四角形アレイにグループ
化される。
【0107】1.出力信号Y1 ,YX+1 ,Y2X+1,…,
N-X+1 で表されたルート(根)ツリー・プロセッサ・
エミュレート・ニューロンに対する分割グループ・チッ
プ出力信号から構成されたN/X四角形アレイの1番目
を作成する(図47)。
【0108】a.Y1 に関連するチップ出力信号をアレ
イの1行目に入れる。
【0109】b.YX+1 に関連するチップ出力信号をア
レイの2行目に入れる。
【0110】c.Y2X+1で表されたチップ出力信号をア
レイの3行目に入れる。
【0111】d.チップ出力信号...を次のdまでア
レイの行に入れる。
【0112】e.YN-X+1 で表されたチップ出力信号を
アレイの最終行に入れる。
【0113】2.出力信号Y2 ,YX+2 ,Y2X+2,…,
N-X+2 で表されたルート(根)ツリー・プロセッサ・
エミュレート・ニューロンに対する分割グループ・チッ
プ出力信号から構成されたN/X四角形アレイの2番目
を作成する。
【0114】3.出力信号...で表されたルート
(根)ツリー・プロセッサ・エミュレート・ニューロン
に対する分割グループ・チップ出力信号から構成された
四角形アレイの作成を次の4まで続ける。
【0115】4.出力信号YX ,Y2X,Y3X,…,YN
で表されたルート(根)ツリー・プロセッサ・エミュレ
ート・ニューロンに対する分割グループ・チップ出力信
号から構成されたN/X番目の四角形アレイを作成す
る。
【0116】このプロシージャにより、分割三角形アレ
イから出力信号のN/X四角形アレイが作成される。例
えば、出力信号Y1 ,YX+1 ,Y2X+1,…,YN-X+1
表されたルート・ツリー・プロセッサ・エミュレート・
ニューロンに対する1番目の四角形アレイは、図47に
示されている。
【0117】スイッチング・ツリー・プロシージャの次
のステップでは、これらN/X四角形の各々が折り畳ま
れ、外部スイッチとALUが折畳み第1出力アレイの次
の例に示すように追加される(図48)。
【0118】N/Xスイッチング・ツリー・メカニズム
のZi 出力は該当のホスト/ルート・ツリー・プロセッ
サに結合される。以上で、このメカニズムの説明を終わ
る。 7.機能を維持したスイッチング・ツリー 4動作モード、つまり、ニューロン入力総和(1)、Y
値通信(2)、誤差信号通信(3)および荷重誤差総和
(4)をサポートするためには、図48に示したスイッ
チは、双方向信号機能をスイッチが備えていると想定す
れば、2つの位置だけを必要とする。さらに、平衡型バ
イナリ・ツリーはスイッチング・ツリー・メカニズムで
使用されることを想定している。
【0119】式1をエミュレーションするためのスイッ
チング・ツリーの機能は、動作モード(1)のニューロ
ン入力正方向総和と動作モード(2)のY値総和によっ
て実証される。折畳み第1出力アレイは、スイッチをセ
ットし、機能が達成されていることを調べることによっ
てこれらの例で使用される。ニューロン入力総和動作モ
ード(1)では、スイッチは図49に示すように配置さ
れている。ニューロン入力総和関数がスイッチング・ツ
リーを通して維持されていることを検証するために、任
意のY値が使用され、一般三角形アレイ構造から分離さ
れた任意の内側四角形に基づいて選択される。この例で
は、Y(K-1)X+1が選択される。Y(K-1)X+1の一般式をも
う一度下に示す。
【0120】
【数12】 Y(K-1)X+1 =F(A1,(K-1)X+1 +A2,(K-1)X+1 +…+AK,(K-1)X+1 +…+AL,(K-1)X+1 +…+AN/X,(K-1)X+1) =F(Z(K-1)X+1) 図49を調べるとわかるように、Y(K-1)X+1の一般式が
そのまま残されている。Y値通信動作モード(2)で
は、スイッチは図50に示すように配置されている。
【0121】分割する前の元のTSNAP構造では、Y
(K-1)X+1値はY(K-1)X+1の式にリストされている各出力
信号点に伝達される。特に、図42に示すように、分割
する前の一般化された内側四角形アレイでは、Y
(K-1)X+1はAL,(K-1)X+1を通して返却される。図42の
L,(K-1)X+1ツリーの各リーフ(leaf)ノードで
は、汎用PEはY(K-1)X+1値を受け取り、経路を内部で
切り替えて、正しい宛先点を得ている。
【0122】TSNAP構造を分割したあと、複数の三
角形アレイはスイッチング・ツリーを通して接続され
る。図50に示すようなスイッチ設定値をもつスイッチ
ング・ツリー・メカニズムを使用すると、Y(K-1)X+1
点AK,N-X+1 、AK,(L-1)X+1、AK,(K-1)X+1、AK,X+1
およびAK,1 へ転送される。その後に続く経路A
K,(L-1)X+1では、そのツリーを図46に示すように、Y
(K-1)X+1は汎用PEリーフ・ノードに入力され、返却さ
れるY値のための正しいレジスタに内部で切り替えられ
る。
【0123】同じように、他の2つの動作モードは、ス
イッチング・ツリー・メカニズムを使用すると、正しく
機能することを実証することができる。
【0124】一般的には、スイッチング・ツリー・メカ
ニズムを判断するためのプロシージャは、4動作モード
をサポートするTSNAP機能を、複数の「ビルディン
グ・ブロック」とスイッチング・ツリー・メカニズムか
ら構築されたTSNAP構造にそのまま残している。
【0125】8.スイッチング・ツリーの例 スイッチング・ツリー・メカニズムをもっと分かりやす
く説明するために、2つの例を示す。最初の例は、G=
4、H=16の8ニューロン・エミュレーション・モデ
ルから得たものである。図51〜図53は、モード
(1)用に構成され、ニューラル入力総和をホスト/ル
ート・ツリー・プロセッセへ送るためのスイッチング・
ツリーを示している。図51〜図53に示す例では、Y
7’は、スイッチング・ツリーに与えられたA7とB7
からルート・ツリー・プロセッサ7で生成される。A7
は量(W71Y1+W72Y2+W73Y3+W74Y
4)を与え、B7は量(W75Y5+W76Y6+W7
7Y7+W78Y8)を与える。Y値通信のモード
(2)では、スイッチング・ツリーは図54〜図56に
示すように構成される。例えば、Y7はY7の正しい経
路である点B3とB7へ伝達される。
【0126】スイッチング・ツリーは図57〜図59に
示すように動作モード(3)用に構成されており、点A
7とB7を経由して誤差信号Ei 、例えばE7 を伝達
し、汎用PEは内部経路を汎用PEがY値を受信したと
きと同じように切り替える。荷重誤差総和動作モード
(4)では、汎用PEは図60〜図62に示す汎用PE
セルの中央に“X”のクロス印で示すように、反対側の
プロセッサと関連づけられたW値を選択する。オペラン
ドの選択は、各汎用PEプロセッサに受信された命令に
よって容易に判断される。例えば、
【0127】
【数13】ER7 =B3+B7 ただし、 B3=W17*E1+W27*E2+W37*E3+W47*E4 B7=W57*E5+W67*E6+W77*E7+W87*E8 分割アルゴリズムとスイッチング・メカニズムの使用に
よって得られるスケーラビリティは、三角形処理アレイ
・チップを4倍したものを使用して、ニューロン数を8
から16に2倍した例を見れば容易に理解される(図6
3〜図69と図70〜図76)。これらの例では、スイ
ッチング・ツリー・メカニズムはより大きなシステムを
サポートするように改良されている。図63〜図69に
示す例では、
【0128】
【数14】Y7=A7+B7+C7+D7 ただし、 A7=W71*Y1+W72*Y2+W73*Y3+W74*Y4 B7=W75*Y5+W76*Y6+W77*Y7+W78*Y8 C7=W79*Y9+W7A*YA+W7B*YB+W7C*YC D7=W7D*YD+W7E*YE+W7F*YF+W7G*YG 図70〜図76では、Y7は点B3,B7,B11およ
びB15を経由して逆方向に伝達されが、これらの点
は、Y7に対する汎用PEの宛先がB3,B7,B11
およびB15のグループ・チップにあることを見れば分
かるように、正しいグループ・チップ出力点である。
【0129】一般的に、グループ分割アルゴリズムがX
が固定サイズの大きな構造に適用されると、より多くの
ALUツリー・ステージが外部ALUツリーに追加され
る。プロセッサ・グループがシングル・チップ上に実装
されていると想定すると、つまり、H個の処理エレメン
トがチップ上に実装されているとすると、スケーラブル
・アレイ設計を構築することが可能であり、その場合、
追加のグループ・チップを追加するとき、スイッチング
・ツリーだけを変更するだけで済む。これは8ニューロ
ンと16ニューロンの例を見れば、明らかなように、同
一サイズの三角形アレイ・チップ設計はN=8とN=1
6の両方のTSNAP構造の構築に使用されており、外
部CATだけが変更されている。
【0130】9.代替スケーリング手法 SNAP構造についても、スケーラブル設計に関して検
討されている(SNAP 90参照)。また、TSNA
P構造の場合のスケーラビリティの別の手法が検討さ
れ、これはTSNAP 90に説明されている。
【0131】本明細書に示している検討対象の分割手法
から見たとき、いろいろな手法も存在する。その1つだ
けを取り上げて、詳しく説明することにする。三角形に
分割する前の内側四角形は、図15〜図17の8ニュー
ロン内側四角形を図77〜図79に示すように折り畳む
ことによって、例示のように折り畳んで、共通反復可能
「ビルディング・ブロック」として使用することが可能
である。折り畳んだアレイの荷重とY値をゼロにする
と、折り畳んだ四角形アレイは2倍のプロセッサを使用
してエッジ三角形アレイの機能をモデル化することがで
きる。このようなグループ配置では、外部スイッチング
機能がまだ要求される。分割した内側四角形折畳み三角
形アレイによるスイッチング機能が必要になる代わり
に、折畳み四角形ビルディング・ブロック上にモデル化
されたエッジ三角形アレイでは、スイッチング機能が必
要である。折畳み四角形ビルディング・ブロック手法で
は、対角線三角形アレイのサイズが与えられてるとき、
プロセッサ・グループ内に2倍のPEが必要になり、ス
イッチング・ツリー機能がまだ要求されるので、折畳み
四角形ビルディング・ブロック手法は、代替手法として
さらに研究するだけの価値があるが、本明細書ではこれ
以上詳しく議論することは省略する。
【0132】 10.スイッチング・ツリー実現のための考慮事項 スイッチング・ツリー実現のために考慮すべき重要なこ
とは、CATの総和/通信状態とスイッチング・ツリー
のスイッチ状態を同期させて変更し、オペレーションに
障害が起こらないようにする手法である。プロセッサ・
エレメントがプログラマブル実行ユニットとして応答す
るという、プロセッサ・エレメントのアーキテクチャ上
の定義に基づくと、単一命令応答完了インタロック・メ
カニズムをルート・ツリー・プロセッサとPEとの間で
採用するという別の制約があるが、CATとスイッチン
グ・ツリーの障害のない制御を実現することができる。
ルート・ツリー・プロセッサは、PEによって処理され
る命令/データの制御側ソースとなるものである。その
結果、システムの障害のない制御は、ルート・ツリー・
プロセッサがPEに実行させるために、命令または保留
PE命令自動モードにあるデータを送ることを、応答完
了信号SVLM 91またはルート・ツリー・プロセッ
サ・タイムアウトLEARN 90で示されるように、
前の命令が完了するまで行わないようにすることにより
得られる。ルート・ツリー・プロセッサは、CATごと
に1つの同期タグ信号も制御する。この同期タグ信号
は、命令またはデータがPEへ送られるとアクティブに
セットされ、その他の場合はインアクティブにセットさ
れる。同期タグ信号は、CAT ALUノードとスイッ
チング・ツリー・スイッチ状態の方向制御を行うために
使用できる。同期タグがアクティブのときは、CAT
ALUノードとスイッチング・ツリー・スイッチ状態は
通信モードにセットされ、命令またはデータ値はALU
ノードをバイパスして、スイッチの正しいセット位置に
よって正しい点へ送られる。同期タグが非アクティブの
ときは、CATとスイッチング・ツリー・スイッチはA
LU機能モード(ニューラル・エミュレーションのため
の総和モード)に置かれれる。例えば、ルート・ツリー
・プロセッサは先ず同期タグをアクティブにセットし、
次に命令または保留PE自動モードにあるデータをPE
へ送り、次に命令/データ・メッセージの完結時に同期
タグを非アクティブにセットする。そのあと、ルート・
ツリー・プロセッサはタイムアウトまたは完了通知を待
ってから、次の命令/データをPEへ送る。
【0133】望ましいことは、スイッチング・ツリー・
グループをシングル・チップ上に集積化することであ
る。この場合には、考慮すべき制約パラメータは、チッ
プ面積上のロジック密度ではなく、チップの入出力容量
である。スイッチング・ツリーには、前述したように、
グループ・チップとツリー・ルートの信号をサポートす
るために、G+X個の入出力ラインが必要である。制御
のための追加の入出力ラインも勘定に入れる必要があ
る。例えば、X同期タグと2スイッチ・モード制御信号
が使用される場合もある。開発目的上、スイッチング・
ツリー・チップの入出力カウントの当初想定値はG+2
X+2+予備の入出力ライン数となる。大型システムで
は、例えば、G=256、X=16の場合、テクノロジ
を考慮した場合の入出力ライン数は290+予備とな
る。
【0134】
【発明の効果】
11.要約 以上、そのサイズをテクノロジの考慮によって判断でき
る、本発明による共通「ビルディング・ブロック」チッ
プを作成する分割手法について説明してきた。本発明に
よれば、テクノロジの制約と望ましい応用に基づいて、
使用可能なチップ面積の利用を最適化するXのサイズを
求めることができる。本発明によれば、共通「ビルディ
ング・ブロック」チップを利用すると、完全結合ニュー
ラル・ネットワーク・エミュレーションに適した完全結
合ルート・ツリー・プロセッサ・システムは、要求事項
に合致したものを構築することができる。このように構
築した本発明システムは、構築システムに大きな影響を
与えることなく、システム・パフォーマンスを大幅に向
上するように拡張することが可能である。
【0135】本発明の好適実施例について説明してきた
が、上記説明を理解することによって現在および将来の
当業者は本特許請求の範囲に属する範囲内で種々の改良
を施すことが可能である。特許請求の範囲の請求項は、
最初に開示された本発明に対する適切な保護を維持する
ためのものと解釈されるものである。
【図面の簡単な説明】
【図1】プロセッサ・エレメント・アーキテクチャを示
す図である。
【図2】プロセッサ・エレメント・アーキテクチャを示
す図である。
【図3】図4〜図6の相互関係を示す図である。
【図4】対角線折畳み4ルート・ツリー・プロセッサ・
アレイを示す図である。
【図5】対角線折畳み4ルート・ツリー・プロセッサ・
アレイを示す図である。
【図6】対角線折畳み4ルート・ツリー・プロセッサ・
アレイを示す図である。
【図7】次元Kの三角形アレイを示す図である。
【図8】複数の三角形アレイと四角形アレイに分割され
た三角形アレイを示す図である。
【図9】対角線PEと汎用PEを備えた分割三角形およ
び四角形アレイの例を示す図である。
【図10】デュアル・エレメントX×Xアレイから分離
されたエレメントからなる2つの四角形アレイを示す図
である。
【図11】折り畳まれたエレメントからなる2つの四角
形アレイを示す図である。
【図12】図13と図14との相互関係を示す図であ
る。
【図13】8ニューロン・ネットワーク・エミュレーシ
ョンのための対角線折畳みツリー64PEアレイを示す
図である。
【図14】8ニューロン・ネットワーク・エミュレーシ
ョンのための対角線折畳みツリー64PEアレイを示す
図である。
【図15】図16と図17との相互関係を示す図であ
る。
【図16】1個の四角形プロセッサ・アレイと2個の小
三角形プロセッサ・アレイに分割された8ニューロン・
アレイ・モデルを示す図である。
【図17】1個の四角形プロセッサ・アレイと2個の小
三角形プロセッサ・アレイに分割された8ニューロン・
アレイ・モデルを示す図である。
【図18】8ニューロン・アレイ・モデルの内側四角形
を示す図である。
【図19】8ニューロン・アレイ・モデルの内側四角形
を示す図である。
【図20】8ニューロン・アレイ・モデルの内側四角形
を示す図である。
【図21】2つの三角形アレイに分離された折畳み内側
四角形を示す図である。
【図22】好ましい外部ALU機能、シグモイド・エミ
ュレーション、およびツリー通信経路を示す図である。
【図23】図24と図25との相互関係を示す図であ
る。
【図24】ニューロンY値をもつ16ニューロン・アレ
イ・モデル重みマトリックスを示す図である。
【図25】ニューロンY値をもつ16ニューロン・アレ
イ・モデル重みマトリックスを示す図である。
【図26】三角形アレイ1と2を示す図である。
【図27】三角形アレイ3と4を示す図である。
【図28】2つの三角形アレイに分割された折畳み内側
四角形5を示す図である。
【図29】2つの三角形アレイに分割された折畳み内側
四角形6を示す図である。
【図30】2つの三角形アレイに分割された折畳み内側
四角形7を示す図である。
【図31】2つの三角形アレイに分割された折畳み内側
四角形8を示す図である。
【図32】2つの三角形アレイに分割された折畳み内側
四角形9を示す図である。
【図33】2つの三角形アレイに分割された折畳み内側
四角形10を示す図である。
【図34】好ましい外部ALU機能、シグモイド・エミ
ュレーション、およびツリー通信経路を示す図である。
【図35】8ニューロンおよび16ニューロン・スイッ
チング・ツリー・メカニズムの例を示す図である。
【図36】8ニューロンおよび16ニューロン・スイッ
チング・ツリー・メカニズムの例を示す図である。
【図37】学習をサポートするように改良された別の8
ニューロン・スイッチング・メカニズムを示す図であ
る。
【図38】図39〜図41の相互関係を示す図である。
【図39】Xだけ分割された汎用三角形プロセッサ・ア
レイを示す図である。
【図40】Xだけ分割された汎用三角形プロセッサ・ア
レイを示す図である。
【図41】Xだけ分割された汎用三角形プロセッサ・ア
レイを示す図である。
【図42】汎用内側四角形アレイを示す図である。
【図43】選択された任意の内側四角形から分割された
第1分割四角形アレイを示す図である。
【図44】三角形アレイに折り畳まれた第1分割四角形
アレイを示す図である。
【図45】選択された任意の内側四角形から分割された
第2分割四角形アレイを示す図である。
【図46】三角形アレイに折り畳まれた第2分割四角形
アレイを示す図である。
【図47】三角形アレイからの第1出力の四角形アレイ
を示す図である。
【図48】外部スイッチとALUツリーが追加された折
畳み第1出力アレイを示す図である。
【図49】外部スイッチがALUツリー総和モード1に
ある折畳み第1出力アレイを示す図である。
【図50】スイッチがY値反転通信モード2にある折畳
み第1出力アレイを示す図である。
【図51】図52と図53との相互関係を示す図であ
る。
【図52】8ニューロン構造(G=4,H=16):モ
ード1:正方向ALUツリー総和を示す図である。
【図53】8ニューロン構造(G=4,H=16):モ
ード1:正方向ALUツリー総和を示す図である。
【図54】図55と図56との相互関係を示す図であ
る。
【図55】8ニューロン構造(G=4,H=16):モ
ード2:Y値反転通信を示す図である。
【図56】8ニューロン構造(G=4,H=16):モ
ード2:Y値反転通信を示す図である。
【図57】図58と図59との相互関係を示す図であ
る。
【図58】8ニューロン構造(G=4,H=16):モ
ード3:E値反転通信を示す図である。
【図59】8ニューロン構造(G=4,H=16):モ
ード3:E値反転通信を示す図である。
【図60】図61と図62との相互関係を示す図であ
る。
【図61】8ニューロン構造(G=4,H=16):モ
ード4:加重誤差ALUツリー総和(汎用PEは反対の
E値を選択して乗算を行う)示す図である。
【図62】8ニューロン構造(G=4,H=16):モ
ード4:加重誤差ALUツリー総和(汎用PEは反対の
E値を選択して乗算を行う)示す図である。
【図63】図64〜図69の相互関係を示す図である。
【図64】16ニューロン構造(N=16,G=16,
H=16)モード1:正方向ALUツリー総和を示す図
である。
【図65】16ニューロン構造(N=16,G=16,
H=16)モード1:正方向ALUツリー総和を示す図
である。
【図66】16ニューロン構造(N=16,G=16,
H=16)モード1:正方向ALUツリー総和を示す図
である。
【図67】16ニューロン構造(N=16,G=16,
H=16)モード1:正方向ALUツリー総和を示す図
である。
【図68】16ニューロン構造(N=16,G=16,
H=16)モード1:正方向ALUツリー総和を示す図
である。
【図69】16ニューロン構造(N=16,G=16,
H=16)モード1:正方向ALUツリー総和を示す図
である。
【図70】図71〜図76の相互関係を示す図である。
【図71】16ニューロン構造(N=16,G=16,
H=16)モード2:Y反転通信を示す図である。
【図72】16ニューロン構造(N=16,G=16,
H=16)モード2:Y反転通信を示す図である。
【図73】16ニューロン構造(N=16,G=16,
H=16)モード2:Y反転通信を示す図である。
【図74】16ニューロン構造(N=16,G=16,
H=16)モード2:Y反転通信を示す図である。
【図75】16ニューロン構造(N=16,G=16,
H=16)モード2:Y反転通信を示す図である。
【図76】16ニューロン構造(N=16,G=16,
H=16)モード2:Y反転通信を示す図である。
【図77】図78と図79との相互関係を示す図であ
る。
【図78】代替ビルディング・ブロック−折畳み内側四
角形を示す図である。
【図79】代替ビルディング・ブロック−折畳み内側四
角形を示す図である。
【符号の説明】
1 三角形アレイ 2 三角形アレイ 3 三角形アレイ 4 三角形アレイ 5 折畳み内側四角形 6 折畳み内側四角形 7 折畳み内側四角形 8 折畳み内側四角形 9 折畳み内側四角形 10 折畳み内側四角形
───────────────────────────────────────────────────── フロントページの続き (72)発明者 スターマティス ヴァジリアディス アメリカ合衆国 13850 ニューヨーク州 ヴェスタル ヴェスタル ロード 717 (72)発明者 ホセ グアドループ デルガド−フライア ス アメリカ合衆国 13760 ニューヨーク州 エンドウェル レイシー ドライブ 612

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 三角形アレイの各エッジにK個の命令お
    よび/またはデータ処理ユニットが置かれているK(K
    +1)/2個の命令および/またはデータ処理ユニット
    の三角形アレイから構成されたことを特徴とする汎用ア
    プリケーション用の超並列コンピューティング・システ
    ム装置。
  2. 【請求項2】 請求項1に記載の装置において、KとX
    は整数であり、KはXによって割ることが可能であり、
    三角形アレイは、K(K−X)/2X2 個のX×X四角
    形とK/X三角形アレイに分割され、これらのアレイは
    分割されたアレイの各エッジにX個の命令および/また
    はデータ処理ユニットが置かれていることを特徴とする
    装置。
  3. 【請求項3】 命令および/またはデータ処理ユニット
    のK(K−X)/2X2 個のX×X四角形アレイからな
    る請求項2に記載の装置において、処理ユニットは各々
    がタイプ“b”とタイプ“c”の命令および/またはデ
    ータ・プロセッサ・エレメント(PE)と呼ばれる2つ
    の命令および/またはデータ・プロセッサ・エレメント
    から構成されたことを特徴とする装置。
  4. 【請求項4】 三角形アレイの各エッジにX個の命令お
    よび/またはデータ処理ユニットが置かれているK/X
    個の三角形アレイからなる請求項2に記載の装置におい
    て、三角形アレイの対角線上の命令および/またはデー
    タ処理ユニットは、単一命令および/またはデータ・プ
    ロセッサ・エレメントから構成され、三角形アレイ・プ
    ロセッサ・ユニットの残り部分は各々が2個の命令およ
    び/またはデータ・プロセッサ・エレメントから構成さ
    れたことを特徴とする装置。
  5. 【請求項5】 命令および/またはデータ・プロセッサ
    ・エレメント(PE)と、通信ALUツリーと、ルート
    (根)ツリー・プロセッサと、ホスト・コンピュータと
    のプログラマブル・プロセッサ・インタフェースと、ス
    ケーラブル・グループ分割スイッチング・ツリー・メカ
    ニズムとから構成され、完全結合性と共にスケーラビリ
    ティの機能を備えたことを特徴とする汎用アプリケーシ
    ョン用の超並列コンピューティング・システム装置。
  6. 【請求項6】 請求項5に記載の装置において、超並列
    コンピューティング・システムは、N2 個のプロセッサ
    ・エレメントと、N個の通信ALUツリーと、N個のル
    ート・ツリー・プロセッサと、ホスト・コンピュータと
    のプログラマブル・プロセッサ・インタフェースと、N
    個のルート・ツリー・プロセッサをサポートするスケー
    ラブル・グループ分割スイッチング・ツリー・メカニズ
    ムとから構成されたことを特徴とする装置。
  7. 【請求項7】 請求項5に記載の装置において、通信A
    LUツリーはlog2 N2から1までの通信ALUステ
    ージを含んでいることを特徴とする装置。
  8. 【請求項8】 請求項7に記載の装置において、通信A
    LUツリーに含まれる各ステージは、2個の入力ALU
    と、ALU機能から得た方向とは逆方向に値を伝達する
    ことを目的としたALUバイパス経路と、ALU機能と
    逆方向通信経路間でスイッチングする手段とから構成さ
    れた2から1までの通信ALUを含むことを特徴とする
    装置。
  9. 【請求項9】 請求項5に記載の装置において、プロセ
    ッサ・エレメントは命令および/データを受信し、受信
    した情報をアプリケーションによって定義されたハード
    ウェアおよび/またはプログラマブル命令シーケンスの
    制御の下で処理することを特徴とする装置。
  10. 【請求項10】 請求項6に記載の装置において、ルー
    ト・プロセッサは命令を実行し、データを処理し、接続
    された通信ALUツリーのALU機能と動作モードを制
    御し、接続されたスイッチング・ツリー・メカニズムを
    制御し、通信ALUツリー接続PEに対して命令/デー
    タを出し、通信ALUツリーを通して処理されたPEデ
    ータを通信ALUツリー・ルート・ノードから受信する
    ことを特徴とする装置。
  11. 【請求項11】 請求項5に記載の装置において、接続
    されたホスト・コンピュータおよびルート・ツリー・プ
    ロセッサとのインタフェースとなるプログラマブル・プ
    ロセッサ制御装置は、ルート・ツリー・プロセッサおよ
    びPEによって使用されるパラメータのためのストレー
    ジ(記憶手段)を備え、システム初期設定を制御し、ホ
    スト命令を処理し、ホストと並列処理システム間の命令
    とデータをバッファリングすることを特徴とする装置。
  12. 【請求項12】 請求項6に記載の装置において、N2
    個の処理エレメントはN×Nマトリックスの形体で配置
    され、 【外1】 該N×Nマトリックスは対角線に沿って折り畳まれ、P
    i,i ユニットを単一プロセッサ対角線ユニットとして
    そのまま残し、PEi,j を2重プロセッサ一般ユニット
    としてPEj,i としてマージしたことを特徴とする装
    置。
  13. 【請求項13】 請求項6に記載の装置において、N2
    個の処理エレメントとN個の通信ALUツリー構造は、
    G=N2 /X2 グループに分割され、X2 個のPEを含
    む各該グループは、X個の単一プロセッサ対角線ユニッ
    トと(X2 −X)/2個の2重プロセッサ一般ユニット
    から構成され、各PEは通信ALUツリーに接続された
    ことを特徴とする装置。
JP5082356A 1992-05-12 1993-04-09 超並列コンピューティングシステム Expired - Lifetime JP2647330B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US88159492A 1992-05-12 1992-05-12
US881594 1992-05-12

Publications (2)

Publication Number Publication Date
JPH0619862A true JPH0619862A (ja) 1994-01-28
JP2647330B2 JP2647330B2 (ja) 1997-08-27

Family

ID=25378785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5082356A Expired - Lifetime JP2647330B2 (ja) 1992-05-12 1993-04-09 超並列コンピューティングシステム

Country Status (3)

Country Link
US (1) US5640586A (ja)
EP (1) EP0569764A3 (ja)
JP (1) JP2647330B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102023121155A1 (de) 2022-08-22 2024-02-22 Caterpillar Paving Products Inc. Ermitteln einer bodeneigenschaft unter verwendung einer maschine

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6021442A (en) * 1997-07-17 2000-02-01 International Business Machines Corporation Method and apparatus for partitioning an interconnection medium in a partitioned multiprocessor computer system
US6985431B1 (en) * 1999-08-27 2006-01-10 International Business Machines Corporation Network switch and components and method of operation
US6769033B1 (en) 1999-08-27 2004-07-27 International Business Machines Corporation Network processor processing complex and methods
AUPQ542900A0 (en) * 2000-02-04 2000-02-24 Bisinella, Richard Microprocessor
US7225324B2 (en) 2002-10-31 2007-05-29 Src Computers, Inc. Multi-adaptive processing systems and techniques for enhancing parallelism and performance of computational functions
US8443169B2 (en) * 2005-03-28 2013-05-14 Gerald George Pechanek Interconnection network connecting operation-configurable nodes according to one or more levels of adjacency in multiple dimensions of communication in a multi-processor and a neural processor
US7716100B2 (en) * 2005-12-02 2010-05-11 Kuberre Systems, Inc. Methods and systems for computing platform
US8812414B2 (en) 2011-05-31 2014-08-19 International Business Machines Corporation Low-power event-driven neural computing architecture in neural networks
US8909576B2 (en) 2011-09-16 2014-12-09 International Business Machines Corporation Neuromorphic event-driven neural computing architecture in a scalable neural network
KR20130090147A (ko) * 2012-02-03 2013-08-13 안병익 신경망 컴퓨팅 장치 및 시스템과 그 방법
US9558443B2 (en) 2013-08-02 2017-01-31 International Business Machines Corporation Dual deterministic and stochastic neurosynaptic core circuit
FR3015068B1 (fr) * 2013-12-18 2016-01-01 Commissariat Energie Atomique Module de traitement du signal, notamment pour reseau de neurones et circuit neuronal
US10616316B2 (en) * 2016-09-15 2020-04-07 International Business Machines Corporation Processing element host management in a stream computing environment
CN109583577B (zh) * 2017-09-29 2021-04-23 上海寒武纪信息科技有限公司 运算装置及方法
CN108961429B (zh) * 2018-06-08 2023-01-10 大连理工大学 一种文物碎片模型自动分割及拼接方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4533993A (en) * 1981-08-18 1985-08-06 National Research Development Corp. Multiple processing cell digital data processor
DE3482532D1 (de) * 1983-07-06 1990-07-19 Secr Defence Brit Prozessor mit zwangseinstellung.
DE3533800C1 (de) * 1985-09-21 1987-02-05 Hans-Werner Lang Verfahren zum Betreiben eines hochintegrierten Wellenfront-Feldrechners sowie entsprechender Wellenfront-Feldrechner
US4907148A (en) * 1985-11-13 1990-03-06 Alcatel U.S.A. Corp. Cellular array processor with individual cell-level data-dependent cell control and multiport input memory
US4860201A (en) * 1986-09-02 1989-08-22 The Trustees Of Columbia University In The City Of New York Binary tree parallel processor
US4943909A (en) * 1987-07-08 1990-07-24 At&T Bell Laboratories Computational origami
GB2219106B (en) * 1988-05-26 1992-04-15 Secr Defence Processor for constrained least squares computations
GB8903091D0 (en) * 1989-02-10 1989-03-30 Secr Defence Heuristic processor
US5325464A (en) * 1990-05-22 1994-06-28 International Business Machines Corporation Pyramid learning architecture neurocomputer
US5065339A (en) * 1990-05-22 1991-11-12 International Business Machines Corporation Orthogonal row-column neural processor
US5243688A (en) * 1990-05-22 1993-09-07 International Business Machines Corporation Virtual neurocomputer architectures for neural networks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102023121155A1 (de) 2022-08-22 2024-02-22 Caterpillar Paving Products Inc. Ermitteln einer bodeneigenschaft unter verwendung einer maschine

Also Published As

Publication number Publication date
US5640586A (en) 1997-06-17
EP0569764A3 (en) 1994-07-13
JP2647330B2 (ja) 1997-08-27
EP0569764A2 (en) 1993-11-18

Similar Documents

Publication Publication Date Title
US5682544A (en) Massively parallel diagonal-fold tree array processor
US6041398A (en) Massively parallel multiple-folded clustered processor mesh array
US6405185B1 (en) Massively parallel array processor
JPH0619862A (ja) スケーラブル超並列グループ分割対角線折畳みスイッチング・ツリー型コンピューティング装置
EP0298658B1 (en) Computational apparatus for parallel processing
Uhr Algorithm-structured computer arrays and networks: architectures and processes for images, percepts, models, information
JP2663995B2 (ja) スケーラブル・フロー仮想学習ニューロコンピュータ
US4891751A (en) Massively parallel vector processing computer
US5329611A (en) Scalable flow virtual learning neurocomputer
US5577262A (en) Parallel array processor interconnections
JPH05505268A (ja) デイジーチェーン制御付ニューラルネットワーク
JPS58144971A (ja) アレイプロセツサ装置
Ramacher et al. Multiprocessor and memory architecture of the neurocomputer SYNAPSE-1
JPH04232562A (ja) コンピユータ装置
Treleaven Parallel architecture overview
Vlontzos et al. Digital neural network architecture and implementation
International Neural Network Society (INNS), the IEEE Neural Network Council Cooperating Societies et al. Implementation of back-propagation on a VLSI asynchronous cellular architecture
JPH0471063A (ja) 神経回路網型計算装置
Agut et al. Towards Efficient Neural Network Model Parallelism on Multi-FPGA Platforms
Jain Parallel Processing With the TMS320C40 Parallel Digital Signal Processor
Misra et al. Massive memory organizations for implementing neural networks
Casiccia et al. Simulation of a molecular cellular array on a transputer-based parallel computer
DUNCAN Parallel Computer Construction
HANASSAB et al. Parallel processors for cybernetic systems
Duncan Parallel Computer Construction Outside the United States