JPH0594429A - Boltzmann machine simulation device - Google Patents
Boltzmann machine simulation deviceInfo
- Publication number
- JPH0594429A JPH0594429A JP3278768A JP27876891A JPH0594429A JP H0594429 A JPH0594429 A JP H0594429A JP 3278768 A JP3278768 A JP 3278768A JP 27876891 A JP27876891 A JP 27876891A JP H0594429 A JPH0594429 A JP H0594429A
- Authority
- JP
- Japan
- Prior art keywords
- node
- processor
- processors
- network
- asynchronously
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Probability & Statistics with Applications (AREA)
- Multi Processors (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明はニューラルネットワーク
モデルであるボルツマンマシンのシミュレーション装置
に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a simulation apparatus for a Boltzmann machine which is a neural network model.
【0002】[0002]
【従来の技術】従来、複数のプロセッサでボルツマンマ
シンのシミュレーションを並列処理する場合、あるプロ
セッサで処理したノードの値を他のプロセッサに転送す
るには、複数のプロセッサが同期してデータ転送をして
いた。2. Description of the Related Art Conventionally, when a Boltzmann machine simulation is processed in parallel by a plurality of processors, in order to transfer the value of a node processed by one processor to another processor, the plurality of processors synchronously transfer data. Was there.
【0003】[0003]
【発明が解決しようとする課題】しかしながら並列処理
において複数プロセッサの同期はオーバーヘッドとな
り、並列処理による処理速度の向上を妨げるという欠点
があった。However, there is a drawback that synchronization of a plurality of processors becomes an overhead in parallel processing, which hinders improvement in processing speed due to parallel processing.
【0004】本発明の目的は、基本的に非同期な計算モ
デルであるボルツマンマシンの特性を活かし、複数のプ
ロセッサが非同期に動作することにより、高速なボルツ
マンマシンのシミュレーションを提供することにある。An object of the present invention is to provide a high-speed Boltzmann machine simulation by utilizing a characteristic of the Boltzmann machine, which is basically an asynchronous calculation model, and operating a plurality of processors asynchronously.
【0005】[0005]
【課題を解決するための手段】本発明は、各ノードが非
同期に確率的に動作するニューラルネットワークモデル
であるボルツマンマシンのシミュレーション装置であっ
て、(a)複数(M)台のプロセッサを持ち、(b)該
複数のプロセッサ間で、データを転送するためのプロセ
ッサ間通信路を持ち、(c)シミュレーションするネッ
トワークの複数(N個)のノードの出力を1次元のノー
ドベクトルとして表現し、該ネットワークの複数(N×
N個)の重みつきリンクをN×Nの2次元の重み行列と
して表現し、(d)該ネットワークはM個の部分ネット
ワークに分割され、それぞれ該M台のプロセッサに割り
当てられ、(e)該プロセッサは、該ネットワークの全
ノードの出力を保持するノードベクトルと、該プロセッ
サが処理を担当する該部分ネットワークに含まれるノー
ド群への入力となるリンクの重みを保持する部分重み行
列とを持ち、(f)さらに該プロセッサは、該ノードベ
クトルと該部分重み行列とから該プロセッサが処理を担
当する該部分ネットワークのシミュレーションを行なう
演算ユニットと、該プロセッサ間通信路を介して他の該
プロセッサの該ノードベクトルの値を他の該プロセッサ
とは非同期に書き換える通信制御ユニットを持ち、
(g)該プロセッサは処理を担当する該部分ネットワー
クのノードの出力を他の該プロセッサとは非同期に計算
し、それを該プロセッサ間通信路を介して、他の該プロ
セッサの保持する該ノードベクトルを該通信制御ユニッ
トを使って他の該プロセッサとは非同期に書き換えるこ
とを特徴とするボルツマンマシンシミュレーション装置
である。The present invention is a Boltzmann machine simulation apparatus, which is a neural network model in which each node operates asynchronously and stochastically, and has (a) a plurality of (M) processors. (B) has an inter-processor communication path for transferring data between the plurality of processors, and (c) represents outputs of a plurality of (N) nodes of a network to be simulated as a one-dimensional node vector, Multiple networks (N x
N) weighted links are represented as a N × N two-dimensional weight matrix, (d) the network is divided into M sub-networks, each of which is assigned to the M processors, and (e) The processor has a node vector that holds the outputs of all the nodes of the network, and a partial weight matrix that holds the weights of the links that become the inputs to the nodes included in the partial network that the processor is in charge of processing, (F) The processor further includes an arithmetic unit for simulating the partial network, which is processed by the processor, from the node vector and the partial weight matrix, and the processor of another processor via the interprocessor communication path. It has a communication control unit that rewrites the value of the node vector asynchronously with other processors,
(G) The processor calculates the output of a node of the sub-network in charge of processing asynchronously with the other processors, and the node vector held by the other processors via the inter-processor communication path. Is rewritten asynchronously with the other processor using the communication control unit.
【0006】[0006]
【作用】本発明においては、該プロセッサは、シミュレ
ーションする該ネットワークの全ノードの出力を保持す
る該ノードベクトルを持ち、該プロセッサが処理を担当
する該部分ネットワークに含まれるノード群への入力と
なるリンクの重みを保持する部分重み行列を持つので、
該プロセッサの担当する該部分ネットワークに含まれる
ノードの出力は他の該プロセッサとは、非同期に計算で
きる。ノードの出力の計算結果は、他の該プロセッサの
保持する該ノードベクトルに転送する必要があるが、ボ
ルツマンマシンはそれぞれのノードが非同期に出力を変
化させる非同期な計算モデルなので、ノードの出力は他
の該プロセッサのシミュレーションの進行とは非同期に
行なうことができる、該プロセッサは他の該プロセッサ
のノードベクトルの値を他の該プロセッサとは非同期に
書き換える該通信制御ユニットを持ち、プロセッサ間の
非同期のデータ転送をこれで実現している。以上により
複数のプロセッサが非同期に処理を進めることのできる
ボルツマンマシンの並列シミュレーションを実現してい
る。In the present invention, the processor has the node vector holding the outputs of all the nodes of the network to be simulated, and becomes the input to the node group included in the partial network in which the processor is in charge of processing. Since we have a partial weight matrix that holds the link weights,
The output of a node included in the sub-network in charge of the processor can be calculated asynchronously with other processors. The calculation result of the output of the node needs to be transferred to the node vector held by another processor, but since the Boltzmann machine is an asynchronous calculation model in which each node changes the output asynchronously, the output of the node is Can be performed asynchronously with the progress of the simulation of the processor, the processor having the communication control unit for rewriting the value of the node vector of the other processor asynchronously with the other processor, Data transfer is realized by this. In this way, we have realized a parallel simulation of a Boltzmann machine in which multiple processors can proceed asynchronously.
【0007】[0007]
【実施例】次に、本発明の実施例について、図面を参照
して説明する。図1は本発明の一実施例の全体構成図
で、複数のプロセッサ1と、プロセッサ間通信路2とか
ら構成される。Embodiments of the present invention will now be described with reference to the drawings. FIG. 1 is an overall configuration diagram of an embodiment of the present invention, which includes a plurality of processors 1 and an interprocessor communication path 2.
【0008】プロセッサ1は、演算制御ユニット3と、
ノードベクトル4と、部分重み行列5と、通信制御ユニ
ット6とから構成され、ノードベクトル4には、シミュ
レーションするネットワークの全ノードの出力値が格納
される。また部分重み行列5には本プロセッサ1の担当
する、部分ネットワークに含まれるノード群への入力と
なるリンクの重みが格納される。演算制御ユニット3
は、ノードベクトル4と部分重み行列5とから、本プロ
セッサの担当する部分ネットワークに含まれるノードの
出力を計算する。この値は他のプロセッサの保持するノ
ードベクトル4に転送しなければならない。演算制御ユ
ニット3は通信制御ユニット6に、転送すべきノード識
別番号(ノードアドレス)と計算した出力値を伝える。
通信制御ユニット6はノード識別番号を元にプロセッサ
間通信路2を介して他のプロセッサ1のノードベクトル
4の要素のうち、ノード識別番号で指定される要素の値
を演算制御ユニット3で計算された出力値に書き換え
る。このときノードベクトル4を書き換えられる他のプ
ロセッサ1は、本プロセッサ1とは非同期に同様のシミ
ュレーションを続ける。ボルツマンマシンは各ノードが
非同期に動作することのできるニューラルネットワーク
モデルなので、他のプロセッサ1が、本プロセッサ1に
より書き換えられたノードを同時に参照していたとして
もシミュレーションは不正確にはならない。The processor 1 includes an arithmetic control unit 3 and
It is composed of a node vector 4, a partial weight matrix 5, and a communication control unit 6, and the node vector 4 stores output values of all nodes of the network to be simulated. Further, the partial weight matrix 5 stores the weight of the link which is the input of the node group included in the partial network, which the processor 1 is in charge of. Arithmetic control unit 3
Calculates the output of the node included in the partial network which this processor is in charge of from the node vector 4 and the partial weight matrix 5. This value must be transferred to the node vector 4 held by another processor. The arithmetic and control unit 3 notifies the communication control unit 6 of the node identification number (node address) to be transferred and the calculated output value.
The communication control unit 6 calculates the value of the element designated by the node identification number among the elements of the node vector 4 of another processor 1 via the interprocessor communication path 2 based on the node identification number. The output value. At this time, the other processor 1 in which the node vector 4 is rewritten continues the same simulation asynchronously with the main processor 1. Since the Boltzmann machine is a neural network model in which each node can operate asynchronously, even if another processor 1 simultaneously refers to a node rewritten by this processor 1, the simulation does not become inaccurate.
【0009】以上により、各プロセッサ1は他のプロセ
ッサ1と同期することなくシミュレーションができ、プ
ロセッサ間同期のオーバーヘッドのない高速なシミュレ
ーションが実現できる。As described above, each processor 1 can perform a simulation without synchronizing with another processor 1, and a high-speed simulation without the overhead of synchronization between processors can be realized.
【0010】[0010]
【発明の効果】以上のように、本発明においては、該プ
ロセッサは、シミュレーションする該ネットワークの全
ノードの出力を保持する該ノードベクトルを持ち、該プ
ロセッサが処理を担当する該部分ネットワークに含まれ
るノード群への入力となるリンクの重みを保持する部分
重み行列を持つので、該プロセッサの担当する該部分ネ
ットワークに含まれるノードの出力は他の該プロセッサ
とは、非同期に計算できる。ノードの出力の計算結果
は、他の該プロセッサの保持する該ノードベクトルに転
送する必要があるが、ボルツマンマシンはそれぞれのノ
ードが非同期に出力を変化させる非同期な計算モデルな
ので、ノードの出力は他の該プロセッサのシミュレーシ
ョンの進行とは非同期に行なうことができる、該プロセ
ッサは他の該プロセッサのノードベクトルの値を他の該
プロセッサとは非同期に書き換える該通信制御ユニット
を持ち、プロセッサ間の非同期のデータ転送をこれで実
現している。以上により複数のプロセッサが非同期に処
理を進めることのできるボルツマンマシンの並列シミュ
レーションを実現している。As described above, in the present invention, the processor has the node vector holding the output of all the nodes of the network to be simulated, and is included in the partial network in which the processor is in charge of processing. Since the partial weight matrix that holds the weight of the link that is the input to the node group is included, the output of the node included in the partial network in charge of the processor can be calculated asynchronously with the other processors. The calculation result of the output of the node needs to be transferred to the node vector held by another processor, but since the Boltzmann machine is an asynchronous calculation model in which each node changes the output asynchronously, the output of the node is Can be performed asynchronously with the progress of the simulation of the processor, the processor having the communication control unit for rewriting the value of the node vector of the other processor asynchronously with the other processor, Data transfer is realized by this. In this way, we have realized a parallel simulation of a Boltzmann machine in which multiple processors can proceed asynchronously.
【図1】本発明の一実施例の全体構成図である。FIG. 1 is an overall configuration diagram of an embodiment of the present invention.
1 プロセッサ 2 プロセッサ間通信路 3 演算制御ユニット 4 ノードベクトル 5 部分重み行列 6 通信制御ユニット 1 processor 2 communication path between processors 3 arithmetic control unit 4 node vector 5 partial weight matrix 6 communication control unit
Claims (1)
ューラルネットワークモデルであるボルツマンマシンの
シミュレーション装置であって、 (a)複数(M)台のプロセッサを持ち、 (b)該複数のプロセッサ間で、データを転送するため
のプロセッサ間通信路を持ち、 (c)シミュレーションするネットワークの複数(N
個)のノードの出力を1次元のノードベクトルとして表
現し、該ネットワークの複数(N×N個)の重みつきリ
ンクをN×Nの2次元の重み行列として表現し、 (d)該ネットワークはM個の部分ネットワークに分割
され、それぞれ該M台のプロセッサに割り当てられ、 (e)該プロセッサは、該ネットワークの全ノードの出
力を保持するノードベクトルと、該プロセッサが処理を
担当する該部分ネットワークに含まれるノード群への入
力となるリンクの重みを保持する部分重み行列とを持
ち、 (f)さらに該プロセッサは、該ノードベクトルと該部
分重み行列とから該プロセッサが処理を担当する該部分
ネットワークのシミュレーションを行なう演算ユニット
と、該プロセッサ間通信路を介して他の該プロセッサの
該ノードベクトルの値を他の該プロセッサとは非同期に
書き換える通信制御ユニットとを持ち、 (g)該プロセッサは処理を担当する該部分ネットワー
クのノードの出力を他の該プロセッサとは非同期に計算
し、それを該プロセッサ間通信路を介して、他の該プロ
セッサの保持する該ノードベクトルを該通信制御ユニッ
トを使って他の該プロセッサとは非同期に書き換えるこ
とを特徴とするボルツマンマシンシミュレーション装
置。1. A device for simulating a Boltzmann machine, which is a neural network model in which each node operates asynchronously and stochastically, comprising: (a) a plurality of (M) processors, and (b) between the plurality of processors. And has a communication path between processors for transferring data, and (c) a plurality of (N) networks to be simulated.
The output of each node is represented as a one-dimensional node vector, and a plurality of (N × N) weighted links of the network are represented as an N × N two-dimensional weight matrix, and (d) the network is It is divided into M sub-networks and assigned to each of the M processors, (e) the processor holds a node vector holding outputs of all nodes of the network, and the sub-network in which the processor is in charge of processing. A partial weight matrix for holding the weight of the link that is an input to the node group included in (f), the processor further including the node vector and the partial weight matrix, An arithmetic unit for simulating a network and a value of the node vector of another processor via the interprocessor communication path And a communication control unit that rewrites asynchronously with the other processor, and (g) the processor calculates the output of a node of the partial network in charge of processing asynchronously with the other processor, and calculates it between the processors. A Boltzmann machine simulation apparatus characterized in that the node vector held by another processor is rewritten asynchronously with another processor via the communication path by using the communication control unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3278768A JPH0594429A (en) | 1991-09-30 | 1991-09-30 | Boltzmann machine simulation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3278768A JPH0594429A (en) | 1991-09-30 | 1991-09-30 | Boltzmann machine simulation device |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0594429A true JPH0594429A (en) | 1993-04-16 |
Family
ID=17601918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3278768A Withdrawn JPH0594429A (en) | 1991-09-30 | 1991-09-30 | Boltzmann machine simulation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0594429A (en) |
-
1991
- 1991-09-30 JP JP3278768A patent/JPH0594429A/en not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Quinn et al. | Data-parallel programming on multicomputers | |
EP0460599B1 (en) | Massively parallel processor including queue-based message delivery system | |
Cheung et al. | A large-scale spiking neural network accelerator for FPGA systems | |
Diekmann et al. | Load balancing strategies for distributed memory machines | |
US20250077276A1 (en) | Explicit scheduling of on-chip operations | |
JPH0594429A (en) | Boltzmann machine simulation device | |
Yasudo et al. | Performance estimation for exascale reconfigurable dataflow platforms | |
Lo et al. | Iterative solution of general sparse linear systems on clusters of workstations | |
JPH05250346A (en) | Neural network simulation device | |
CA2028807C (en) | Decentralized simulator | |
CN116523045A (en) | Deep learning reasoning simulator oriented to multi-core chip | |
Juhasz et al. | A PVM implementation of a portable parallel image processing library | |
JPH0769893B2 (en) | Neural network simulator | |
KR20220157503A (en) | Updating model parameters in a parallel processing system | |
Engelmann | A network contention model for the extreme-scale simulator | |
US11907725B2 (en) | Communication in a computer having multiple processors | |
Gelenbe | Performance analysis of the connection machine | |
Ahluwalia et al. | Performance analysis of the communication architecture of the Connection Machine | |
JP7487334B2 (en) | Controlling processing node behavior | |
KR102790305B1 (en) | Communication on computers with multiple processors | |
JPH02204854A (en) | Simulation processing method | |
Childers et al. | Multigraph modeling tool | |
Bica et al. | Scalable Task Deployment System Inspired from Virus Propagation Models for Large Distributed Workflow Based Systems | |
Machine et al. | Transputer Applications and Systems' 94 259 A. De Gloria et al.(Eds.) IOS Press | |
Hribar et al. | Performance study of a parallel shortest path algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19981203 |