JP2023527770A - メモリにおける推論 - Google Patents
メモリにおける推論 Download PDFInfo
- Publication number
- JP2023527770A JP2023527770A JP2022570688A JP2022570688A JP2023527770A JP 2023527770 A JP2023527770 A JP 2023527770A JP 2022570688 A JP2022570688 A JP 2022570688A JP 2022570688 A JP2022570688 A JP 2022570688A JP 2023527770 A JP2023527770 A JP 2023527770A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- subset
- data
- processing system
- memory module
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1041—Resource optimization
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Memory System (AREA)
- Multi Processors (AREA)
- Executing Machine-Instructions (AREA)
- Stored Programmes (AREA)
- Advance Control (AREA)
- Image Processing (AREA)
Abstract
Description
本出願は、その内容全体が参照により本明細書に組み込まれている、2020年5月26日に出願された米国特許出願第16/883,869号の利益および優先権を主張する。
図1は、メモリ統合アクセラレータ104を含む拡張メモリモジュール102の例を示す。
図2は、図1に関して説明された102などの、拡張メモリモジュールを含む例示的な処理システム200を示す。
図3A~図3Cは、拡張メモリモジュール(たとえば、図1の102および図2の224A-B)のための例示的なメモリ割り振り構成を示す。
図4は、拡張メモリモジュール上の計算コアメモリ素子(たとえば、図1の102、図2の224A-B、および図3A~図3Cの302)にデータを転送するための例示的な方法を示す。
図5は、拡張メモリモジュール(たとえば、図1の102、図2の224A-B、および図3A~図3Cの302)上の計算コアからデータを転送するための例示的な方法500を示す。たとえば、方法500は、データの処理が図4のステップ416において完了した後で実行されてもよい。
図6は、拡張メモリモジュール上で計算コアを用いてデータを処理するための例示的な方法600を示す。たとえば、拡張メモリモジュール(たとえば、図1の102、図2の224A-B、および図3A~図3Cの302)の計算コアを用いてデータを処理することは、図4に関して上で説明されたように拡張メモリモジュール上の計算コアメモリ素子にデータを転送した後に行われてもよい。処理対象のデータは、アプリケーション、センサ、他のプロセッサなどによって生成されてもよい。たとえば、処理対象のデータは、画像、ビデオ、または音声データを備えてもよい。
拡張メモリモジュール(たとえば、図1の102または図2の224A-Bまたは図3A-Cの302)と対話するために、拡張メモリプロトコルが実装されてもよい。いくつかの実施形態では、拡張メモリプロトコルは、電子素子技術連合評議会(JEDEC: Joint Electron Device Engineering Council)プロトコルに基づく、またはその拡張であってもよい。
図7は、拡張メモリモジュール(たとえば、図1の102、図2の224A-B、および図3A~図3Cの302)を構築するための例示的な方法700を示す。
図8は、拡張メモリモジュール(たとえば、図1の102、図2の224A-B、図3A~図3Cの302)を含む処理システムのための例示的なメモリマッピングを示す。
図9は、計算コア(たとえば、図1の108)を備える拡張メモリモジュール(たとえば、図1の102、図2の224A-B、および図3A~図3Cの302)を用いてデータを処理するための例示的な方法900を示す。いくつかの実施形態では、計算コアは、図1の104などのメモリ統合アクセラレータの一部であってもよい。いくつかの実施形態では、計算コアは、複数の個々の処理コアなどの、複数の処理要素を備えてもよい。いくつかの実施形態では、拡張メモリモジュールは、負荷低減デュアルインラインメモリモジュール(LRDIMM)を備える。
図10は、たとえば図4~図6および図9に関して本明細書において説明されたように、拡張メモリモジュールを用いてデータ処理を実行するように構成されてもよい例示的な電子デバイス1000を示す。いくつかの実施形態では、電子デバイス1000はサーバコンピュータを備えてもよい。
以下の番号付き条項において実装の例が説明される。
前述の説明は、本明細書において説明される様々な実施形態を任意の当業者が実践できるようにするために提供される。本明細書において説明される例は、特許請求の範囲に記載された範囲、適用可能性、または実施形態を限定するものではない。これらの実施形態への様々な修正は当業者に容易に明らかになり、本明細書で定義される一般原理は他の実施形態に適用されてもよい。たとえば、本開示の範囲から逸脱することなく、説明する要素の機能および構成において変更が行われてもよい。様々な例は、適宜に、様々な手順または構成要素を省略してもよく、置換してもよく、または追加してもよい。たとえば、説明される方法は、説明される順序とは異なる順序で実行されてもよく、様々なステップが、追加されてもよく、省略されてもよく、または組み合わせられてもよい。また、いくつかの例に関して説明される特徴は、いくつかの他の例において組み合わせられてもよい。たとえば、本明細書に記載される任意の数の態様を使用して、装置が実装されてもよく、または方法が実践されてもよい。加えて、本開示の範囲は、本明細書に記載される本開示の様々な態様に加えて、またはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実践されるそのような装置または方法を包含することを意図している。本明細書において開示される本開示のいかなる態様も、請求項の1つまたは複数の要素によって具現化されてもよいことを理解されたい。
106 フラッシュメモリ
108 計算コア
110 メモリ素子
112 メモリ素子
114 メモリバッファ
116 ピン
200 処理システム
202 OSユーザ空間
204 モデル
206 データ
208 ML/AIアプリケーション
210 アクセラレータランタイムアプリケーション
212 OSカーネル空間
214 メモリドライバ
216 アクセラレータドライバ
218 CPU
220 メモリ管理ユニット
222 メモリコントローラ
224 拡張メモリモジュール
226 ドライバ
302 拡張メモリモジュール
306 フラッシュメモリ
308 計算コア
310 メモリ素子
312 メモリ素子
802 メモリマップ
804 メモリマップ
806 メモリマップ
808 メモリマップ
1000 電子デバイス
1002 中央演算ユニット(CPU)
1004 グラフィクス処理ユニット(GPU)
1006 デジタルシグナルプロセッサ(DSP)
1008 ニューラル処理ユニット(NPU)
1022 入力/出力デバイス
1024 メモリ
1024A 受信コンポーネント
1024B 記憶コンポーネント
1024C 転送コンポーネント
1024D 処理コンポーネント
1024E 送信(または提供)コンポーネント
1024F 初期化コンポーネント
1024G 割り振りコンポーネント
1024H 区分コンポーネント
1024I 計算コンポーネント
1024J フラッシュメモリコンポーネント
Claims (30)
- 拡張メモリモジュールであって、
計算コアと、
1つまたは複数のデュアルモードメモリ素子と
を備え、
前記拡張メモリモジュールが、
前記1つまたは複数のデュアルモードメモリ素子の中の第1のメモリのサブセットをホスト処理システムアドレス指定可能メモリとして、かつ前記1つまたは複数のデュアルモードメモリ素子の中の第2のメモリのサブセットを計算コアアドレス指定可能メモリとして割り振り、
ホスト処理システムからデータを受信し、
処理されたデータを生成するために前記計算コアを用いて前記データを処理し、
前記第1のメモリのサブセットを介して前記処理されたデータを前記ホスト処理システムに提供する
ように構成される、拡張メモリモジュール。 - 前記拡張メモリモジュールが、
前記第1のメモリのサブセットに前記受信されたデータを記憶し、
前記計算コアを用いて前記データを処理する前に前記第1のメモリのサブセットから前記第2のメモリのサブセットに前記受信されたデータを転送し、
前記計算コアを用いて前記データを処理した後に前記第2のメモリのサブセットから前記第1のメモリのサブセットに前記処理されたデータを転送するようにさらに構成される、請求項1に記載の拡張メモリモジュール。 - 前記第2のメモリのサブセットが、前記計算コアによる使用のために構成される1つまたは複数のシングルモードメモリをさらに備える、請求項1に記載の拡張メモリモジュール。
- 前記第1のメモリのサブセットおよび前記第2のメモリのサブセットを割り振るためのファームウェア命令を備えるフラッシュメモリモジュールをさらに備える、請求項1に記載の拡張メモリモジュール。
- 前記拡張メモリモジュールが、前記第1のメモリのサブセットから前記第2のメモリのサブセットに前記データを転送する前に、データの転送が行われていることを示すように、前記ホスト処理システムのデータバスをビジー状態に設定するようにさらに構成される、請求項1に記載の拡張メモリモジュール。
- 前記拡張メモリモジュールが、前記第1のメモリのサブセットから前記第2のメモリのサブセットに前記データを転送した後に、前記ホスト処理システムの前記データバスを利用可能状態に設定するようにさらに構成される、請求項5に記載の拡張メモリモジュール。
- 前記拡張メモリモジュールが、前記第1のメモリのサブセットから前記第2のメモリのサブセットに前記データを転送する前に、前記拡張メモリモジュールのためのホスト処理システムメモリコマンドのブロックを可能にするようにさらに構成される、請求項1に記載の拡張メモリモジュール。
- 前記拡張メモリモジュールが、前記第1のメモリのサブセットから前記第2のメモリのサブセットに前記データを転送した後に、前記拡張メモリモジュールのためのホスト処理システムメモリコマンドの前記ブロックを無効にするようにさらに構成される、請求項7に記載の拡張メモリモジュール。
- 前記データが、
機械学習モデルによる処理のためのデータと、
機械学習モデルパラメータと
を備える、請求項1に記載の拡張メモリモジュール。 - 前記拡張メモリモジュールが、デュアルインラインメモリモジュール(DIMM)を備える、請求項1に記載の拡張メモリモジュール。
- 前記拡張メモリモジュールが、
前記第1のメモリのサブセットおよび第2のメモリのサブセットの割り振りを解除し、
前記1つまたは複数のデュアルモードメモリ素子の中の第3のメモリのサブセットをホスト処理システムアドレス指定可能メモリとして、かつ前記1つまたは複数のデュアルモードメモリ素子の中の第4のメモリのサブセットを計算コアアドレス指定可能メモリとして割り振る
ようにさらに構成され、
前記第3のメモリのサブセットが前記第1のサブセットと異なり、
前記第4のメモリのサブセットが前記第2のサブセットと異なる、
請求項1に記載の拡張メモリモジュール。 - 計算コアを備える拡張メモリモジュールを用いてデータを処理するための方法であって、
前記拡張メモリモジュールの第1のメモリのサブセットをホスト処理システムアドレス指定可能メモリとして割り振り、前記拡張メモリモジュールの第2のメモリのサブセットを計算コアアドレス指定可能メモリとして割り振ることによって、前記拡張メモリモジュールを初期化するステップと、
ホスト処理システムから前記拡張メモリモジュールにおいてデータを受信するステップと、
前記拡張メモリモジュール上で前記計算コアを用いて前記データを処理して、処理されたデータを生成するステップと、
前記第1のメモリのサブセットを介して前記処理されたデータを前記ホスト処理システムに提供するステップと
を備える、方法。 - 前記第1のメモリのサブセットに前記受信されたデータを記憶するステップと、
前記計算コアを用いて前記データを処理する前に前記第1のメモリのサブセットから前記第2のメモリのサブセットに前記受信されたデータを転送するステップと、
前記計算コアを用いて前記データを処理した後に前記第2のメモリのサブセットから前記第1のメモリのサブセットに前記処理されたデータを転送するステップと
をさらに備える、請求項12に記載の方法。 - 前記第1のメモリのサブセットおよび前記第2のメモリのサブセットが1つまたは複数のデュアルモードメモリ素子と関連付けられる、請求項12に記載の方法。
- 前記拡張メモリモジュールを初期化するステップが、前記拡張メモリモジュール上のフラッシュメモリモジュールに記憶されたファームウェア命令を処理するステップを備える、請求項12に記載の方法。
- 前記第2のメモリのサブセットがさらに、前記計算コアによる使用のために構成される1つまたは複数のシングルモードメモリ素子と関連付けられる、請求項12に記載の方法。
- 前記第1のメモリのサブセットから前記第2のメモリのサブセットに前記データを転送する前に、データの転送が行われていることを示すように前記ホスト処理システムのデータバスをビジー状態に設定するステップをさらに備える、請求項13に記載の方法。
- 前記第1のメモリのサブセットから前記第2のメモリのサブセットに前記データを転送した後に、前記ホスト処理システムの前記データバスを利用可能状態に設定するステップをさらに備える、請求項17に記載の方法。
- 前記第1のメモリのサブセットから前記第2のメモリのサブセットに前記データを転送する前に、前記拡張メモリモジュールのためのホスト処理システムメモリコマンドのブロックを可能にするステップをさらに備える、請求項13に記載の方法。
- 前記第1のメモリのサブセットから前記第2のメモリのサブセットに前記データを転送した後に、前記拡張メモリモジュールのためのホスト処理システムメモリコマンドの前記ブロックを無効にするステップをさらに備える、請求項19に記載の方法。
- 前記データが、
機械学習モデルによる処理のためのデータと、
機械学習モデルパラメータと
を備える、請求項12に記載の方法。 - 前記拡張メモリモジュールが、デュアルインラインメモリモジュール(DIMM)を備える、請求項12に記載の方法。
- 前記第1のメモリのサブセットおよび第2のメモリのサブセットの割り振りを解除するステップと、
前記1つまたは複数のデュアルモードメモリ素子の中の第3のメモリのサブセットをホスト処理システムアドレス指定可能メモリとして割り振り、前記1つまたは複数のデュアルモードメモリ素子の中の第4のメモリのサブセットを計算コアアドレス指定可能メモリとして割り振るステップと
をさらに備え、
前記第3のメモリのサブセットが前記第1のサブセットと異なり、
前記第4のメモリのサブセットが前記第2のサブセットと異なる、
請求項12に記載の方法。 - ホスト処理システムの1つまたは複数のプロセッサによって実行されると、計算コアを備える拡張メモリモジュールを用いてデータを処理するための方法を前記ホスト処理システムに実行させる命令を備える、非一時的コンピュータ可読記録媒体であって、前記方法が、
前記拡張メモリモジュールの第1のメモリのサブセットをホスト処理システムアドレス指定可能メモリとして割り振り、前記拡張メモリモジュールの第2のメモリのサブセットを計算コアアドレス指定可能メモリとして割り振ることによって、前記拡張メモリモジュールを初期化するステップと、
前記ホスト処理システムから前記拡張メモリモジュールにおいてデータを受信するステップと、
前記拡張メモリモジュール上で前記計算コアを用いて前記データを処理して、処理されたデータを生成するステップと、
前記第1のメモリのサブセットを介して前記処理されたデータを前記ホスト処理システムに提供するステップと
を備える、非一時的コンピュータ可読記録媒体。 - 前記方法が、
前記第1のメモリのサブセットに前記受信されたデータを記憶するステップと、
前記計算コアを用いて前記データを処理する前に前記第1のメモリのサブセットから前記第2のメモリのサブセットに前記受信されたデータを転送するステップと、
前記計算コアを用いて前記データを処理した後に前記第2のメモリのサブセットから前記第1のメモリのサブセットに前記処理されたデータを転送するステップと
をさらに備える、請求項24に記載の非一時的コンピュータ可読記録媒体。 - 前記第1のメモリのサブセットおよび前記第2のメモリのサブセットが1つまたは複数のデュアルモードメモリ素子と関連付けられる、請求項24に記載の非一時的コンピュータ可読記録媒体。
- 前記第2のメモリのサブセットがさらに、前記計算コアによる使用のために構成される1つまたは複数のシングルモードメモリ素子と関連付けられる、請求項24に記載の非一時的コンピュータ可読記録媒体。
- 前記方法が、前記第1のメモリのサブセットから前記第2のメモリのサブセットに前記データを転送する前に、データの転送が行われていることを示すように前記ホスト処理システムのデータバスをビジー状態に設定するステップをさらに備える、請求項25に記載の非一時的コンピュータ可読記録媒体。
- 前記方法が、前記第1のメモリのサブセットから前記第2のメモリのサブセットに前記データを転送した後に、許可するように前記ホスト処理システムの前記データバスを利用可能状態に設定するステップをさらに備える、請求項28に記載の非一時的コンピュータ可読記録媒体。
- 前記方法が、
前記第1のメモリのサブセットから前記第2のメモリのサブセットに前記データを転送する前に、前記拡張メモリモジュールのためのホスト処理システムメモリコマンドのブロックを可能にするステップと、
前記第1のメモリのサブセットから前記第2のメモリのサブセットに前記データを転送した後に、前記拡張メモリモジュールのためのホスト処理システムメモリコマンドの前記ブロックを無効にするステップと
をさらに備える、請求項25に記載の非一時的コンピュータ可読記録媒体。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/883,869 US12056382B2 (en) | 2020-05-26 | 2020-05-26 | Inference in memory |
| US16/883,869 | 2020-05-26 | ||
| PCT/US2021/033436 WO2021242608A1 (en) | 2020-05-26 | 2021-05-20 | Inference in memory |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2023527770A true JP2023527770A (ja) | 2023-06-30 |
| JP2023527770A5 JP2023527770A5 (ja) | 2024-05-16 |
| JP7660141B2 JP7660141B2 (ja) | 2025-04-10 |
Family
ID=76641760
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022570688A Active JP7660141B2 (ja) | 2020-05-26 | 2021-05-20 | メモリにおける推論 |
Country Status (9)
| Country | Link |
|---|---|
| US (1) | US12056382B2 (ja) |
| EP (1) | EP4158485A1 (ja) |
| JP (1) | JP7660141B2 (ja) |
| KR (1) | KR20230015334A (ja) |
| CN (1) | CN115516436B (ja) |
| BR (1) | BR112022023193A2 (ja) |
| PH (1) | PH12022553472A1 (ja) |
| TW (1) | TWI881126B (ja) |
| WO (1) | WO2021242608A1 (ja) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2021232396A1 (en) * | 2020-05-22 | 2021-11-25 | Intel Corporation | Accelerating system boot times via host-managed device memory |
| US12504999B2 (en) * | 2022-06-10 | 2025-12-23 | Dell Products L.P. | LCS workload in-band service management system |
| WO2024058810A1 (en) * | 2022-09-15 | 2024-03-21 | Google Llc | Reducing memory bank conflicts in a hardware accelerator |
| US20240184464A1 (en) * | 2022-12-06 | 2024-06-06 | Macronix International Co., Ltd. | Method for operating memory device and memory device |
| US20240319880A1 (en) * | 2023-03-21 | 2024-09-26 | Micron Technology, Inc. | Compute express link dram + nand system solution |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10289151A (ja) * | 1997-04-11 | 1998-10-27 | Texas Instr Inc <Ti> | プロセッサおよびメモリモジュールのためのシステム信号方式 |
| JPH11149409A (ja) * | 1997-11-19 | 1999-06-02 | Hitachi Ltd | メモリコントローラおよびコンピュータシステム |
| JP2008052370A (ja) * | 2006-08-22 | 2008-03-06 | Elpida Memory Inc | 半導体記憶装置及び半導体装置 |
| JP2012234334A (ja) * | 2011-04-28 | 2012-11-29 | Toshiba Corp | メモリ装置 |
| US20160357703A1 (en) * | 2015-06-04 | 2016-12-08 | Fujitsu Limited | Parallel computing apparatus, compiling apparatus, and parallel processing method |
| JP2018073414A (ja) * | 2016-10-27 | 2018-05-10 | 三星電子株式会社Samsung Electronics Co.,Ltd. | プロセッサ、及び複数のメモリ装置を含む分散計算システム内のワークフローを制御する方法 |
| JP2019179411A (ja) * | 2018-03-30 | 2019-10-17 | 株式会社デンソー | 情報処理装置 |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011524049A (ja) | 2008-06-04 | 2011-08-25 | エヌイーシー ラボラトリーズ アメリカ インク | 超並列アクセラレータを使用して学習機械の訓練と分類とを並列化し高速化するシステム及び方法 |
| US8713379B2 (en) * | 2011-02-08 | 2014-04-29 | Diablo Technologies Inc. | System and method of interfacing co-processors and input/output devices via a main memory system |
| US8495654B2 (en) * | 2011-11-07 | 2013-07-23 | International Business Machines Corporation | Intranode data communications in a parallel computer |
| US8904068B2 (en) | 2012-05-09 | 2014-12-02 | Nvidia Corporation | Virtual memory structure for coprocessors having memory allocation limitations |
| CN103747274B (zh) * | 2013-12-18 | 2016-08-17 | 北京邮电大学 | 一种增设缓存集群的视频数据中心及其缓存资源调度方法 |
| US10025747B2 (en) * | 2015-05-07 | 2018-07-17 | Samsung Electronics Co., Ltd. | I/O channel scrambling/ECC disassociated communication protocol |
| EP4557209A3 (en) * | 2015-06-10 | 2025-08-13 | Mobileye Vision Technologies Ltd. | Image processor and methods for processing an image |
| KR101923661B1 (ko) * | 2016-04-04 | 2018-11-29 | 주식회사 맴레이 | 플래시 기반 가속기 및 이를 포함하는 컴퓨팅 디바이스 |
| US10521389B2 (en) * | 2016-12-23 | 2019-12-31 | Ati Technologies Ulc | Method and apparatus for accessing non-volatile memory as byte addressable memory |
| US10268389B2 (en) * | 2017-02-22 | 2019-04-23 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
| US10467159B2 (en) * | 2017-07-14 | 2019-11-05 | Arm Limited | Memory node controller |
| US11347643B2 (en) * | 2018-06-29 | 2022-05-31 | Intel Corporation | Control logic and methods to map host-managed device memory to a system address space |
| US10649927B2 (en) | 2018-08-20 | 2020-05-12 | Intel Corporation | Dual in-line memory module (DIMM) programmable accelerator card |
-
2020
- 2020-05-26 US US16/883,869 patent/US12056382B2/en active Active
-
2021
- 2021-05-20 JP JP2022570688A patent/JP7660141B2/ja active Active
- 2021-05-20 PH PH1/2022/553472A patent/PH12022553472A1/en unknown
- 2021-05-20 BR BR112022023193A patent/BR112022023193A2/pt unknown
- 2021-05-20 WO PCT/US2021/033436 patent/WO2021242608A1/en not_active Ceased
- 2021-05-20 EP EP21735440.6A patent/EP4158485A1/en active Pending
- 2021-05-20 KR KR1020227039808A patent/KR20230015334A/ko active Pending
- 2021-05-20 CN CN202180033985.6A patent/CN115516436B/zh active Active
- 2021-05-21 TW TW110118438A patent/TWI881126B/zh active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10289151A (ja) * | 1997-04-11 | 1998-10-27 | Texas Instr Inc <Ti> | プロセッサおよびメモリモジュールのためのシステム信号方式 |
| JPH11149409A (ja) * | 1997-11-19 | 1999-06-02 | Hitachi Ltd | メモリコントローラおよびコンピュータシステム |
| JP2008052370A (ja) * | 2006-08-22 | 2008-03-06 | Elpida Memory Inc | 半導体記憶装置及び半導体装置 |
| JP2012234334A (ja) * | 2011-04-28 | 2012-11-29 | Toshiba Corp | メモリ装置 |
| US20160357703A1 (en) * | 2015-06-04 | 2016-12-08 | Fujitsu Limited | Parallel computing apparatus, compiling apparatus, and parallel processing method |
| JP2018073414A (ja) * | 2016-10-27 | 2018-05-10 | 三星電子株式会社Samsung Electronics Co.,Ltd. | プロセッサ、及び複数のメモリ装置を含む分散計算システム内のワークフローを制御する方法 |
| JP2019179411A (ja) * | 2018-03-30 | 2019-10-17 | 株式会社デンソー | 情報処理装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP7660141B2 (ja) | 2025-04-10 |
| CN115516436A (zh) | 2022-12-23 |
| EP4158485A1 (en) | 2023-04-05 |
| PH12022553472A1 (en) | 2024-05-13 |
| TW202201236A (zh) | 2022-01-01 |
| BR112022023193A2 (pt) | 2022-12-20 |
| TWI881126B (zh) | 2025-04-21 |
| CN115516436B (zh) | 2026-02-06 |
| US20210373790A1 (en) | 2021-12-02 |
| KR20230015334A (ko) | 2023-01-31 |
| US12056382B2 (en) | 2024-08-06 |
| WO2021242608A1 (en) | 2021-12-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI906388B (zh) | 用於加速器的裝置及用於處理資料的方法 | |
| CN113674133B (zh) | Gpu集群共享显存系统、方法、装置及设备 | |
| JP7660141B2 (ja) | メモリにおける推論 | |
| US20220114086A1 (en) | Techniques to expand system memory via use of available device memory | |
| US9547535B1 (en) | Method and system for providing shared memory access to graphics processing unit processes | |
| CN113590508B (zh) | 动态可重构的内存地址映射方法及装置 | |
| JP7126136B2 (ja) | 再構成可能なキャッシュアーキテクチャおよびキャッシュコヒーレンシの方法 | |
| JP2018136922A (ja) | メモリープールを有するコンピューティングシステムのためのメモリー分割 | |
| CN117827449B (zh) | 服务器的物理内存扩展架构、服务器、方法、设备及介质 | |
| CN118331922A (zh) | 内存访问方法、计算系统以及电子设备 | |
| EP3959611B1 (en) | Intra-device notational data movement system | |
| JP2025539618A (ja) | 融合データ(fused data)生成及び関連する通信 | |
| CN114860439B (zh) | 一种内存分配方法、宿主机、分布式系统及程序产品 | |
| CN114398300A (zh) | 方法、集成电路及计算机可读存储介质 | |
| CN117991977A (zh) | 用于动态地重配置存储器装置的存储器区域的设备和方法 | |
| US11281612B2 (en) | Switch-based inter-device notational data movement system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240501 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240501 |
|
| TRDD | Decision of grant or rejection written | ||
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250225 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20250304 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250331 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7660141 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |