図面 (/)

技術 情報処理装置及び計算機システム

出願人 株式会社日立製作所
発明者 吉村地尋奥山拓哉林真人
出願日 2016年6月17日 (4年6ヶ月経過) 出願番号 2016-120432
公開日 2017年12月21日 (2年11ヶ月経過) 公開番号 2017-224215
状態 特許登録済
技術分野 アナログ計算機 マルチプロセッサ
主要キーワード 万有引力 稼働頻度 デイジーチェーン状 発火している 相互作用係数 専用計算機 社会現象 イジングモデル
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年12月21日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

複数の主体間が全対全で結合するような密な結合を、従来例よりも少ないハードウェアの物量で実現する。

解決手段

複数の主体を有して、前記主体間の相互作用モデル模擬する情報処理装置であって、前記主体のうち、隣接して配置され、かつ、同時に値を更新しない主体を一つの単位構成要素とし、当該単位構成要素内の前記主体を相互に接続し、前記単位構成要素は、前記主体のうちのひとつの値を順次更新する共有演算ユニットを含み、前記共有演算ユニットのうち、隣り合う共有演算ユニットを接続する。

概要

背景

種々の物理現象社会現象相互作用モデル表現することができる。相互作用モデルとは、モデルを構成する複数個主体(entity)あるいはノード(node)と、主体間の相互作用、さらに必要であれば主体毎のバイアスで定義されるモデルである。物理学社会科学では種々のモデルが提案されているが、いずれも相互作用モデルの一形態であると解釈できる。

相互作用モデルの特徴として、主体間の影響を2個の主体間の相互作用に限定している(2体間の相互作用)ことがあげられる。例えば、宇宙空間にある惑星の力学を考えてみると、惑星という主体の間に万有引力による相互作用がある点で相互作用モデルの一種とも解釈できるが、惑星間の影響は2個の惑星間にとどまらず、3個以上の惑星が互いに影響し合って複雑な挙動を示す(いわゆる3体問題や多体問題と言われる問題になる)。

情報処理において用いられている相互作用モデルの例として、ニューラルネットワークイジングモデル、および、マルチエージェントシステムなどがある。

ニューラルネットワークは生物の脳を模倣したモデルであり、複数個のニューロン(主体)がシナプス結合を介して相互作用している。

イジングモデルは磁性体の振舞いを説明するための物理学のモデルであり、複数個のスピン(主体)が与えられた係数相互作用係数外部磁場係数)の元で相互作用している。

マルチエージェントシステムは感染症の感染や建屋内での人流模擬するなど、社会科学の分野で利用されているモデルである。自律的に稼働する複数のエージェントが互いに通信することで相互作用している。

これらの相互作用モデルは、2個の主体間の関係の集合として記述できる。そのため、主体を頂点(vertex)、相互作用を辺(edge)としたグラフで記述されることも多い。

近年、相互作用モデルと相似な構造を有する新しい原理コンピュータが提案されている。例えば、イジングモデルの構造を模したコンピュータ(特許文献1、特許文献2)やニューラルネットワークの構造を模したコンピュータがある。

これらのコンピュータに共通する特徴として、主体(イジングモデルのスピンやニューラルネットワークのニューロン)を模擬する素子回路単位構成要素とし、半導体基板上に単位構成要素を大量に並べて形成していることがあげられる。そのため、この種のコンピュータのスケーラビリティを高めるためには、単位構成要素に要する物量を削減するか、半導体基板の面積をより大きく必要がある。

特許文献1では、イジングモデルのスピン1個に対応したスピンユニットと呼ばれる単位構成要素を複数個2次元平面上に配置したスピンアレイを半導体基板上に形成している。そして、イジングモデルにおいて隣接スピンは同時に更新しないように、スピンアレイ内のスピンユニットをグループ分けして、一度に同時に更新するのは1つのグループだけにする制御を行っている。

特許文献2では、イジングモデルのスピン1個に対応したスピンセルと呼ばれる単位構成要素を複数個、半導体基板上に集積している。そして、スピンセルが有する多数決論理電流的な加算を用いることで、回路の効率化、すなわち、スピンセルの半導体基板上での占有面積の削減を図っている。

概要

複数の主体間が全対全で結合するような密な結合を、従来例よりも少ないハードウェアの物量で実現する。複数の主体を有して、前記主体間の相互作用モデルを模擬する情報処理装置であって、前記主体のうち、隣接して配置され、かつ、同時に値を更新しない主体を一つの単位構成要素とし、当該単位構成要素内の前記主体を相互に接続し、前記単位構成要素は、前記主体のうちのひとつの値を順次更新する共有演算ユニットを含み、前記共有演算ユニットのうち、隣り合う共有演算ユニットを接続する。

目的

バススレーブS(x、y)の役割は、バスマスタ110から信号線112を介して共有演算ユニット500へのアクセスのうち、対応するU(x、y)へのアクセスに応答することである

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

複数の主体を有して、前記主体間の相互作用モデル模擬する情報処理装置であって、前記主体のうち、隣接して配置され、かつ、同時に値を更新しない主体を一つの単位構成要素とし、当該単位構成要素内の前記主体を相互に接続し、前記単位構成要素は、前記主体のうちのひとつの値を順次更新する共有演算ユニットを含み、前記共有演算ユニットのうち、隣り合う共有演算ユニットを接続したことを特徴とする情報処理装置。

請求項2

請求項1に記載の情報処理装置であって、前記単位構成要素内では複数の主体は所定の位置に配置され、前記共有演算ユニットは、更新する主体の位置を指定するカウンタを有し、当該カウンタの値を更新することで、前記複数の主体のうちのひとつの値を順次更新することを特徴とする情報処理装置。

請求項3

請求項1に記載の情報処理装置であって、前記単位構成要素内では複数の主体は所定の位置に配置され、前記更新する主体の位置を前記共有演算ユニットごとに指定するカウンタを有し、当該カウンタの値を更新することで、前記複数の主体のうちのひとつの値を順次更新することを特徴とする情報処理装置。

請求項4

請求項2に記載の情報処理装置であって、隣り合う前記共有演算ユニットのカウンタの値を比較する検査部を有し、前記検査部は、同一の値を検出するとエラーの発生を判定することを特徴とする情報処理装置。

請求項5

請求項1に記載の情報処理装置であって、前記共有演算ユニットは、前記複数の主体の全ての値を更新するまでを1演算サイクルとし、前記1演算サイクルの最初に乱数を生成し、前記1演算サイクルの間は前記生成した乱数を供給する乱数発生器を有することを特徴とする情報処理装置。

請求項6

請求項1に記載の情報処理装置であって、前記共有演算ユニットは、前記複数の主体に乱数を供給する乱数発生器を有し、前記乱数発生器は、値を更新する主体に対して前記乱数を供給し、他の主体に対する乱数の供給を間引くことを特徴とする情報処理装置。

請求項7

請求項1に記載の情報処理装置であって、前記共有演算ユニットは、前記複数の主体の全ての値を更新するまでを1演算サイクルとし、前記1演算サイクルの最初に乱数を生成し、前記1演算サイクルの間は前記生成した乱数を供給する乱数発生器を有し、前記乱数発生器は、値を更新する主体に対して前記乱数を供給し、他の主体に対する乱数の供給を間引くことを特徴とする情報処理装置。

請求項8

請求項1に記載の情報処理装置であって、前記共有演算ユニットは、前記主体毎のバイアスを保持する係数記憶部を有することを特徴とする情報処理装置。

請求項9

プロセッサと、メモリと、複数の主体間の相互作用モデルを模擬する情報処理装置と、を有する計算機システムであって、前記情報処理装置を制御する制御部を有し、前記情報処理装置は、前記主体のうち、隣接して配置され、かつ、同時に値を更新しない主体を一つの単位構成要素とし、当該単位構成要素内の前記主体を相互に接続し、前記単位構成要素は、前記主体のうちのひとつの値を順次更新する共有演算ユニットを含み、前記共有演算ユニットのうち、隣り合う共有演算ユニットを接続したことを特徴とする計算機システム。

請求項10

請求項9に記載の計算機システムであって、前記情報処理装置は、前記単位構成要素内では複数の主体が所定の位置に配置され、前記共有演算ユニットは、更新する主体の位置を指定するカウンタを有し、当該カウンタの値を更新することで、前記複数の主体のうちのひとつの値を順次更新することを特徴とする計算機システム。

請求項11

請求項9に記載の計算機システムであって、前記情報処理装置は、前記単位構成要素内では複数の主体が所定の位置に配置され、前記更新する主体の位置を前記共有演算ユニットごとに指定するカウンタを有し、当該カウンタの値を更新することで、前記複数の主体のうちのひとつの値を順次更新することを特徴とする計算機システム。

請求項12

請求項10に記載の計算機システムであって、前記情報処理装置は、隣り合う前記共有演算ユニットのカウンタの値を比較する検査部を有し、前記検査部は、同一の値を検出するとエラーの発生を判定することを特徴とする計算機システム。

請求項13

請求項9に記載の計算機システムであって、前記共有演算ユニットは、前記複数の主体の全ての値を更新するまでを1演算サイクルとし、前記1演算サイクルの最初に乱数を生成し、前記1演算サイクルの間は前記生成した乱数を供給する乱数発生器を有することを特徴とする計算機システム。

請求項14

請求項9に記載の計算機システムであって、前記共有演算ユニットは、前記複数の主体に乱数を供給する乱数発生器を有し、前記乱数発生器は、値を更新する主体に対して前記乱数を供給し、他の主体に対する乱数の供給を間引くことを特徴とする計算機システム。

請求項15

請求項9に記載の計算機システムであって、前記共有演算ユニットは、前記複数の主体の全ての値を更新するまでを1演算サイクルとし、前記1演算サイクルの最初に乱数を生成し、前記1演算サイクルの間は前記生成した乱数を供給する乱数発生器を有し、前記乱数発生器は、値を更新する主体に対して前記乱数を供給し、他の主体に対する乱数の供給を間引くことを特徴とする計算機システム。

請求項16

請求項9に記載の計算機システムであって、前記共有演算ユニットは、前記主体毎のバイアスを保持する係数記憶部を有することを特徴とする計算機システム。

技術分野

0001

本発明は、相互作用モデル模擬する情報処理装置に関する。

背景技術

0002

種々の物理現象社会現象は相互作用モデルで表現することができる。相互作用モデルとは、モデルを構成する複数個主体(entity)あるいはノード(node)と、主体間の相互作用、さらに必要であれば主体毎のバイアスで定義されるモデルである。物理学社会科学では種々のモデルが提案されているが、いずれも相互作用モデルの一形態であると解釈できる。

0003

相互作用モデルの特徴として、主体間の影響を2個の主体間の相互作用に限定している(2体間の相互作用)ことがあげられる。例えば、宇宙空間にある惑星の力学を考えてみると、惑星という主体の間に万有引力による相互作用がある点で相互作用モデルの一種とも解釈できるが、惑星間の影響は2個の惑星間にとどまらず、3個以上の惑星が互いに影響し合って複雑な挙動を示す(いわゆる3体問題や多体問題と言われる問題になる)。

0004

情報処理において用いられている相互作用モデルの例として、ニューラルネットワークイジングモデル、および、マルチエージェントシステムなどがある。

0005

ニューラルネットワークは生物の脳を模倣したモデルであり、複数個のニューロン(主体)がシナプス結合を介して相互作用している。

0006

イジングモデルは磁性体の振舞いを説明するための物理学のモデルであり、複数個のスピン(主体)が与えられた係数相互作用係数外部磁場係数)の元で相互作用している。

0007

マルチエージェントシステムは感染症の感染や建屋内での人流を模擬するなど、社会科学の分野で利用されているモデルである。自律的に稼働する複数のエージェントが互いに通信することで相互作用している。

0008

これらの相互作用モデルは、2個の主体間の関係の集合として記述できる。そのため、主体を頂点(vertex)、相互作用を辺(edge)としたグラフで記述されることも多い。

0009

近年、相互作用モデルと相似な構造を有する新しい原理コンピュータが提案されている。例えば、イジングモデルの構造を模したコンピュータ(特許文献1、特許文献2)やニューラルネットワークの構造を模したコンピュータがある。

0010

これらのコンピュータに共通する特徴として、主体(イジングモデルのスピンやニューラルネットワークのニューロン)を模擬する素子回路単位構成要素とし、半導体基板上に単位構成要素を大量に並べて形成していることがあげられる。そのため、この種のコンピュータのスケーラビリティを高めるためには、単位構成要素に要する物量を削減するか、半導体基板の面積をより大きく必要がある。

0011

特許文献1では、イジングモデルのスピン1個に対応したスピンユニットと呼ばれる単位構成要素を複数個2次元平面上に配置したスピンアレイを半導体基板上に形成している。そして、イジングモデルにおいて隣接スピンは同時に更新しないように、スピンアレイ内のスピンユニットをグループ分けして、一度に同時に更新するのは1つのグループだけにする制御を行っている。

0012

特許文献2では、イジングモデルのスピン1個に対応したスピンセルと呼ばれる単位構成要素を複数個、半導体基板上に集積している。そして、スピンセルが有する多数決論理電流的な加算を用いることで、回路の効率化、すなわち、スピンセルの半導体基板上での占有面積の削減を図っている。

先行技術

0013

国際公開第2015/132883号
国際公開第2016/035171号

発明が解決しようとする課題

0014

特許文献1、2では、相互作用モデルの主体1個に単位構成要素1個が対応するため、より大きな相互作用モデルをサポートするために必要なハードウェアの物量が増加する。また、主体間の相互作用が密になると、単位構成要素間の接続に必要な物量も増加する。そのため、特許文献1、2に記載があるような格子状の相互作用の実現は可能であっても、いくつかの主体間が全対全(all to all)で結合するような密な結合の実現か困難であった。

0015

本発明は上記のような課題に鑑みて成されたものであり、複数の主体間が全対全で結合するような密な結合を、従来例よりも少ないハードウェアの物量で実現することを目的としている。さらに、相互作用モデルが有する主体の数が増えたときに、主体数の増加に伴うハードウェアの物量の増加の度合いを、従来例よりも軽減することを目的としている。

課題を解決するための手段

0016

本発明は、複数の主体を有して、前記主体間の相互作用モデルを模擬する情報処理装置であって、前記主体のうち、隣接して配置され、かつ、同時に値を更新しない主体を一つの単位構成要素とし、当該単位構成要素内の前記主体を相互に接続し、前記単位構成要素は、前記主体のうちのひとつの値を順次更新する共有演算ユニットを含み、前記共有演算ユニットのうち、隣り合う共有演算ユニットを接続する。

発明の効果

0017

本発明によれば、性能や精度への悪影響を生じること無く、単位構成要素の物量を削減することが出来る。そのため、情報処理装置のスケーラビリティを高めることが出来る。

0018

上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。

図面の簡単な説明

0019

本発明の第1の実施例を示し、計算機システムの構成の一例を示すブロック図である。
本発明の第1の実施例を示し、情報処理装置の構成の一例を示すブロック図である。
本発明の第1の実施例を示し、共有演算ユニットプレーンの構成の一例を示す図である。
本発明の第1の実施例を示し、情報処理装置が模擬する相互作用モデルであるイジングモデルの一例を説明する図である。
本発明の第1の実施例を示し、共有演算ユニットの構成の一例を示すブロック図である。
本発明の第1の実施例を示し、更新色計数部の構成の一例を示すブロック図である。
本発明の第1の実施例を示し、次状態演算回路の構成の一例を示すブロック図である。
本発明の第1の実施例を示し、係数メモリの構成の一例を示す図である。
本発明の第1の実施例を示し、次状態群記憶部の構成の一例を示すブロック図である。
本発明の第1の実施例を示し入出力プレーンの構成の一例を示すブロック図である。
本発明の第1の実施例を示し、乱数供給プレーンの構成の一例を示すブロック図である。
本発明の第1の実施例を示し、情報処理装置において、同時に更新するスピンのグループを示す図である。
本発明の第1の実施例を示し、情報処理装置の時刻t=0における更新色係数部の初期値を示す図である。
本発明の第1の実施例を示し、情報処理装置の時刻t=1における更新色係数部の値を示す図である。
本発明の第1の実施例を示し、情報処理装置の時刻t=2における更新色係数部の値を示す図である。
本発明の第1の実施例を示し、情報処理装置の時刻t=3における更新色係数部の値を示す図である。
本発明の第1の実施例を示し、情報処理装置の時刻t=4における更新色係数部の値を示す図である。
本発明の第1の実施例を示し、情報処理装置を制御する、制御プログラムフローチャートである。
本発明の第1の実施例の変形例を示し、共有演算ユニットにエラー検査を付加した構成を示した図である。
本発明の第1の実施例の変形例を示し、縦方向エラー検査プレーンの構成の一例を示すブロック図である。
本発明の第2の実施例を示し、情報処理装置の構成の一例を示すブロック図である。
本発明の第2の実施例を示し、更新色係数部の構成の一例を示すブロック図である。
本発明の第2の実施例を示し、共有演算ユニットの構成の一例を示すブロック図である。
本発明の第2の実施例を示し、共有演算ユニットプレーンの構成を示す図である。
本発明の第1の実施例を示し、情報処理装置の時刻t=0におけるスピンの更新状態を示す図である。

0020

以下、本発明の実施形態を添付図面に基づいて説明する。

0021

実施例1は、相互作用モデルの一種であるイジングモデルと相似な構造を持ち、イジングモデルを模擬する情報処理装置に本発明を適用した場合の実施の形態を示す。以下、相互作用モデルにおける主体をスピン、主体間の相互作用の力の大きさを示す情報を相互作用係数として実施の形態を説明する。なお、イジングモデルに関する説明については特許文献1を参照されたい。

0022

図1は、イジングモデルを模擬(シミュレート)する情報処理装置100を含んだ、情報処理システム全体の構成を示すブロック図である。情報処理装置100はイジングモデルという相互作用モデルを模擬する専用計算機である。そのため、情報処理装置100の制御も含めて、全体の制御は汎用性を有するホスト計算機1700が担う。ホスト計算機1700はユーザの端末1780からの要求に応じて情報処理を行い、その一部分を情報処理装置100にオフロードする。

0023

ホスト計算機1700のCPU1720は主記憶1730上の制御プログラム1790を実行して、情報処理装置100を制御する。制御プログラム1790は二次記憶1760から主記憶1730に予めロードされてCPU1720によって実行されている。

0024

ユーザは端末1780を介して、ホスト計算機1700を利用する。ホスト計算機1700はNIC(Network Interface Card)1730を有しており、LAN (Local Area Network)1731に接続されている。そのため、LAN経由でホスト計算機1700と情報処理装置100を利用することも可能である。

0025

I/Oインタフェース111は例えばPCIExpress(PCI ExpressはPCI−SIGの登録商標である)のようなインタフェースであり、情報処理装置100とそれを制御するホスト計算機1700との間のデータ転送媒体となる。CPU1720はシステムバス1750を経由して、I/Oコントローラ1710を制御することで、I/Oインタフェース111上に所望のトランザクションを発生させる。例えば、CPU1720が情報処理装置100からデータを取得したい場合には、読出しのトランザクションをI/Oコントローラ1710に発生させる。また、CPU1720が情報処理装置100にデータを渡したい場合には、書込みのトランザクションをI/Oコントローラ1710に発生させる。

0026

図2は、イジングモデルを模擬する情報処理装置100の構成を示す図である。本実施例1では、図1の情報処理装置100は、図4のイジングモデル600を模擬するものとする。

0027

イジングモデル600は、全対全で相互作用を授受する4個のスピン(0〜3)を2次元格子状に並べている。この4個のスピン1組を、完全グラフ状のトポロジで接続されることから、K4スピン群と称す。K4スピン群間はK4スピン群の中で同じ位置にあるスピン、すなわち図4で示すように、同じ番号のスピン同士が2次元格子状に接続される。

0028

前記従来例では、イジングモデル600のスピン1個に対して1個の単位構成要素を用意して、単位構成要素間を実線点線で示した接続関係に沿って接続していた。このような構成で、K4スピン群のような全対全接続を実現しようとすると、大量の配線を必要とするため情報処理装置100のスケーラビリティを低下させるという課題があった。

0029

そこで、本発明では主体(本実施例ではスピン)を模擬するために必要なリソースを、複数の主体間で共有する共有演算ユニット500で構成することで、ハードウェアの物量を削減し、スケーラビリティを高める。

0030

イジングモデル600を構成するK4スピン群のそれぞれを共有演算ユニット500で実現する。そして、共有演算ユニット500を図3のように複数個接続して、イジングモデル600全体を模擬する共有演算ユニットプレーン200を構成する。

0031

情報処理装置100は、共有演算ユニットプレーン200を中心に、データの入出力や制御を行うコンポーネントで構成される。バスマスタ110はホスト計算機1700からの要求に応じて、情報処理装置100内の各コンポーネントが有する記憶装置へのデータの読み書きを行う。

0032

入出力プレーン300は、バスマスタ110からのデータ転送要求を共有演算ユニットプレーン200が有する複数の共有演算ユニット500のうち、該当するものに伝送する。また、入出力プレーン300は、信号線112を介して複数の共有演算ユニット500からのデータを集約し、バスマスタ110に伝送する。

0033

乱数供給プレーン400は、共有演算ユニット500で用いる乱数を供給する。乱数制御部120は乱数供給プレーン400を制御する。そのため、乱数制御部120にはホスト計算機1700から乱数に関する各種パラメータを設定する。パラメータとしては、例えば、疑似乱数シードや、疑似乱数発生器が発生した乱数と比較する閾値などがある。なお、乱数は疑似乱数に限定されるものではなく、ノイズなどのランダムな物理現象を用いるようにしても良い。

0034

相互作用制御部130は共有演算ユニットプレーン200内の相互作用を制御する。具体的には、相互作用制御部130はホスト計算機1700から指定された回数の相互作用を共有演算ユニットプレーン200に行わせる。そのために、更新要求線131を所定の回数、アサートする。また、ホスト計算機1700は、相互作用の演算を行うスピンのグループ(彩色)を相互作用制御部130に指令する。

0035

図3は共有演算ユニットプレーン200の構成を示す図である。図4のイジングモデル600と対応するように、共有演算ユニット500を2次元格子状に配置している。なお、本例は4×4=16個の共有演算ユニット500から構成されているが、そのいずれもハードウェアとしては同一のものであることに注意されたい。つまり、同一の回路(共有演算ユニット500)を繰り返し形成している。今後、共有演算ユニットに共通した事柄について言及するときには、「共有演算ユニット500」として参照する。そして、繰り返し形成した個々のインスタンスについて言及するときには、「U(x座標位置、y座標位置)」として参照する。なお、図3において左右方向の位置をx座標とし、上下方向の位置をy座標とする。

0036

共有演算ユニット500は共通の更新要求線131が接続される。共有演算ユニット500は更新要求線131がアサートされている期間、相互作用を行う。

0037

図2で示したように、共有演算ユニットプレーン200は、乱数供給プレーン400および入出力プレーン300と接続されている。その接続は個々のU(x、y)に対してそれぞれ接続されている。これにより、個々のU(x、y)に対する乱数の供給や、データの入出力を実現している。図中、丸、四角三角の図形が、更新要求線131、入出力線150、乱数供給線160を示し、共有演算ユニット500U(0,0)〜U(3,3)のそれぞれに接続されている。

0038

共有演算ユニットプレーン200内でのU(x、y)の接続は、図4のイジングモデル600において点線で示されている相互作用に沿っている。

0039

本実施例では、4個のスピンを一つの共有演算ユニット500で構成し、隣り合う共有演算ユニット500同士を図3で示すように接続することで、図4のイジングモデル600のように、隣り合う共有演算ユニット500のスピンを論理的に接続する。

0040

すなわち、図4において、共有演算ユニット500のスピン(0)は、左右の共有演算ユニット500のスピン(0)と、下方の共有演算ユニット500のスピン(0)と論理的に接続される。

0041

図5は共有演算ユニット500の構成の一例を示すブロック図である。本実施例では共有演算ユニット500はユニット1個で主体(スピン)4個を模擬する。

0042

次状態演算回路530は、ある1個のスピンの次の状態を決定するための演算回路である。その入力は、当該スピンに隣接するスピンの値、隣接するスピンとの相互作用係数、当該スピンのバイアス(外部磁場係数)の3種である。

0043

例えば、図3において、U(2、2)のスピン2を更新する場合を考える。このスピンに隣接(直接接続)するスピンは、U(2、2)のスピン0、1、3と、隣のU(2、1)のスピン2と、U(1、2)のスピン2と、U(3、2)のスピン2と、U(2、3)のスピン2である。

0044

イジングモデル600の場合には一般化するとU(x、y)のスピンnを更新するときに、隣接しているスピンはU(x、y)のスピンn以外のスピンと、U(x、y−1)のスピンn、U(x−1、y)のスピン、U(x+1、y)のスピンn、U(x、y+1)のスピンnである。

0045

隣接するスピン数の合計は、この場合同一のU(x、y)内の3スピンと、上下左右の4方向に隣接する4スピンを合わせて、最大7スピンである。つまり、次状態演算回路530は、スピンの値7個と、相互作用係数7個、外部磁場係数1個を入力として、スピンの値1個を生成する。

0046

なお、次状態演算回路530は乱数供給プレーン400から乱数供給線160で供給された乱数も演算に使っている。

0047

状態群記憶部540は、U(x、y)が所管する4個のスピン(0〜3)の状態を保持する。この4個のスピンの値は、隣接するU(x、y−1)、U(x−1、y)、U(x+1、y)、U(x、y+1)の4つの共有演算ユニット500に供給されると共に、次状態演算回路530の入力ともなる。

0048

逆に、U(x、y)は隣接するU(x、y−1)、U(x−1、y)、U(x+1、y)、U(x、y+1)の4つの共有演算ユニット500から、それぞれが保持するスピンの値の供給を受けている。U(x、y)のスピンnを更新するときには、隣接する4つの共有演算ユニット500から供給されているそれぞれ4スピン(スピン0〜3)のうち、n番目のスピンを選択して次状態演算回路に入力する。そのために、共有演算ユニット500はマルチプレクサ550〜553を有している。

0049

係数メモリ520は、U(x、y)のスピン0〜3を更新するために必要な係数(相互作用係数および外部磁場係数)を保持している。

0050

更新色計数部510は、U(x、y)が保持しているスピン0〜3のうち、あるタイミング(クロックサイクルまたは所定の周期)ではどのスピンを更新するかを決定するカウンタとして機能する。更新色計数部510の決定内容(スピンの番号)は、更新番号線511で、次状態演算回路530、自状態群記憶部540、および、係数メモリ520に指示される。

0051

共有演算ユニット500は、後述するように、ひとつのクロックサイクルでは、ひとつのスピンについて値の更新を実行し、隣り合う共有演算ユニット500では異なるスピンについて値の更新を実行する。このため、本実施例では、同一のクロックサイクルで更新するスピンをグループ化したものを「色」として説明する。

0052

図6は更新色計数部510の構成の一例を示すブロック図である。更新色レジスタ1300は、現在更新するスピンの番号を保持する。本実施例の場合、2ビットレジスタとして構成する。

0053

加算器1310は更新色レジスタ1300で現在記憶している値に1を加算する。なお、オーバーフローする場合には0に戻る。

0054

マルチプレクサ1320は、更新要求線131で更新要求がある場合には、更新色レジスタ1300に加算器の出力を書き込むようにデータパスを制御する。また、更新要求が無い場合には更新色レジスタ1300の現在の値を保持するようにデータパスを制御する。また、入出力線150経由で更新色レジスタ1300へのデータ書込み要求があった場合には、そのデータを更新色レジスタ1300に書き込むようにデータパスを制御する。

0055

上記の制御によって更新色計数部510は、更新色レジスタ1300の値を更新番号線511へ出力する。

0056

図7は次状態演算回路530の構成を示したブロック図である。次状態演算回路530では、隣接するスピンとの相互作用を計算し、更新番号線511で指定されるスピンの次状態を決定するために、隣接するスピンの値と係数メモリ520から取得した係数(係数0〜7)の乗算を行い、その結果を非線形関数演算部1410に入力する。

0057

非線形関数演算部1410は乱数供給線160で供給される乱数も演算に利用する。非線形関数演算部1410の出力は更新番号線511で指定したスピンの次状態である。

0058

本実施例の場合、次状態演算回路530は、最大7個の隣接スピンとの相互作用と1個のバイアス(外部磁場)をスピンの次状態を決定するために計算しなければならない。外部磁場の影響は、常に値が+1のスピンとの相互作用と捉えることが出来る。そこで、マルチプレクサ1420〜1423を設けて、更新番号線511で指定された番号のスピンの値に関しては、自状態群記憶部540からの値ではなく、マルチプレクサ1420〜1423内で固定値+1の信号を生成して後段演算器に入力する。これにより、相互作用の演算回路を流用して、外部磁場の効果も反映させることが出来るのである。

0059

非線形関数演算部1410の出力は、自状態群記憶部540へ出力され、演算されたスピンnの値が更新される。

0060

図8は係数メモリ520の構成を示した図である。係数メモリ520は次状態演算回路530で一回の演算に必要となる係数を1ワードに並べ、そのワードを自状態群記憶部540が保持するスピン数分だけアドレス方向に並べた構造を有している。n番目のスピンを更新する際に必要な係数をアドレスnに格納している。

0061

ワード内ビットフィールドの位置と係数との関係に関しては図8に示した通りである。なお、前述した次状態演算回路530のマルチプレクサ1420〜1423の状態から、更新番号線511でn番目のスピンの更新が指示されている時、自状態nとの相互作用係数は外部磁場係数と読み替えることになる。

0062

つまり、n番目のスピンを更新するとき、次状態演算回路530は更新番号線511でnという数が指定され、係数メモリ520からアドレスnの1ワードを読出して利用する。その時、当該ワード内の自状態nとの相互作用係数は、マルチプレクサ1420〜1423の処理で固定値+1との相互作用となるため、実質的にはn番目スピンの外部磁場係数として作用するのである。例えば2番目のスピンを更新するときには、係数2が外部磁場係数となる。

0063

係数メモリ520は、次状態演算回路530に係数を共有するために、更新要求線131がアサートされている期間は常に更新番号線511で示されるアドレスを読み出せなければならない。そして、ホスト計算機1700から入出力プレーン300を経由して係数を書き込むために、書込みポートを必要とする。そのため、図示はしないが1つのR/Wのポート最低でも必要である。

0064

さらに、ホスト計算機1700から係数を読みだそうとする場合には、更新要求線131がアサートされていない期間に読みだすなどの排他制御調停を必要とする。もしくは、2つのReadと1つのWriteなどより多ポートメモリとする方法がある。

0065

なお、各スピンに対応する係数0〜3には当該スピンに対するバイアスを保持することができる。

0066

図9は自状態群記憶部540の構成の一例を示すブロック図である。スピン0〜3の状態を保持するために、それぞれ自状態0レジスタ1610〜自状態3レジスタ1613を有する。スピンは−1と+1の2値であるから、各レジスタは1ビットのフリップフロップとして実装される。

0067

自状態0レジスタ1610〜自状態3レジスタ1613(これ以降、自状態レジスタ群と称する)は常に読出し可能でなければならない。また、ホスト計算機1700から入出力プレーン300を経由して初期値の書込みを行うために、マルチプレクサ1620を有している。ホスト計算機1700は入出力プレーン300を経由して自状態レジスタ群を読みだすことで、情報処理装置100の処理結果を得る。

0068

更新番号線511で指定されるスピンの値を選択的に更新するため、自状態レジスタ群の前段にはマルチプレクサ1630〜1633が配置される。上記の構成により次状態演算回路530で演算されたスピンnの値が、自状態レジスタ群の一つに保持される。

0069

図10は入出力プレーン300の構成の一例を示すブロック図である。入出力プレーン300は、U(x、y)と対応するようにバススレーブS(x、y)を有している。バススレーブS(x、y)の役割は、バスマスタ110から信号線112を介して共有演算ユニット500へのアクセスのうち、対応するU(x、y)へのアクセスに応答することである。

0070

なお、本例ではバススレーブS(x、y)間をデイジーチェーン状に配線している。一般的に、共有演算ユニット500へのデータ転送に要する時間と比べて、共有演算ユニット500が相互作用を行っている時間のほうが、全体の処理時間の中で支配的である。そのため、データ転送性能よりも配線物量の削減を重視した例としてデイジーチェーン状の配線例を示した。なお、本実施例1では、デイジーチェーンの例を示したが、これに限定されるものではなく、バススレーブS(x、y)とバスマスタ110をそれぞれ接続するようにしてもよい。

0071

図11は乱数供給プレーン400の構成の一例を示すブロック図である。乱数供給プレーン400の役割は、共有演算ユニットU(x、y)のそれぞれに乱数を供給することにある。そのため、乱数供給プレーン400は複数個の乱数発生器410を有する。これらの乱数発生器410はそれぞれR(x、y)と呼ぶ。

0072

本実施例1ではU(x、y)が4×4=16個あるが、R(x、y)を4個設けて、ひとつの乱数発生器R(x、y)に4つのU(x、y)が接続される例を示す。各乱数発生器R(x、y)には、信号線121を介して乱数制御部120から同一のパラメータが与えられる。

0073

なお、図11に示した例は乱数発生器410の数を削減して、複数のU(x、y)でひとつのR(x、y)共有する構成とした例であるが、これに限定されるものではなく、例えば、R(x、y)とU(x、y)を1対1に対応させる構成でも良い。

0074

また、本実施例では、ひとつの共有演算ユニット500を、4つのスピンで共有する構成としたので、乱数発生器410は最初のクロックサイクルで乱数の発生を行えばよく、残りの3回のクロックサイクルでは、最初のクロックサイクルで生成した乱数を供給するだけで良い。これにより、乱数発生器410の稼働頻度を低減して消費電力を削減することができる。

0075

また、乱数発生器410は共有演算ユニット500と必ずしも1対1に対応しなくても良い。例えば図11のように1個の乱数発生器410が4個の共有演算ユニット500に乱数を供給しても良い。

0076

このとき、4個の共有演算ユニット500は同じ乱数で演算を行うことになる。しかし、全ての共有演算ユニット500は、図12の接続関係で直接接続されているスピンを同時に更新することは無い。

0077

つまり、図12の接続関係で直接接続されているスピンの演算で、同時に同じ乱数が使われることは無い。仮に、共有演算ユニット500の全てに対して1個しか乱数発生器410が無い場合でも同様であり、直接接続されているスピンの演算で、同時に同じ乱数が使われることは無い。

0078

図12は情報処理装置100において、同時に更新するスピンのグループを示す図である。図12ではイジングモデル600を構成するスピンの値を適切に更新するために、同時に更新して良い組合せを、スピンに色を割当てることで表現した図である。図面の都合上、色はY(Yellow、黄色)、G(Green、緑色)、B(Blue、青色)、P(Purple、紫色)という記号で示している。

0079

スピンの値を更新するとき、イジングモデル600で隣接している(図4または図12で線が接続されている)スピンの値は同時に更新しない。すなわち、図12(または図4)において、直接接続されているスピンは、相互作用の不要な変動を避けるために同時に値を更新しない。この条件を満たすように各スピンを彩色すると、例えば図12に示すような彩色になる。なお、この彩色は、同一の彩色が、同一のクロックサイクルで値を更新するスピンのグループを示す。なお、スピンのグループ分け(彩色)は、制御プログラム1790等が予め設定したものである。

0080

情報処理装置100はこの彩色を満たすように、同一の彩色(グループ)単位でスピンの値を更新していく必要がある。例えば、ある時刻では黄色のスピンを更新し、次の時刻(クロックサイクル)では緑色のスピンを更新していくというように、更新すべき色を逐次変えていって、スピン全体を更新する。すなわち、本実施例ではひとつの共有演算ユニットU(x、y)が4つのスピンで共有されるので、4クロックサイクルで1つの演算サイクルの更新が完了することになる。

0081

この制御を担うのが、既に説明した更新色計数部510の役割である。その処理の一例に関して、図13図17を用いて説明する。

0082

図13は、U(x、y)それぞれの更新色計数部510の初期値(時刻t=0の時点)を示した図である。c=0、c=1、c=2、c=3と表示しているのが、更新色レジスタ1300(図6)が保持している値である。この初期値はホスト計算機1700が相互作用制御部130を介して指令した値が書き込まれる。

0083

初期値は、図12の例ではU(x、y)のスピン0番の色に応じて、黄色であればc=0、紫色であればc=1、青色であればc=2、緑色であればc=3という設定としている。この初期値は計算式で表現することもできる。ホスト計算機1700であれば、c=(2*y+x)mod4として算出する。

0084

図13の初期値では、図12において黄色(Y)で示したスピンを更新することになる。すなわち、共有演算ユニットU(x、y)では、図25で示すようにスピンの値が更新される。

0085

図25は、時刻t=0におけるスピンの更新状態を示す図である。時刻t=0では、彩色が黄色のスピンのグループが更新される。図13のU(0,0)はc=0であるので、図25において、U(0、0)のスピン番号=0番(図中(Y))の値が更新される。同様にU(0、0)の右隣のU(1、0)ではc=1であるので、スピン番号=1番の値が更新される。U(0、0)の下隣のU(0、1)ではc=2であるので、スピン番号=2番の値が更新される。

0086

このように、互いに隣り合う共有演算ユニットU(x,y)では、図4図12において直接接続されるスピンが同一の時刻tで更新されないように、更新される彩色(グループ)が設定される。

0087

時刻t=0で黄色のグループのスピンの更新が完了した後、更新色レジスタ1300の値は1を加算された値になる。その様子(時刻t=1の時点)を図14に示す。

0088

図14の更新色計数部510に基づくと、図12において緑色で示されているスピンを更新することになる。同様に、図15(時刻t=2)では青色のスピンが更新され、図16(時刻t=3)では紫色のスピンが更新される。

0089

さらに進んで図17(時刻t=4)では色が一巡して初期状態(時刻t=0)と同じ黄色のスピンの更新に戻る。この図13図14図15図16図17図13)の処理をクロックサイクル毎に繰り返して行くことで、共有演算ユニット500は図12に示した同時に更新可能なスピンの色(グループ)の条件を満たしつつ、更新を進めていくことが出来る。

0090

図18は上記したような一連の処理を実現するために、ホスト計算機1700のCPU1720で実行される制御プログラム1790の処理の一例を示すフローチャートである。図18のフローチャートに基づく処理の一例は以下の通りである。

0091

テップ1801では、CPU1720は主記憶1730にロードされた制御プログラム1790を開始する。

0092

ステップ1802では、ユーザ端末1780を介して処理が情報処理装置100で処理したい相互作用のモデルをホスト計算機1700に入力する。この場合、相互作用のモデルとしてイジングモデル600をユーザは入力する。

0093

ステップ1803では、CPU1720はステップ1802でユーザが入力したイジングモデルを解析し、イジングモデルを構成する相互作用係数および外部磁場係数を情報処理装置100に入力する。具体的には、CPU1720がU(x、y)のそれぞれの係数メモリ520に係数を書き込む。

0094

ステップ1804では、CPU1720がイジングモデル600のスピンの初期値を生成して、情報処理装置100に入力する。具体的には、U(x、y)のそれぞれの自状態群記憶部540に、ランダムに生成したスピンの値を書き込む。

0095

ステップ1805では、CPU1720が疑似乱数のシードや疑似乱数と比較する閾値など、乱数に関連するパラメータを生成し、乱数制御部120に書き込む。

0096

ステップ1806では、CPU1720が相互作用の回数を決定し、相互作用制御部130に書き込む。

0097

ステップ1807では、CPU1720が同時に更新可能なスピンの彩色に基づき、U(x、y)の更新色レジスタ1300に更新の彩色(グループ)を書き込む。

0098

ステップ1808では、CPU1720が相互作用制御部130に、相互作用の開始を指示する書込みを行う。

0099

ステップ1809では、CPU1720が相互作用制御部130の状態を読出し、ステップ1808で開始を指示した所定回数の相互作用が完了するまで待つ。

0100

ステップ1810では、CPU1720が相互作用の完了を待った後に、U(x、y)のスピンの値を読みだす。

0101

ステップ1811では、CPU1720が制御プログラム1790を終了する。

0102

前記従来例と比較した本発明の特徴は、1個の主体を更新する次状態演算回路530を、複数(本例では4個)の主体で共有するところにある。そして、1個の次状態演算回路530を共有する4個のスピンは、図12において異なる色に彩色されているスピン、すなわち同時に更新することが出来ないスピンである。このように次状態演算回路530を複数の主体で共有することで、性能や精度へのペナルティを引き起こすこと無く、次状態演算回路530の物量を節約することが出来る。

0103

特に完全グラフ状のトポロジで接続されているスピン群は、そのうちいずれか1個しかある時刻には更新出来ない。それにも関わらず、従来のように単位構成要素1個とスピン1個を対応させるような構成では、同時に稼働しない大量の回路を半導体基板上に生じてしまい効率が悪い。

0104

さらに本発明では、図12に示した同時に更新可能なスピンのグループと、同時に更新不可能なスピンの制約を守った上で、情報処理装置100が稼働するために必要な制御を、更新色計数部510の処理と、更新色レジスタ1300への適切な初期値の設定で行っている点が特徴的である。

0105

これにより、図12の制約を順守するために必要な処理は、同時に更新可能なスピンのグループを最初に適切な初期値として与えれば、ハードウェアとしてはU(x、y)がそれぞれ個々に加算器1310でカウントアップするという単純な回路で実現することが出来る。複数のU(x、y)間で相互作用時に通信などをすること無く、図12の制約を順守できるのである。

0106

なお、更新色レジスタ1300の値が相互作用中(スピンの更新中)にノイズ等の影響で変化してしまい、正常に相互作用出来ていないことを検出したいという、エラー検査に対する要求がある。そのような要求を満たすための実施の形態を併せて説明する。

0107

図19は、実施例1の変形例を示し、共有演算ユニット500にエラー検査を付加した構成を示すブロック図である。また、図19は、実施例1の変形例を示し、縦方向エラー検査プレーン2000の構成の一例を示すブロック図である。

0108

まず、図19に示す共有演算ユニット500のように、更新色計数部510から更新色レジスタ1300の値を更新色検査線1910として共有演算ユニット500の外部に出力する。そして、図20に示す縦方向エラー検査プレーン2000のように、U(x、y)のそれぞれの更新色検査線1910を収集して、エラー検査を行う。

0109

図20の縦方向エラー検査プレーン2000では、図3において縦方向に隣接するU(x、y)とU(x、y+1)の更新色検査線1910の出力を比較器2010で比較する。もし比較器2010の2つの入力が同一の値であれば、比較器2010は「1」を出力し、そうでなければ「0」を出力する。比較器2010の出力が「1」であれば、エラーの発生を示し、上下方向で隣接する共有演算ユニット500が同一のスピン番号で更新を行うことを示す。

0110

これらの比較器2010の出力を論理和回路2020及び論理和回路2030で収集して、縦方向エラー検出2050として出力する。

0111

図20は縦方向に同じ更新色になっていないかのエラー検査であったが、同様に横方向で隣接するU(x、y)とU(x+1、y)の検査を行う回路を構成することが出来る。

0112

なお、本実施例は相互作用モデルの一種であるイジングモデル600を模擬する情報処理装置100の例を示したが、容易にニューラルネットワークを模擬する情報処理装置に適用することができる。イジングモデルとニューラルネットワークの対応関係に関しては、特開2008−269593号公報に記載があるので参考にされたい。

0113

本発明の情報処理装置100をニューラルネットワークに適用する場合には、ニューラルネットワークの非同期更新を本実施例1のように行う。その際、自状態0レジスタ1601〜自状態3レジスタ1613が記憶する値は、ニューロンが発火しているか否かを示す値となる。さらに、係数メモリ520が記憶する係数は、シナプス結合の重みとなる。また、非線形関数演算部1410で行われる演算は、前段の乗算器の出力の総和を取り、その結果にシグモイド関数などの非線形関数を作用させるものとなる。

0114

以上のように、本実施例1の情報処理装置100では、同時に更新できない複数の主体でひとつの共有演算ユニット500を共有する1個の単位構成要素を設定し、図3で示したように二次元格子状に共有演算ユニット500(単位構成要素)を接続することで、主体(スピン)を全対全で接続する場合に比して、配線などに要するハードウェアの物量を低減することができる。

0115

そして、ひとつの共有演算ユニット500を共有する複数の主体を、クロックサイクル毎に順次値を更新する。この更新は、図12で示したように、隣り合う共有演算ユニット500では同一番号のスピンの更新を禁止するグループ(彩色)毎に実施する。

0116

これにより、物理的には共有演算ユニット500同士が接続されているが、同時に更新できないスピンのグループをクロックサイクル毎に更新することで、図4で示したように、各スピンを全対全で論理的に接続したことと等価となる。したがって、演算性能や精度に悪影響を与えることなく、ハードウェアの物量を削減することが出来、情報処理装置100のスケーラビリティを向上させることが可能となる。

0117

また、縦方向エラー検査プレーン2000を加えることで、エラーの発生を検出することが可能となって、情報処理装置100の信頼性を向上させることが可能となる。

0118

また、同時に更新しないスピンでひとつの共有演算ユニット500を共有する構成としたので、スピンの演算サイクルのうち最初の演算サイクルで発生または算出した乱数を共有演算ユニット500に与えればよい。このため、乱数発生器410はひとつの演算サイクルのうち最初の演算で乱数を生成すれば良いので、全てのクロックサイクルで乱数を発生させる場合に比して消費電力の低減を図ることが可能となる。

0119

また、上述のように時系列的に乱数の発生を間引くのに代わって、同時に更新しないスピンに対する乱数の供給を空間的に間引くようにしても良い。つまり、共有演算ユニット500では、更新するスピンに対して乱数発生器410からの乱数を供給し、他のスピンに対しては乱数の供給を間引くようにしてもよい。また、上述のように時系列的に乱数の発生を間引くのに加え、同時に更新しないスピンに対する乱数の空間的な間引きを組み合わせても良い。すなわち、最初の演算サイクルで乱数発生器410が乱数を発生してから値を更新するスピンに乱数を順次供給し、同時に更新しないスピンへの乱数の供給を間引くことができる。

0120

実施例2は、実施例1において、共有演算ユニット500内に更新色計数部510を持たせていたものを共有演算ユニットプレーン200の外部へ移動し、全ての共有演算ユニット500で共有する実施の形態を示す。以下の説明は、前記実施例1との差分で説明する。

0121

図21は実施例2における情報処理装置100の構成の一例を示すブロック図である。実施例2では、更新色計数部を共有演算ユニット間で共有し、情報処理装置100内に1個の更新色計数部2110を有する。

0122

更新色計数部2110は、バスマスタ110と相互作用制御部130からの入力を受け、更新対象のスピンを決定する更新番号線2120、2121、2122、2123を共有演算ユニットプレーン200に接続する。

0123

図22は実施例2における更新色計数部2110の構成の一例を示すブロック図である。基本的な構成は前記実施例1の図6に示した更新色計数部510と共通であるが、さらに2個の加算器2220、2230と、合計4本の更新番号線2120〜2123を有している。加算器1310は入力に+1を加算し、加算器2220、2230はそれぞれ+2、+3を加算する。つまり、更新番号線2120を基準とした時に、更新番号線2121、2122、2123はそれぞれ+1、+2、+3された値が出力される。

0124

この更新番号線2120〜2123を、図12に示すような同時に更新するスピンの制約を満たすように、図23の共有演算ユニット2300に接続していく。図23は、共有演算ユニットの構成の一例を示すブロック図である。共有演算ユニット2300は、前記実施例1の共有演算ユニット500から更新色計数部510を取り除き、外部から更新番号線2310を入力するものである。なお、更新番号線2310は、更新番号線2120〜2123のいずれかひとつを示す符号である。

0125

図24は、共有演算ユニットプレーンの構成の一例を示すブロック図である。図24に示すように、共有演算ユニットプレーン2400上で、U(x、y)の更新番号線2310のそれぞれに、更新番号線2120〜2123のうち、適切なものを接続していく。その接続に関しては更新色計数部2210の更新色レジスタ1300の値が0であるときに、図13の初期状態で示されているU(x、y)の更新色が各ユニットに供給されていれば良い。紙幅の都合で、図24上に図示することが困難であるため、以下に接続関係を記す。

0126

U(0、0)に更新番号線2120、U(1、0)に更新番号線2121、U(2、0)に更新番号線2122、U(3、0)に更新番号線2123、U(0、1)に更新番号線2122、U(1、1)に更新番号線2123、U(2、1)に更新番号線2120、U(3、1)に更新番号線2121というように結線する。

0127

これにより、実施例1と比較して更新色計数部2110を1個に集約することができ、さらなる物量削減を図ることができるのである。

0128

<まとめ>
なお、前記実施例1、2では、本発明を2次元の相互作用モデルに適用した例を示したが、これに限定されるものではなく、3次元の相互作用モデルに適用しても良い。この場合、共有演算ユニット500を3次元の格子状に配置して、隣り合う共有演算ユニット500を相互に接続すればよい。

0129

また、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。

0130

また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスクSSD(Solid State Drive)等の記録装置、または、ICカードSDカード、DVD等の記録媒体に置くことができる。

実施例

0131

また、制御線情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。

0132

100情報処理装置
120乱数制御部
130相互作用制御部
200共有演算ユニットプレーン
300入出力プレーン
400乱数供給プレーン
500 共有演算ユニット
510更新色計数部
520係数メモリ
530次状態演算回路
540 自状態群記憶部
600イジングモデル
1300 更新色レジスタ
1310加算器
1610〜1613 自状態0レジスタ〜自状態3レジスタ
1700ホスト計算機
1790 制御プログラム

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ