[go: up one dir, main page]

JPH0594429A - Boltzmann machine simulation device - Google Patents

Boltzmann machine simulation device

Info

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
Application number
JP3278768A
Other languages
Japanese (ja)
Inventor
Nobuki Kajiwara
信樹 梶原
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP3278768A priority Critical patent/JPH0594429A/en
Publication of JPH0594429A publication Critical patent/JPH0594429A/en
Withdrawn 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic 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

PURPOSE:To provide a simulation whose efficiency is satisfactory in which plural processors can be asynchronously operated by utilizing the asynchronous operation of a Boltsmann machine. CONSTITUTION:The output values of the entire nodes of a network are stored in a node vector 4, and the weight of a link to be inputted to a node group included in a partial network charged by a processor 1 is stored in a partial weight matrix 5. An arithmetic control unit 3 calculates the output of the node of the partial network from both the node vector 4 and the partial weight matrix 5. A communication control unit 6 reloads the values of the elements of the node vectors 4 of the other processors 1 into the output value calculated by the arithmetic control unit 3 through a between-processor communication path 2 based on the identification number of the node. At that time, the other processors 1 whose node vectors 4 are reloaded continue the same simulation asynchronously with the main processor 1.

Description

【発明の詳細な説明】Detailed Description of the Invention

【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.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例の全体構成図である。FIG. 1 is an overall configuration diagram of an embodiment of the present invention.

【符号の説明】[Explanation of symbols]

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)

【特許請求の範囲】[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.
JP3278768A 1991-09-30 1991-09-30 Boltzmann machine simulation device Withdrawn JPH0594429A (en)

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)

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