JP7266602B2 - ニューラルネットワークプロセッサに対する統合メモリ構造 - Google Patents
ニューラルネットワークプロセッサに対する統合メモリ構造 Download PDFInfo
- Publication number
- JP7266602B2 JP7266602B2 JP2020532976A JP2020532976A JP7266602B2 JP 7266602 B2 JP7266602 B2 JP 7266602B2 JP 2020532976 A JP2020532976 A JP 2020532976A JP 2020532976 A JP2020532976 A JP 2020532976A JP 7266602 B2 JP7266602 B2 JP 7266602B2
- Authority
- JP
- Japan
- Prior art keywords
- storage
- data
- target
- private
- processing units
- 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.)
- Active
Links
- 238000013528 artificial neural network Methods 0.000 title description 22
- 238000012545 processing Methods 0.000 claims description 127
- 210000000352 storage cell Anatomy 0.000 claims description 96
- 210000004027 cell Anatomy 0.000 claims description 38
- 238000000034 method Methods 0.000 claims description 25
- 238000004891 communication Methods 0.000 claims description 13
- 238000012546 transfer Methods 0.000 claims description 3
- 239000013598 vector Substances 0.000 description 9
- 238000013135 deep learning Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000012884 algebraic function Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0692—Multiconfiguration, e.g. local and global addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/54—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Memory System (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
[001] 本開示は、2017年12月22日に出願された米国仮特許出願第62/610,119号及び2018年5月18日に出願された米国特許出願第15/984,255号への優先権の利益を主張し、同特許出願の全内容は、参照により本明細書に組み込まれる。
[002] 画像認識、言語/音声認識及び機械翻訳などのニューラルネットワークに基づくディープラーニングアプリケーションの急激な成長と共に、日用品の中央処理装置/グラフィックス処理ユニット(CPU/GPU)に基づくプラットフォームは、性能、電力効率及び経済拡張性の観点から、もはや、ますます高まる演算需要のサポートに適した演算基板ではない。ニューラルネットワークに基づくディープラーニングアプリケーションを加速させるためのニューラルネットワークプロセッサの開発は、既成のチップメーカー、新興企業及びインターネット大企業を含む多くのビジネス部門にわたってかなりの勢いを増している。単一命令複数データ(SIMD)アーキテクチャは、ディープラーニングのアプリケーションに対する計算を加速させるためにチップに適用することができる。
[006] この開示の実施形態は、統合メモリ装置を提供する。統合メモリ装置は、統合記憶媒体を含むことができ、統合記憶媒体は、データを格納するように構成された第1の複数の記憶セルを有する第1の記憶モジュールであって、第1の複数の記憶セルが、一意的なセル識別子によって識別される、第1の記憶モジュールと、データを格納するように構成された第2の複数の記憶セルを有する第2の記憶モジュールであって、第2の複数の記憶セルが、一意的なセル識別子によって識別される、第2の記憶モジュールとを含む。また、統合メモリアーキテクチャは、統合記憶媒体と通信する処理ユニットも含み得る。処理ユニットは、第1の複数の記憶セルのうちの1つから第1の入力データを受信し、第2の複数の記憶セルのうちの1つから第2の入力データを受信し、第1及び第2の入力データに基づいて出力データを生成するように構成することができる。
[018] ここでは、例示的な実施形態を詳細に参照し、その例は、添付の図面に示される。以下の説明は、添付の図面を参照し、添付の図面では、異なる図面の同じ番号は、別段の表現がない限り、同じ又は同様の要素を表す。例示的な実施形態の以下の説明に記載される実装形態は、本発明と一致するすべての実装形態を表すわけではない。代わりに、それらの実装形態は、添付の特許請求の範囲に記述されるように、本発明に関連する態様と一致する装置及び方法の単なる例である。
A=sigmoid(b+X*W1) (方程式1)
これは、ディープラーニングアルゴリズムにおいて呼び出される場合が多いニューラルネットワークの層200における代表的な演算である。方程式1を参照すると、「b」は、一定の値を含み得、「X」は、共有入力オペランド274を含み得、「W1」は、プライベート入力オペランド272を含み得る。
a1=sigmoid(b+x1*W111+x2*W121+x3*W131+x4*W141) (方程式2)
a2=sigmoid(b+x1*W112+x2*W122+x3*W132+x4*W142) (方程式3)
a3=sigmoid(b+x1*W113+x2*W123+x3*W133+x4*W143) (方程式4)
a4=sigmoid(b+x1*W114+x2*W124+x3*W134+x4*W144) (方程式5)
i1:LOAD.SIMD OP1 0×0_00
i2:LOAD.SHARED OP2 0×0_F0
i3:MUL RESULT OP1 OP2
i4:STORE.SIMD RESULT 0×0_F1
Claims (27)
- 統合記憶媒体と、
複数の処理ユニットを備え、前記統合記憶媒体と通信する処理アレイと、
を含むコンピュータシステムであって、
前記統合記憶媒体が、データを格納するように構成された複数の記憶セルをそれぞれ有する複数の記憶モジュールを含み、
前記複数の記憶モジュールのそれぞれが、プライベート記憶モジュール又は共有記憶モジュールとしてアドレス指定可能であり、
前記複数の記憶モジュールのそれぞれに含まれる前記複数の記憶セルのそれぞれが、一意的なセル識別子によって識別され、
前記処理アレイが、前記複数の処理ユニットのそれぞれに、
前記複数の記憶モジュールに含まれる前記複数の記憶セルのうちのターゲット記憶セルから入力データを受信することと、
前記受信した入力データに基づいて出力データを生成することと、
を行わせることにより、前記複数の処理ユニット上で命令を実行するように構成され、
前記ターゲット記憶セルの属性は、前記命令が前記入力データをプライベートデータとして読み取ることを示す場合、単一の処理ユニットに対してデータを供給することを示すプライベート属性に切り替えられ、前記命令が前記入力データを共有データとして読み取ることを示す場合、複数の処理ユニットに対してデータを供給することを示す共有属性に切り替えられる、コンピュータシステム。 - 記憶セルの前記一意的なセル識別子が、第1の複数のビットと、第2の複数のビットとを含むビットアドレスを含む、請求項1に記載のコンピュータシステム。
- 前記第1の複数のビットが、前記複数の記憶モジュールのターゲット記憶モジュールを示し、前記第2の複数のビットが、前記ターゲット記憶モジュール内の前記複数の記憶セルのターゲット記憶セルを示す、請求項2に記載のコンピュータシステム。
- 前記命令は、ターゲットの一意的なセル識別子の参照情報と、前記ターゲットの一意的なセル識別子の参照情報がプライベート参照情報であるか又は共有参照情報であるかを示す参照属性とを含む、請求項2又は3に記載のコンピュータシステム。
- 前記複数の記憶モジュールが、前記複数の処理ユニットと通信するように構成される、請求項1~4のいずれか一項に記載のコンピュータシステム。
- 前記参照属性が、前記ターゲットの一意的なセル識別子の参照情報が共有参照情報であることを示し、
前記処理アレイが、前記ターゲットの一意的なセル識別子によって識別されるターゲット記憶セルから入力データを取得し、前記複数の処理ユニットに前記取得した入力データをブロードキャストするように、さらに構成される、請求項4に記載のコンピュータシステム。 - 前記複数の処理ユニットのそれぞれが、対応する記憶モジュールを有し、
前記参照属性が、前記ターゲットの一意的なセル識別子の参照情報がプライベート参照情報であることを示し、
前記処理アレイが、前記複数の処理ユニットのそれぞれに、
前記ターゲットの一意的なセル識別子を用いて、処理ユニットごとの対応する記憶モジュール内のターゲット記憶セルから入力データを取得すること、を行わせるようにさらに構成される、請求項4に記載のコンピュータシステム。 - 前記処理アレイが、前記複数の処理ユニットのそれぞれに、1つの記憶モジュールを割り当てるようにさらに構成される、請求項5に記載のコンピュータシステム。
- データを格納するように構成された複数の記憶セルをそれぞれ有する複数の記憶モジュールを含み、
前記複数の記憶モジュールのそれぞれが、プライベート記憶モジュール又は共有記憶モジュールとしてアドレス指定可能であり、
前記複数の記憶モジュールのそれぞれに含まれる前記複数の記憶セルのそれぞれが、一意的なセル識別子によって識別され、
前記複数の記憶セルのターゲット記憶セルの属性は、アクセス命令が入力データをプライベートデータとして読み取ることを示す場合、単一の処理ユニットに対してデータを供給することを示すプライベート属性に切り替えられ、前記アクセス命令が入力データを共有データとして読み取ることを示す場合、複数の処理ユニットに対してデータを供給することを示す共有属性に切り替えられる、統合記憶媒体。 - 記憶セルの前記一意的なセル識別子が、第1の複数のビットと、第2の複数のビットとを含むビットアドレスを含む、請求項9に記載の統合記憶媒体。
- 前記第1の複数のビットが、前記複数の記憶モジュールのターゲット記憶モジュールを示し、前記第2の複数のビットが、前記ターゲット記憶モジュール内の前記複数の記憶セルのターゲット記憶セルを示す、請求項10に記載の統合記憶媒体。
- 前記アクセス命令は、ターゲットの一意的なセル識別子の参照情報と、前記ターゲットの一意的なセル識別子の参照情報がプライベート参照情報であるか又は共有参照情報であるかを示す参照属性とを含む、請求項11に記載の統合記憶媒体。
- 前記複数の記憶モジュールが、複数の処理ユニットと通信するように構成される、請求項12に記載の統合記憶媒体。
- 前記複数の処理ユニットのそれぞれが、対応する記憶モジュールを有し、
前記参照属性が、前記ターゲットの一意的なセル識別子の参照情報がプライベート参照情報であることを示し、
前記複数の処理ユニットが、前記ターゲットの一意的なセル識別子を用いて、処理ユニットごとの対応する記憶モジュール内のターゲット記憶セルから入力データを取得することにより、前記アクセス命令を実行するように構成される、請求項13に記載の統合記憶媒体。 - 前記複数の処理ユニットのそれぞれに、1つの記憶モジュールが割り当てられる、請求項13に記載の統合記憶媒体。
- コンピュータシステムにおいてデータを構造化するための方法であって、
複数の処理ユニットを備えかつ統合記憶媒体と通信する処理アレイにおいて、命令を受信することであって、
前記統合記憶媒体は、データを格納するように構成された複数の記憶セルをそれぞれ有する複数の記憶モジュールを含み、
前記複数の記憶モジュールのそれぞれが、プライベート記憶モジュール又は共有記憶モジュールとしてアドレス指定可能であり、
前記複数の記憶モジュールのそれぞれに含まれる前記複数の記憶セルのそれぞれが、一意的なセル識別子によって識別される、ことと、
前記複数の処理ユニットにおいて、前記複数の記憶モジュールに含まれる前記複数の記憶セルのうちのターゲット記憶セルから入力データを受信すること、及び前記受信した入力データに基づいて出力データを生成することを行うことにより、前記複数の処理ユニット上で前記受信した命令を実行することと、
を含み、
前記ターゲット記憶セルの属性は、前記命令が前記入力データをプライベートデータとして読み取ることを示す場合、単一の処理ユニットに対してデータを供給することを示すプライベート属性に切り替えられ、前記命令が前記入力データを共有データとして読み取ることを示す場合、複数の処理ユニットに対してデータを供給することを示す共有属性に切り替えられる、方法。 - 記憶セルの前記一意的なセル識別子が、第1の複数のビットと、第2の複数のビットとを含むビットアドレスを含む、請求項16に記載の方法。
- 前記第1の複数のビットが、前記複数の記憶モジュールのターゲット記憶モジュールを示し、前記第2の複数のビットが、前記ターゲット記憶モジュール内の前記複数の記憶セルのターゲット記憶セルを示す、請求項17に記載の方法。
- 前記命令は、ターゲットの一意的なセル識別子の参照情報と、前記ターゲットの一意的なセル識別子の参照情報がプライベート参照情報であるか又は共有参照情報であるかを示す参照属性とを含む、請求項18に記載の方法。
- 前記複数の処理ユニットのそれぞれが、対応する記憶モジュールを有し、
前記参照属性が、前記ターゲットの一意的なセル識別子の参照情報がプライベート参照情報であることを示し、
前記複数の処理ユニット上で前記受信した命令を実行することが、前記複数の処理ユニットのそれぞれについて、前記ターゲットの一意的なセル識別子を用いて、処理ユニットごとの対応する記憶モジュール内のターゲット記憶セルから入力データを取得することを含む、請求項19に記載の方法。 - 前記複数の記憶モジュールが、前記複数の処理ユニットと通信するように構成される、請求項16に記載の方法。
- 統合記憶媒体においてデータを構造化するための方法であって、
前記統合記憶媒体上に格納されるデータを伝えることを含み、
前記統合記憶媒体は、データを格納するように構成された複数の記憶セルをそれぞれ有する複数の記憶モジュールを含み、
前記複数の記憶モジュールのそれぞれが、プライベート記憶モジュール又は共有記憶モジュールとしてアドレス指定可能であり、
前記複数の記憶モジュールのそれぞれに含まれる前記複数の記憶セルのそれぞれが、一意的なセル識別子によって識別され、
前記複数の記憶セルのターゲット記憶セルの属性は、アクセス命令が入力データをプライベートデータとして読み取ることを示す場合、単一の処理ユニットに対してデータを供給することを示すプライベート属性に切り替えられ、前記アクセス命令が入力データを共有データとして読み取ることを示す場合、複数の処理ユニットに対してデータを供給することを示す共有属性に切り替えられる、方法。 - 前記統合記憶媒体上に格納されるデータを伝えることが、前記複数の記憶モジュール内の前記複数の記憶セルの1つ又は複数から、前記統合記憶媒体と通信する複数の処理ユニットへ、入力データを伝えることを含み、
前記複数の処理ユニットが、前記統合記憶媒体から伝えられた前記入力データを受信し、前記受信した入力データに基づいて出力データを生成するように構成される、請求項22に記載の方法。 - 記憶セルの前記一意的なセル識別子が、第1の複数のビットと、第2の複数のビットとを含むビットアドレスを含む、請求項23に記載の方法。
- 前記第1の複数のビットが、前記複数の記憶モジュールのターゲット記憶モジュールを示し、前記第2の複数のビットが、前記ターゲット記憶モジュール内の前記複数の記憶セルのターゲット記憶セルを示す、請求項24に記載の方法。
- 前記アクセス命令は、ターゲットの一意的なセル識別子の参照情報と、前記ターゲットの一意的なセル識別子の参照情報がプライベート参照情報であるか又は共有参照情報であるかを示す参照属性とを含む、請求項25に記載の方法。
- 前記複数の処理ユニットのそれぞれが、対応する記憶モジュールを有し、
前記参照属性が、前記ターゲットの一意的なセル識別子の参照情報がプライベート参照情報であることを示し、
前記複数の処理ユニットが、前記ターゲットの一意的なセル識別子を用いて、処理ユニットごとの対応する記憶モジュール内のターゲット記憶セルから入力データを受信することにより、前記アクセス命令を実行するように構成される、請求項26に記載の方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762610119P | 2017-12-22 | 2017-12-22 | |
US62/610,119 | 2017-12-22 | ||
US15/984,255 | 2018-05-18 | ||
US15/984,255 US11436143B2 (en) | 2017-12-22 | 2018-05-18 | Unified memory organization for neural network processors |
PCT/US2018/067301 WO2019126758A1 (en) | 2017-12-22 | 2018-12-21 | A unified memory organization for neural network processors |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2021507383A JP2021507383A (ja) | 2021-02-22 |
JP2021507383A5 JP2021507383A5 (ja) | 2022-01-11 |
JP7266602B2 true JP7266602B2 (ja) | 2023-04-28 |
Family
ID=66949585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020532976A Active JP7266602B2 (ja) | 2017-12-22 | 2018-12-21 | ニューラルネットワークプロセッサに対する統合メモリ構造 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11436143B2 (ja) |
EP (1) | EP3729279A4 (ja) |
JP (1) | JP7266602B2 (ja) |
CN (1) | CN111630502B (ja) |
WO (1) | WO2019126758A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11783167B1 (en) | 2018-04-20 | 2023-10-10 | Perceive Corporation | Data transfer for non-dot product computations on neural network inference circuit |
US11205115B1 (en) | 2018-04-20 | 2021-12-21 | Perceive Corporation | Neural network inference circuit |
US11568227B1 (en) | 2018-04-20 | 2023-01-31 | Perceive Corporation | Neural network inference circuit read controller with multiple operational modes |
US11531868B1 (en) | 2018-04-20 | 2022-12-20 | Perceive Corporation | Input value cache for temporarily storing input values |
US11586910B1 (en) * | 2018-04-20 | 2023-02-21 | Perceive Corporation | Write cache for neural network inference circuit |
US10977338B1 (en) | 2018-04-20 | 2021-04-13 | Perceive Corporation | Reduced-area circuit for dot product computation |
US11995533B1 (en) | 2018-12-05 | 2024-05-28 | Perceive Corporation | Executing replicated neural network layers on inference circuit |
FR3089649A1 (fr) * | 2018-12-06 | 2020-06-12 | Stmicroelectronics (Rousset) Sas | Procédé et dispositif de détermination de la taille mémoire globale d’une zone mémoire globale allouée aux données d’un réseau de neurones |
FR3094104A1 (fr) | 2019-03-20 | 2020-09-25 | Stmicroelectronics (Rousset) Sas | Procédé et dispositif de détermination de la taille mémoire globale d’une zone mémoire globale allouée aux données d’un réseau de neurones compte tenu de sa topologie |
US11941533B1 (en) | 2019-05-21 | 2024-03-26 | Perceive Corporation | Compiler for performing zero-channel removal |
CN113204478B (zh) * | 2021-04-06 | 2022-05-03 | 北京百度网讯科技有限公司 | 测试单元的运行方法、装置、设备和存储介质 |
KR20230168574A (ko) | 2022-06-07 | 2023-12-14 | 리벨리온 주식회사 | 뉴럴 프로세싱 장치의 공유 페이지 테이블 사용 방법 및 피지컬 페이지 할당 방법 |
KR102509472B1 (ko) * | 2022-06-07 | 2023-03-14 | 리벨리온 주식회사 | 뉴럴 프로세싱 장치 및 그의 공유 페이지 테이블 사용 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001290699A (ja) | 2000-04-10 | 2001-10-19 | Matsushita Electric Ind Co Ltd | デュアルポートramアクセス装置 |
JP6250780B1 (ja) | 2016-12-01 | 2017-12-20 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | キャッシュメモリ又はニューラルネットワークユニットメモリとして動作可能なメモリアレイを有するプロセッサ |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02292684A (ja) * | 1989-05-06 | 1990-12-04 | Takayama:Kk | 画像認識システム |
US5956703A (en) * | 1995-07-28 | 1999-09-21 | Delco Electronics Corporation | Configurable neural network integrated circuit |
US7073044B2 (en) * | 2001-03-30 | 2006-07-04 | Intel Corporation | Method and apparatus for sharing TLB entries |
GB2419005B (en) | 2002-04-22 | 2006-06-07 | Micron Technology Inc | Providing a register file memory with local addressing in a SIMD parallel processor |
GB2417105B (en) | 2004-08-13 | 2008-04-09 | Clearspeed Technology Plc | Processor memory system |
GB0623276D0 (en) * | 2006-11-22 | 2007-01-03 | Transitive Ltd | Memory consistency protection in a multiprocessor computing system |
US8271763B2 (en) | 2009-09-25 | 2012-09-18 | Nvidia Corporation | Unified addressing and instructions for accessing parallel memory spaces |
US8990506B2 (en) * | 2009-12-16 | 2015-03-24 | Intel Corporation | Replacing cache lines in a cache memory based at least in part on cache coherency state information |
US8868848B2 (en) * | 2009-12-21 | 2014-10-21 | Intel Corporation | Sharing virtual memory-based multi-version data between the heterogenous processors of a computer platform |
US8982140B2 (en) * | 2010-09-24 | 2015-03-17 | Nvidia Corporation | Hierarchical memory addressing |
US9274960B2 (en) * | 2012-03-20 | 2016-03-01 | Stefanos Kaxiras | System and method for simplifying cache coherence using multiple write policies |
US9009419B2 (en) * | 2012-07-31 | 2015-04-14 | Advanced Micro Devices, Inc. | Shared memory space in a unified memory model |
CN104756078B (zh) * | 2012-08-20 | 2018-07-13 | 唐纳德·凯文·卡梅伦 | 处理资源分配的装置和方法 |
US9563425B2 (en) * | 2012-11-28 | 2017-02-07 | Intel Corporation | Instruction and logic to provide pushing buffer copy and store functionality |
US9733995B2 (en) * | 2014-12-17 | 2017-08-15 | Intel Corporation | Scalable synchronization mechanism for distributed memory |
EP3035204B1 (en) | 2014-12-19 | 2018-08-15 | Intel Corporation | Storage device and method for performing convolution operations |
US10324861B2 (en) * | 2015-02-05 | 2019-06-18 | Eta Scale Ab | Systems and methods for coherence in clustered cache hierarchies |
US9940287B2 (en) * | 2015-03-27 | 2018-04-10 | Intel Corporation | Pooled memory address translation |
GB2543520B (en) | 2015-10-20 | 2019-06-19 | Advanced Risc Mach Ltd | Memory access instructions |
US20170060736A1 (en) * | 2015-12-09 | 2017-03-02 | Mediatek Inc. | Dynamic Memory Sharing |
-
2018
- 2018-05-18 US US15/984,255 patent/US11436143B2/en active Active
- 2018-12-21 EP EP18890583.0A patent/EP3729279A4/en active Pending
- 2018-12-21 WO PCT/US2018/067301 patent/WO2019126758A1/en unknown
- 2018-12-21 CN CN201880074349.6A patent/CN111630502B/zh active Active
- 2018-12-21 JP JP2020532976A patent/JP7266602B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001290699A (ja) | 2000-04-10 | 2001-10-19 | Matsushita Electric Ind Co Ltd | デュアルポートramアクセス装置 |
JP6250780B1 (ja) | 2016-12-01 | 2017-12-20 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | キャッシュメモリ又はニューラルネットワークユニットメモリとして動作可能なメモリアレイを有するプロセッサ |
Also Published As
Publication number | Publication date |
---|---|
JP2021507383A (ja) | 2021-02-22 |
EP3729279A1 (en) | 2020-10-28 |
EP3729279A4 (en) | 2021-03-03 |
WO2019126758A1 (en) | 2019-06-27 |
CN111630502A (zh) | 2020-09-04 |
US20190196970A1 (en) | 2019-06-27 |
US11436143B2 (en) | 2022-09-06 |
CN111630502B (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7266602B2 (ja) | ニューラルネットワークプロセッサに対する統合メモリ構造 | |
US11693657B2 (en) | Methods for performing fused-multiply-add operations on serially allocated data within a processing-in-memory capable memory device, and related memory devices and systems | |
US5784632A (en) | Parallel diagonal-fold array processor | |
JP7264897B2 (ja) | メモリ装置及びそれを制御するための方法 | |
US4621339A (en) | SIMD machine using cube connected cycles network architecture for vector processing | |
JP2009514070A (ja) | 局所キャッシュとしてシフトレジスタを使用する論理シミュレーション用のハードウェア加速システム | |
US10970043B2 (en) | Programmable multiply-add array hardware | |
US11921814B2 (en) | Method and device for matrix multiplication optimization using vector registers | |
Chen et al. | BRAMAC: Compute-in-BRAM Architectures for Multiply-Accumulate on FPGAs | |
CN111656319B (zh) | 利用特定数检测的多流水线架构 | |
CN112906877A (zh) | 用于执行神经网络模型的存储器架构中的数据布局有意识处理 | |
CN116431214A (zh) | 一种用于可重构深度神经网络加速器的指令集装置 | |
CN115373744A (zh) | 基于risc-v的拓展vm指令集编码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211130 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221130 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230222 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230404 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230418 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7266602 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |