JP6545861B2 - 共有仮想メモリ - Google Patents
共有仮想メモリ Download PDFInfo
- Publication number
- JP6545861B2 JP6545861B2 JP2018079012A JP2018079012A JP6545861B2 JP 6545861 B2 JP6545861 B2 JP 6545861B2 JP 2018079012 A JP2018079012 A JP 2018079012A JP 2018079012 A JP2018079012 A JP 2018079012A JP 6545861 B2 JP6545861 B2 JP 6545861B2
- Authority
- JP
- Japan
- Prior art keywords
- gpu
- cpu
- virtual address
- memory
- address space
- 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
- 230000015654 memory Effects 0.000 title claims description 136
- 238000000034 method Methods 0.000 claims description 52
- 238000012545 processing Methods 0.000 claims description 41
- 238000013507 mapping Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 10
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims 5
- 238000010586 diagram Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 8
- 238000013519 translation Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 229910052751 metal Inorganic materials 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- JLQUFIHWVLZVTJ-UHFFFAOYSA-N carbosulfan Chemical compound CCCCN(CCCC)SN(C)C(=O)OC1=CC=CC2=C1OC(C)(C)C2 JLQUFIHWVLZVTJ-UHFFFAOYSA-N 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 210000003414 extremity Anatomy 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 210000003811 finger Anatomy 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 150000002739 metals Chemical class 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- 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
-
- 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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- 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/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- 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/30—Providing cache or TLB in specific location of a processing system
- G06F2212/302—In image processor or graphics adapter
-
- 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/62—Details of cache specific to multiprocessor cache arrangements
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/656—Address space sharing
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- 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
Description
コンピューティングデバイスの中央処理ユニット(CPU)とグラフィクス処理ユニット(GPU)との間の共有仮想メモリのための方法を、ここで説明する。本方法は、物理メモリ内でサーフェイスを割り当てるステップを含む。CPU仮想アドレス空間が作成されると、前記サーフェイスは、CPUページテーブル内において前記CPU仮想アドレス空間にマッピングされる。本方法はまた、前記CPU仮想アドレス空間に相当するGPU仮想アドレス空間を作成するステップと、GPUページテーブル内において、前記サーフェイスを前記GPU仮想アドレス空間にマッピングするステップと、前記サーフェイスをピン止めするステップを含む。
コンピューティングデバイスをここで説明する。当該コンピューティングデバイスは、格納された命令を実行するように適合される中央処理ユニット(CPU)と、命令を格納するストレージデバイスとを含む。ストレージデバイスは、CPUによって実行されると、物理メモリ内でサーフェイスを割り当てるように適合されるプロセッサ実行可能コードを含む。CPU仮想アドレス空間が作成されると、前記サーフェイスは、CPUページテーブル内において前記CPU仮想アドレス空間にマッピングされる。さらに、CPU仮想アドレス空間に相当するGPU仮想アドレス空間が作成され、GPUページテーブル内において、前記サーフェイスが前記GPU仮想アドレス空間にマッピングされる。前記プロセッサ実行可能なコードは、前記サーフェイスをピン止めするようにも適合される。
命令を有する少なくとも1つの非一時的マシン読取可能媒体をここで説明する。コンピューティングデバイスにおいて実行されたことに応答して、前記命令は、前記コンピューティングデバイスに、物理メモリ内でサーフェイスを割り当てることを実行させる。CPU仮想アドレス空間が生成され、前記サーフェイスが、CPUページテーブル内において前記CPU仮想アドレス空間にマッピングされる。前記命令はまた、前記CPU仮想アドレス空間に相当するGPU仮想アドレス空間を生成し、GPUページテーブル内において、前記サーフェイスを前記GPU仮想アドレス空間にマッピングする。さらに、前記サーフェイスがピン止めされる。
Claims (18)
- コンピューティングデバイスによって実行されると、該コンピューティングデバイスに、
物理メモリ内でサーフェイスを作成することであって、前記サーフェイスは、中央処理ユニット(CPU)とグラフィクス処理ユニット(GPU)との間で共有され、前記サーフェイス上のデータは、データをコピーすることなく自動的にアクセス可能であり、前記サーフェイスはCPU仮想アドレス空間内でアクセス可能であることと、
GPU仮想アドレスを前記サーフェイスに割り当てることであって、前記GPU仮想アドレスはGPU仮想アドレス空間内であり、前記GPUと前記CPUは共通の共有仮想アドレス空間を共有することと、
前記サーフェイスをGPUページテーブル内の前記GPU仮想アドレス空間にマッピングすることであって、前記GPUページテーブルは、CPUページテーブルと同期され、前記GPU仮想アドレス空間への前記サーフェイスのマッピングは、前記サーフェイスが割り当てられている間変化しないことと、
を含む動作を実行させる、コンピュータプログラム。 - 前記GPU及び前記CPUは、共通の物理及び仮想アドレス空間を共有し、前記動作は、CPUメモリからGPUメモリへデータをコピーすることなく、前記サーフェイスを介して前記CPUと前記GPUとの間で物理メモリを共有することを更に含む、
請求項1に記載のコンピュータプログラム。 - 前記動作は、前記CPUで実行中のアプリケーションからの入力に応答して、前記サーフェイスのためにメモリを割り当てることを更に含む、
請求項1に記載のコンピュータプログラム。 - 前記動作は、前記CPU仮想アドレス空間及び前記GPU仮想アドレス空間を変換して、前記サーフェイス内の対応する物理的な位置を決定することを更に含む、
請求項1に記載のコンピュータプログラム。 - 請求項1乃至4のいずれか一項に記載のコンピュータプログラムを記録する1つ以上の非一時的なコンピュータ読取可能媒体。
- データ処理システムであって、
格納された命令を実行するように適合される中央処理ユニット(CPU)と、
同じダイ上で前記CPUと結合されるグラフィクス処理ユニット(GPU)と、
前記CPUによって実行されると、前記CPUに、
物理メモリ内でサーフェイスを作成することであって、前記サーフェイスは、CPUとGPUとの間で共有され、前記サーフェイス上のデータは、データをコピーすることなく自動的にアクセス可能であり、前記サーフェイスはCPU仮想アドレス空間内でアクセス可能であることと、
GPU仮想アドレスを前記サーフェイスに割り当てることであって、前記GPU仮想アドレスはGPU仮想アドレス空間内であり、前記GPUと前記CPUは共通の共有仮想アドレス空間を共有することと、
前記サーフェイスをGPUページテーブル内の前記GPU仮想アドレス空間にマッピングすることであって、前記GPUページテーブルは、CPUページテーブルと同期され、前記サーフェイスについてマップされるアドレスは、前記サーフェイスが割り当てられている間変化しないことと、
を実行させる命令を格納するストレージデバイスと、
を備える、データ処理システム。 - 前記GPU及び前記CPUは、共通の物理及び仮想アドレス空間を共有し、前記CPUは、CPUメモリからGPUメモリへデータをコピーすることなく、前記サーフェイスを介して前記CPUと前記GPUとの間で物理メモリを共有する、
請求項6に記載のデータ処理システム。 - 前記命令は前記CPUに、前記CPUで実行中のアプリケーションからの入力に応答して、前記サーフェイスのためにメモリを割り当てさせる、
請求項6に記載のデータ処理システム。 - 前記命令は前記CPUに、CPU仮想アドレス空間内の仮想メモリアドレスを変換して、前記サーフェイス内の対応する物理的な位置を決定させる、
請求項6に記載のデータ処理システム。 - 共有仮想メモリのための方法であって:
物理メモリ内でサーフェイスを作成することであって、前記サーフェイスは、中央処理ユニット(CPU)とグラフィクス処理ユニット(GPU)との間で共有され、前記サーフェイス上のデータは、データをコピーすることなく自動的にアクセス可能であり、前記サーフェイスはCPU仮想アドレス空間内でアクセス可能であることと、
GPU仮想アドレスを前記サーフェイスに割り当てることであって、前記GPU仮想アドレスはGPU仮想アドレス空間内であり、前記GPUと前記CPUは共通の共有仮想アドレス空間を共有することと、
前記サーフェイスをGPUページテーブル内の前記GPU仮想アドレス空間にマッピングすることであって、前記GPUページテーブルは、CPUページテーブルと同期され、前記サーフェイスについての前記のマッピングは、前記サーフェイスが割り当てられている間変化しないことと、
を備える、方法。 - 前記GPU及び前記CPUは、共通の物理及び仮想アドレス空間を共有し、当該方法は、CPUメモリからGPUメモリへデータをコピーすることなく、前記サーフェイスを介して前記CPUと前記GPUとの間で物理メモリを共有することを更に含む、
請求項10に記載の方法。 - 前記CPUで実行中のアプリケーションからの入力に応答して、前記サーフェイスのためにメモリを割り当てることを更に含む、
請求項10に記載の方法。 - 前記CPU仮想アドレス空間及び前記GPU仮想アドレス空間を変換して、前記サーフェイス内の対応する物理的な位置を決定することを更に含む、
請求項10に記載の方法。 - 当該方法は、前記CPU上で実行中のGPUドライバによって実行される、
請求項10に記載の方法。 - コンピューティングデバイスであって:
物理メモリ内でサーフェイスを作成するための作成手段であって、前記サーフェイスは、中央処理ユニット(CPU)とグラフィクス処理ユニット(GPU)との間で共有され、前記サーフェイス上のデータは、データをコピーすることなく自動的にアクセス可能であり、前記サーフェイスはCPU仮想アドレス空間内でアクセス可能である、作成手段と、
GPU仮想アドレスを前記サーフェイスに割り当てるための割当て手段であって、前記GPU仮想アドレスはGPU仮想アドレス空間内であり、前記GPUと前記CPUは共通の共有仮想アドレス空間を共有する、割当て手段と、
前記サーフェイスをGPUページテーブル内の前記サーフェイスを前記GPU仮想アドレス空間にマッピングするためのマッピング手段であって、前記GPUページテーブルは、CPUページテーブルと同期され、前記GPU仮想アドレスへの前記サーフェイスの前記のマッピングは、前記サーフェイスが割り当てられている間変化しない、マッピング手段と、
を備える、コンピューティングデバイス。 - 前記GPU及び前記CPUは、共通の物理及び仮想アドレス空間を共有し、CPUメモリからGPUメモリへデータをコピーすることなく、前記サーフェイスを介して前記CPUと前記GPUとの間で物理メモリを共有するための手段を更に含む、
請求項15に記載のコンピューティングデバイス。 - 前記CPUで実行中のアプリケーションからの入力に応答して、前記サーフェイスのためにメモリを割り当てる手段を更に含む、
請求項15に記載のコンピューティングデバイス。 - 前記CPU仮想アドレス空間及び前記GPU仮想アドレス空間を変換して、前記サーフェイス内の対応する物理的な位置を決定する手段を更に含む、
請求項15に記載のコンピューティングデバイス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/588,308 US9378572B2 (en) | 2012-08-17 | 2012-08-17 | Shared virtual memory |
US13/588,308 | 2012-08-17 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016170488A Division JP6559628B2 (ja) | 2012-08-17 | 2016-09-01 | 共有仮想メモリ |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018158095A Division JP6746645B2 (ja) | 2012-08-17 | 2018-08-27 | 共有仮想メモリ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018139128A JP2018139128A (ja) | 2018-09-06 |
JP6545861B2 true JP6545861B2 (ja) | 2019-07-17 |
Family
ID=50099761
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015523093A Active JP6001778B2 (ja) | 2012-08-17 | 2013-06-19 | 共有仮想メモリ |
JP2016170488A Active JP6559628B2 (ja) | 2012-08-17 | 2016-09-01 | 共有仮想メモリ |
JP2018079012A Active JP6545861B2 (ja) | 2012-08-17 | 2018-04-17 | 共有仮想メモリ |
JP2018158095A Active JP6746645B2 (ja) | 2012-08-17 | 2018-08-27 | 共有仮想メモリ |
JP2019007556A Pending JP2019071122A (ja) | 2012-08-17 | 2019-01-21 | 共有仮想メモリ |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015523093A Active JP6001778B2 (ja) | 2012-08-17 | 2013-06-19 | 共有仮想メモリ |
JP2016170488A Active JP6559628B2 (ja) | 2012-08-17 | 2016-09-01 | 共有仮想メモリ |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018158095A Active JP6746645B2 (ja) | 2012-08-17 | 2018-08-27 | 共有仮想メモリ |
JP2019007556A Pending JP2019071122A (ja) | 2012-08-17 | 2019-01-21 | 共有仮想メモリ |
Country Status (7)
Country | Link |
---|---|
US (2) | US9378572B2 (ja) |
JP (5) | JP6001778B2 (ja) |
KR (1) | KR20150031293A (ja) |
CN (2) | CN104471554B (ja) |
DE (4) | DE112013004079B4 (ja) |
TW (4) | TWI698747B (ja) |
WO (1) | WO2014028120A1 (ja) |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8850417B2 (en) * | 2011-04-15 | 2014-09-30 | International Business Machines Corporation | Method and framework for invisible code rewriting |
US9116809B2 (en) | 2012-03-29 | 2015-08-25 | Ati Technologies Ulc | Memory heaps in a memory model for a unified computing system |
US9373182B2 (en) * | 2012-08-17 | 2016-06-21 | Intel Corporation | Memory sharing via a unified memory architecture |
US9378572B2 (en) | 2012-08-17 | 2016-06-28 | Intel Corporation | Shared virtual memory |
US9195585B2 (en) * | 2013-01-23 | 2015-11-24 | Vmware, Inc. | Techniques for allocating and surfacing host-side storage capacity to virtual machines |
US9619364B2 (en) | 2013-03-14 | 2017-04-11 | Nvidia Corporation | Grouping and analysis of data access hazard reports |
WO2014158128A1 (en) * | 2013-03-25 | 2014-10-02 | Hewlett-Packard Development Company, L.P. | Extensible firmware abstraction |
US9886736B2 (en) | 2014-01-20 | 2018-02-06 | Nvidia Corporation | Selectively killing trapped multi-process service clients sharing the same hardware context |
US10152312B2 (en) | 2014-01-21 | 2018-12-11 | Nvidia Corporation | Dynamic compiler parallelism techniques |
WO2015130282A1 (en) * | 2014-02-27 | 2015-09-03 | Hewlett-Packard Development Company, L. P. | Communication between integrated graphics processing units |
US20150256645A1 (en) * | 2014-03-10 | 2015-09-10 | Riverscale Ltd | Software Enabled Network Storage Accelerator (SENSA) - Network Server With Dedicated Co-processor Hardware Implementation of Storage Target Application |
US9779471B2 (en) * | 2014-10-01 | 2017-10-03 | Qualcomm Incorporated | Transparent pixel format converter |
WO2016085463A1 (en) * | 2014-11-25 | 2016-06-02 | Hewlett Packard Enterprise Development Lp | Memory controller with memory resource memory management |
US20170322889A1 (en) * | 2014-11-25 | 2017-11-09 | Hewlett Packard Enterprise Development Lp | Computing resource with memory resource memory management |
US10019373B2 (en) * | 2014-12-19 | 2018-07-10 | Mediatek Inc. | Memory management method for supporting shared virtual memories with hybrid page table utilization and related machine readable medium |
US10572288B2 (en) * | 2015-06-26 | 2020-02-25 | Intel Corporation | Apparatus and method for efficient communication between virtual machines |
CN106683035B (zh) * | 2015-11-09 | 2020-03-13 | 龙芯中科技术有限公司 | Gpu加速方法和装置 |
GB2546343A (en) | 2016-01-15 | 2017-07-19 | Stmicroelectronics (Grenoble2) Sas | Apparatus and methods implementing dispatch mechanisms for offloading executable functions |
GB2547242B (en) * | 2016-02-11 | 2018-05-23 | Advanced Risc Mach Ltd | Graphics processing |
CN109416636B (zh) * | 2016-06-17 | 2023-05-26 | 惠普发展公司,有限责任合伙企业 | 共享的机器学习数据结构 |
US20180004649A1 (en) * | 2016-07-01 | 2018-01-04 | Intel Corporation | Techniques to Format a Persistent Memory File |
US10163184B2 (en) * | 2016-08-17 | 2018-12-25 | Adobe Systems Incorporated | Graphics performance for complex user interfaces |
US20180081811A1 (en) * | 2016-09-20 | 2018-03-22 | Qualcomm Incorporated | Dynamic cache partitioning through hill-climbing |
CN108206937B (zh) * | 2016-12-20 | 2020-05-19 | 浙江宇视科技有限公司 | 一种提升智能分析性能的方法和装置 |
JP2018156573A (ja) * | 2017-03-21 | 2018-10-04 | 東芝メモリ株式会社 | メモリ装置および情報処理システム |
US10282811B2 (en) * | 2017-04-07 | 2019-05-07 | Intel Corporation | Apparatus and method for managing data bias in a graphics processing architecture |
US10417733B2 (en) * | 2017-05-24 | 2019-09-17 | Samsung Electronics Co., Ltd. | System and method for machine learning with NVMe-of ethernet SSD chassis with embedded GPU in SSD form factor |
CN107291537A (zh) * | 2017-06-07 | 2017-10-24 | 江苏海平面数据科技有限公司 | 一种gpu片上存储空间使用的优化方法 |
US10489881B2 (en) * | 2017-06-30 | 2019-11-26 | H3 Platform Inc. | Direct memory access for co-processor memory |
CN107463510B (zh) * | 2017-08-21 | 2020-05-08 | 北京工业大学 | 一种面向高性能的异构多核共享cache缓冲管理方法 |
US10445088B2 (en) * | 2018-01-11 | 2019-10-15 | Macronix International Co., Ltd. | System boot code clone |
CN110134370B (zh) * | 2018-02-08 | 2023-09-12 | 龙芯中科技术股份有限公司 | 一种图形绘制的方法、装置、电子设备及存储介质 |
US10678705B2 (en) | 2018-09-13 | 2020-06-09 | Qualcomm Incorporated | External paging and swapping for dynamic modules |
TWI707272B (zh) * | 2019-04-10 | 2020-10-11 | 瑞昱半導體股份有限公司 | 可執行指令的電子裝置以及指令執行方法 |
JP2020177074A (ja) * | 2019-04-16 | 2020-10-29 | 株式会社デンソー | 車両用装置、車両用装置の制御方法 |
JP2020177073A (ja) | 2019-04-16 | 2020-10-29 | 株式会社デンソー | 車両用装置、車両用装置の制御方法 |
CN110187835B (zh) * | 2019-05-24 | 2023-02-03 | 北京百度网讯科技有限公司 | 用于管理访问请求的方法、装置、设备和存储介质 |
WO2020237460A1 (zh) * | 2019-05-27 | 2020-12-03 | 华为技术有限公司 | 一种图形处理方法和装置 |
US10872458B1 (en) * | 2019-09-06 | 2020-12-22 | Apple Inc. | Graphics surface addressing |
CN111309649B (zh) * | 2020-02-11 | 2021-05-25 | 支付宝(杭州)信息技术有限公司 | 一种数据传输和任务处理方法、装置及设备 |
US11366752B2 (en) * | 2020-03-19 | 2022-06-21 | Micron Technology, Inc. | Address mapping between shared memory modules and cache sets |
CN113377545B (zh) * | 2021-07-08 | 2023-11-14 | 支付宝(杭州)信息技术有限公司 | 用于分配gpu物理内存的方法及装置 |
CN113645484B (zh) * | 2021-10-16 | 2021-12-21 | 成都中科合迅科技有限公司 | 基于图形处理器的数据可视化加速渲染方法 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01291343A (ja) * | 1988-05-18 | 1989-11-22 | Nippon Telegr & Teleph Corp <Ntt> | メモリ管理装置 |
JP2675961B2 (ja) | 1992-05-20 | 1997-11-12 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 実記憶のページをロックするための方法 |
US6986052B1 (en) * | 2000-06-30 | 2006-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US6684305B1 (en) * | 2001-04-24 | 2004-01-27 | Advanced Micro Devices, Inc. | Multiprocessor system implementing virtual memory using a shared memory, and a page replacement method for maintaining paged memory coherence |
US6891543B2 (en) | 2002-05-08 | 2005-05-10 | Intel Corporation | Method and system for optimally sharing memory between a host processor and graphics processor |
US7355601B2 (en) | 2003-06-30 | 2008-04-08 | International Business Machines Corporation | System and method for transfer of data between processors using a locked set, head and tail pointers |
US8493397B1 (en) * | 2004-11-15 | 2013-07-23 | Nvidia Corporation | State machine control for a pipelined L2 cache to implement memory transfers for a video processor |
US20060112226A1 (en) | 2004-11-19 | 2006-05-25 | Hady Frank T | Heterogeneous processors sharing a common cache |
US7490215B2 (en) * | 2004-12-22 | 2009-02-10 | Intel Corporation | Media memory system and method for providing concurrent memory access to a plurality of processors through separate translation table information |
JP4493626B2 (ja) | 2006-05-25 | 2010-06-30 | 株式会社ソニー・コンピュータエンタテインメント | マルチプロセッサシステム、ライブラリモジュール、および描画処理方法 |
US20080109795A1 (en) | 2006-11-02 | 2008-05-08 | Nvidia Corporation | C/c++ language extensions for general-purpose graphics processing unit |
US7865675B2 (en) * | 2007-12-06 | 2011-01-04 | Arm Limited | Controlling cleaning of data values within a hardware accelerator |
US9035959B2 (en) | 2008-03-28 | 2015-05-19 | Intel Corporation | Technique to share information among different cache coherency domains |
US8531471B2 (en) * | 2008-11-13 | 2013-09-10 | Intel Corporation | Shared virtual memory |
US8069446B2 (en) * | 2009-04-03 | 2011-11-29 | Microsoft Corporation | Parallel programming and execution systems and techniques |
US8451281B2 (en) * | 2009-06-23 | 2013-05-28 | Intel Corporation | Shared virtual memory between a host and discrete graphics device in a computing system |
US8484647B2 (en) * | 2009-07-24 | 2013-07-09 | Apple Inc. | Selectively adjusting CPU wait mode based on estimation of remaining work before task completion on GPU |
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 |
US20110161620A1 (en) * | 2009-12-29 | 2011-06-30 | Advanced Micro Devices, Inc. | Systems and methods implementing shared page tables for sharing memory resources managed by a main operating system with accelerator devices |
US8669990B2 (en) * | 2009-12-31 | 2014-03-11 | Intel Corporation | Sharing resources between a CPU and GPU |
EP2619687B1 (en) * | 2010-09-24 | 2016-04-06 | Intel Corporation | Sharing virtual functions in a shared virtual memory between heterogeneous processors of a computing platform |
US8385140B2 (en) * | 2010-11-18 | 2013-02-26 | Advanced Micro Devices, Inc. | Memory elements having shared selection signals |
CN102495762B (zh) * | 2011-11-16 | 2014-04-02 | 华为技术有限公司 | 一种线程调度方法、线程调度装置及多核处理器系统 |
US9009419B2 (en) * | 2012-07-31 | 2015-04-14 | Advanced Micro Devices, Inc. | Shared memory space in a unified memory model |
US8938602B2 (en) * | 2012-08-02 | 2015-01-20 | Qualcomm Incorporated | Multiple sets of attribute fields within a single page table entry |
US9378572B2 (en) | 2012-08-17 | 2016-06-28 | Intel Corporation | Shared virtual memory |
-
2012
- 2012-08-17 US US13/588,308 patent/US9378572B2/en active Active
-
2013
- 2013-06-19 DE DE112013004079.4T patent/DE112013004079B4/de active Active
- 2013-06-19 CN CN201380037973.6A patent/CN104471554B/zh active Active
- 2013-06-19 DE DE112013007742.6T patent/DE112013007742B3/de active Active
- 2013-06-19 KR KR1020157001153A patent/KR20150031293A/ko active Search and Examination
- 2013-06-19 CN CN201610875294.1A patent/CN107025183B/zh active Active
- 2013-06-19 WO PCT/US2013/046504 patent/WO2014028120A1/en active Application Filing
- 2013-06-19 DE DE112013007780.9T patent/DE112013007780B3/de active Active
- 2013-06-19 DE DE112013007788.4T patent/DE112013007788B4/de active Active
- 2013-06-19 JP JP2015523093A patent/JP6001778B2/ja active Active
- 2013-08-14 TW TW107144957A patent/TWI698747B/zh active
- 2013-08-14 TW TW107106217A patent/TWI666548B/zh active
- 2013-08-14 TW TW102129116A patent/TWI605342B/zh active
- 2013-08-14 TW TW105132081A patent/TWI624760B/zh active
-
2016
- 2016-05-13 US US15/154,357 patent/US9779472B2/en active Active
- 2016-09-01 JP JP2016170488A patent/JP6559628B2/ja active Active
-
2018
- 2018-04-17 JP JP2018079012A patent/JP6545861B2/ja active Active
- 2018-08-27 JP JP2018158095A patent/JP6746645B2/ja active Active
-
2019
- 2019-01-21 JP JP2019007556A patent/JP2019071122A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2018139128A (ja) | 2018-09-06 |
CN107025183A (zh) | 2017-08-08 |
JP2018198086A (ja) | 2018-12-13 |
TWI666548B (zh) | 2019-07-21 |
TW201702881A (zh) | 2017-01-16 |
JP6001778B2 (ja) | 2016-10-05 |
US9378572B2 (en) | 2016-06-28 |
CN107025183B (zh) | 2021-01-15 |
DE112013007788B4 (de) | 2023-10-12 |
WO2014028120A1 (en) | 2014-02-20 |
DE112013004079B4 (de) | 2023-06-07 |
TWI624760B (zh) | 2018-05-21 |
TWI698747B (zh) | 2020-07-11 |
CN104471554A (zh) | 2015-03-25 |
JP6559628B2 (ja) | 2019-08-14 |
JP6746645B2 (ja) | 2020-08-26 |
JP2017004556A (ja) | 2017-01-05 |
TW201418983A (zh) | 2014-05-16 |
DE112013004079T5 (de) | 2015-06-03 |
DE112013007742B3 (de) | 2023-06-07 |
US20160328823A1 (en) | 2016-11-10 |
JP2015526806A (ja) | 2015-09-10 |
TW201843592A (zh) | 2018-12-16 |
US9779472B2 (en) | 2017-10-03 |
JP2019071122A (ja) | 2019-05-09 |
TW201921251A (zh) | 2019-06-01 |
US20140049551A1 (en) | 2014-02-20 |
DE112013007780B3 (de) | 2023-06-07 |
KR20150031293A (ko) | 2015-03-23 |
CN104471554B (zh) | 2018-05-25 |
TWI605342B (zh) | 2017-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6545861B2 (ja) | 共有仮想メモリ | |
US11531623B2 (en) | Memory sharing via a unified memory architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190424 |
|
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: 20190521 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190619 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6545861 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |