JP2013504127A - Gpuワークのハードウエアベースでのスケジューリング - Google Patents
Gpuワークのハードウエアベースでのスケジューリング Download PDFInfo
- Publication number
- JP2013504127A JP2013504127A JP2012528042A JP2012528042A JP2013504127A JP 2013504127 A JP2013504127 A JP 2013504127A JP 2012528042 A JP2012528042 A JP 2012528042A JP 2012528042 A JP2012528042 A JP 2012528042A JP 2013504127 A JP2013504127 A JP 2013504127A
- Authority
- JP
- Japan
- Prior art keywords
- gpu
- buffer
- buffers
- cpu
- subset
- 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
- 239000000872 buffer Substances 0.000 claims abstract description 288
- 238000012545 processing Methods 0.000 claims abstract description 74
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000012544 monitoring process Methods 0.000 claims abstract description 7
- 230000008569 process Effects 0.000 claims description 17
- 238000004519 manufacturing process Methods 0.000 claims description 2
- 230000000977 initiatory effect Effects 0.000 claims 2
- 238000012913 prioritisation Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3888—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple threads [SIMT] in parallel
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
- User Interface Of Digital Computer (AREA)
- Image Generation (AREA)
- Advance Control (AREA)
Abstract
CPU等の第1のプロセッサによって発行されるコマンドをGPU等の第2のプロセッサ上でスケジューリングし且つ実行するための装置及び方法が開示される。1つの実施形態では、グラフィクス処理ユニット(GPU)上で処理を実行する方法は、メモリ内の1つ以上のバッファをモニタリングすることと、1つ以上のバッファから第1のサブセットをGPU上での実行のためにGPUのワークロードプロファイルに基づいて選択することと、第1のサブセットをGPU上で実行することと、を含む。GPUはまた、1つ以上のバッファの優先順位を受信してよく、この場合、選択することは受信された優先順位に更に基づく。GPU内でコマンドの優先順位付け及びスケジューリングを行うことによって、システム性能が高まる。
【選択図】図1
Description
図1は、本発明の実施形態に従いワーク項目(例えばコマンド)がGPU上で実行されるシステムを示している。システム100は、CPU101、システムメモリ102、グラフィクスドライバ103、GPU104、及び通信基盤105を含む。当業者は、図1の実施形態において示されるものに加えて又はそれらとは異なるソフトウエア、ハードウエア及びファームウエアの構成要素を含み得ることを理解するであろう。
図3は本発明の実施形態に従いCPU、例えばCPU101によって実行される処理ステップ(例えばステップ301〜305)のフローチャートを示している。ステップ301では、CPU101は、コマンドバッファをGPU104へ転送する目的でシステムメモリ102内のリングバッファのセットを初期化する。ここでの説明においては、コマンドバッファをGPU104に伝える方法を実装するために選択されるデータ構造としてリングバッファが用いられているが、当業者であればリングバッファの代わりに1つ以上の他のデータ構造が用いられ得ることを理解するであろう。初期化ステップ301は、システム起動時又はアプリケーション起動時のいずれかに生じてよい。例えば、CPU101上で実行しているオペレーティングシステムがGPU104及び関連するグラフィクスドライバ103を使用のために構成するシステム起動時には、命令及びデータを後続のアプリケーションからGPU104へ転送する場合の使用のために、1つ以上のリングバッファが初期化されてよい。別の実施形態においては、GPUを利用するダイレクト・エックス(DirectX)コード等のコードを有しているアプリケーションがロードされる場合、リングバッファはそのアプリケーションの初期化の一部として構成されてよい。更に別の例示的な実施形態においては、1つ以上のリングバッファがシステム起動時に初期化されてよく、また追加的なバッファが追加されると共にアプリケーション起動時に初期化されてよい。
図4は本発明の実施形態に従いGPU104によって実装される処理400のステップ401〜409を示すフローチャートである。処理400は、本発明の種々の実施形態においてハードウエア、ファームウエア、及び/又はソフトウエアにおいて実装され得る。例えばRLC140機能は、高度な柔軟性を維持しつつ高度な性能をも達成するハードウエア及びマイクロコードの組み合わせを用いて実装され得る。
上述した実施形態によって説明される本発明は、CPU等の第1のプロセッサからコマンドを受信するGPU等の第2のプロセッサ内の処理資源のより効率的な割り当てを可能にする。ローカルで決定された因子、例えば処理デバイス利用可能性、ワークロード、等に基づいてそのワークロードを優先順位付け且つスケジューリングする能力は、第2のプロセッサの利用を増大させる。
Claims (22)
- グラフィクス処理ユニット(GPU)上でワーク項目を処理する方法であって、
メモリ内の1つ以上のバッファからバッファの第1のサブセットを前記第1のサブセットからのワーク項目の前記GPU上での実行のために前記GPUのワークロードプロファイルに基づいて選択することと、
前記第1のサブセットからの前記ワーク項目を前記GPU上で実行することと、を備える方法。 - 前記1つ以上のバッファの優先順位を受信することを更に備え、
前記選択することは前記受信された優先順位に更に基づく請求項1の方法。 - 前記実行することは、
前記第1のサブセットからの第1のバッファからのワーク項目を前記GPU上で実行することと、
第2のバッファからのワーク項目が前記GPU上で実行されるべきことを決定することと、
前記第1のバッファからのワーク項目を実行からプリエンプトすることと、
前記第2のバッファからのワーク項目の前記GPU上での実行を開始することと、を備える請求項1の方法。 - 前記プリエンプトすることは、
前記第1のリングバッファのコンテクストをローカルメモリ内のコンテクスト保存区域に保存することを備える請求項3の方法。 - 前記決定することは、
前記第1のバッファからのワーク項目の実行における経過時間を予め定められたタイムスライス値と比較することを備える請求項3の方法。 - 前記決定することは、
前記バッファの少なくとも1つをモニタリングすることと、
前記第1のバッファよりも高い優先度レベルを有する前記バッファの前記少なくとも1つにおけるワーク項目を検出することと、を備える請求項3の方法。 - 前記モニタリングすることは、
第2のプロセッサによって書き込まれた少なくとも1つのメモリロケーションを読み出すことと、
前記少なくとも1つのメモリロケーションから読み出される値に基づいてコマンド書き込みイベントを検出することと、を備える請求項1の方法。 - 前記選択することは、
前記バッファの各々におけるワーク項目を解析することと、
前記バッファの前記各々の優先度を決定することと、
前記決定された優先度に基づいて前記第1のサブセットを選択することと、を備える請求項1の方法。 - 前記メモリは中央処理ユニット(CPU)及び前記GPUに結合されるシステムメモリである請求項1の方法。
- 前記1つ以上のバッファの少なくとも1つはリングバッファである請求項1の方法。
- 前記第1のサブセットの各々は中央処理ユニット(CPU)によって書き込まれる1つ以上のコマンドバッファを含む請求項1の方法。
- グラフィクス処理ユニット(GPU)上でワーク項目を実行するためのシステムであって、前記GPUは、
メモリ内の1つ以上のバッファからバッファの第1のサブセットを前記第1のサブセットからのワーク項目の前記GPU上での実行のために前記GPUのワークロードプロファイルに基づいて選択することと、
前記第1のサブセットからの前記ワーク項目を前記GPU上で実行することと、のために構成されるシステム。 - 前記GPUは前記1つ以上のバッファの優先順位を受信することのために更に構成され、
前記選択することは前記受信された優先順位に更に基づく請求項12のシステム。 - 前記GPUは、
前記第1のサブセットからの第1のバッファを実行することと、
第2のバッファが前記GPU上で実行されるべきことを決定することと、
前記第1のバッファを実行からプリエンプトすることと、
前記第2のバッファの前記GPU上での実行を開始することと、のために更に構成される請求項12のシステム。 - 前記プリエンプトすることは、
前記第1のリングバッファのコンテクストをローカルメモリ内のコンテクスト保存区域に保存することを備える請求項14のシステム。 - 前記決定することは、
前記バッファの少なくとも1つをモニタリングすることと、
前記第1のバッファよりも高い優先度レベルを有する前記バッファの前記少なくとも1つにおけるワーク項目を検出することと、を備える請求項14のシステム。 - 前記1つ以上のバッファの少なくとも1つはリングバッファである請求項12のシステム。
- 中央処理ユニット(CPU)と、
前記CPU及び前記GPUに結合される前記メモリと、を更に備える請求項12のシステム。 - 前記GPUは1つ以上のコンテクスト保存区域を伴って構成されるローカルメモリを備える請求項12のシステム。
- 命令を記憶しているコンピュータ可読媒体であって、前記命令は実行されるときに方法を用いてグラフィクス処理ユニット(GPU)上でワーク項目を処理することに適合させられており、前記方法は、
メモリ内の1つ以上のバッファからバッファの第1のサブセットを前記第1のサブセットからのワーク項目の前記GPU上での実行のために前記GPUのワークロードプロファイルに基づいて選択することと、
前記第1のサブセットからの前記ワーク項目を前記GPU上で実行することと、を備えるコンピュータ可読媒体。 - 前記命令はハードウエア記述言語命令を備える請求項20のコンピュータ可読媒体。
- 前記命令は前記ワーク項目をGPU上で処理するためのデバイスを創出するマスクワーク/フォトマスクの創出を通した製造処理を構成することに適合させられている請求項20のコンピュータ可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/553,637 | 2009-09-03 | ||
US12/553,637 US8310492B2 (en) | 2009-09-03 | 2009-09-03 | Hardware-based scheduling of GPU work |
PCT/US2010/047666 WO2011028896A1 (en) | 2009-09-03 | 2010-09-02 | Hardware-based scheduling of gpu work |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2013504127A true JP2013504127A (ja) | 2013-02-04 |
JP2013504127A5 JP2013504127A5 (ja) | 2013-10-24 |
JP5722327B2 JP5722327B2 (ja) | 2015-05-20 |
Family
ID=43064658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012528042A Active JP5722327B2 (ja) | 2009-09-03 | 2010-09-02 | Gpuワークのハードウエアベースでのスケジューリング |
Country Status (7)
Country | Link |
---|---|
US (1) | US8310492B2 (ja) |
EP (1) | EP2473914B1 (ja) |
JP (1) | JP5722327B2 (ja) |
KR (1) | KR101587201B1 (ja) |
CN (1) | CN102597950B (ja) |
IN (1) | IN2012DN02567A (ja) |
WO (1) | WO2011028896A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017163441A1 (ja) * | 2016-03-24 | 2017-09-28 | 富士ゼロックス株式会社 | 画像処理装置、画像処理方法、及び画像処理プログラム |
JP2019536169A (ja) * | 2016-11-23 | 2019-12-12 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | パーシステントコンピューティングのための低電力及び低レイテンシのgpuコプロセッサ |
Families Citing this family (116)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9529632B2 (en) * | 2009-09-03 | 2016-12-27 | Advanced Micro Devices, Inc. | Interlocked increment memory allocation and access |
US9244690B2 (en) * | 2009-09-09 | 2016-01-26 | Advanced Micro Devices, Inc. | Variable frequency output to one or more buffers |
US9189242B2 (en) * | 2009-09-24 | 2015-11-17 | Nvidia Corporation | Credit-based streaming multiprocessor warp scheduling |
US9665920B1 (en) * | 2009-10-05 | 2017-05-30 | Nvidia Corporation | Simultaneous execution of compute and graphics applications |
US8305947B2 (en) * | 2010-02-12 | 2012-11-06 | Intel Corporation | Minimizing power consumption in a network device |
US9519943B2 (en) * | 2010-12-07 | 2016-12-13 | Advanced Micro Devices, Inc. | Priority-based command execution |
US9176794B2 (en) * | 2010-12-13 | 2015-11-03 | Advanced Micro Devices, Inc. | Graphics compute process scheduling |
US20120151145A1 (en) * | 2010-12-13 | 2012-06-14 | Advanced Micro Devices, Inc. | Data Driven Micro-Scheduling of the Individual Processing Elements of a Wide Vector SIMD Processing Unit |
US9176795B2 (en) * | 2010-12-13 | 2015-11-03 | Advanced Micro Devices, Inc. | Graphics processing dispatch from user mode |
US8789065B2 (en) | 2012-06-08 | 2014-07-22 | Throughputer, Inc. | System and method for input data load adaptive parallel processing |
US20130117168A1 (en) | 2011-11-04 | 2013-05-09 | Mark Henrik Sandstrom | Maximizing Throughput of Multi-user Parallel Data Processing Systems |
GB2489278B (en) * | 2011-03-24 | 2019-12-25 | Advanced Risc Mach Ltd | Improving the scheduling of tasks to be performed by a non-coherent device |
GB2505818B (en) * | 2011-06-16 | 2016-02-10 | Imagination Tech Ltd | Graphics processor with non-blocking concurrent architecture |
US10061618B2 (en) * | 2011-06-16 | 2018-08-28 | Imagination Technologies Limited | Scheduling heterogenous computation on multithreaded processors |
US9378560B2 (en) | 2011-06-17 | 2016-06-28 | Advanced Micro Devices, Inc. | Real time on-chip texture decompression using shader processors |
US8782665B1 (en) | 2013-03-23 | 2014-07-15 | Throughputer, Inc. | Program execution optimization for multi-stage manycore processors |
US9448847B2 (en) | 2011-07-15 | 2016-09-20 | Throughputer, Inc. | Concurrent program execution optimization |
US8884974B2 (en) | 2011-08-12 | 2014-11-11 | Microsoft Corporation | Managing multiple GPU-based rendering contexts |
US8780120B2 (en) * | 2011-10-02 | 2014-07-15 | Microsoft Corporation | GPU self throttling |
US9122522B2 (en) * | 2011-12-14 | 2015-09-01 | Advanced Micro Devices, Inc. | Software mechanisms for managing task scheduling on an accelerated processing device (APD) |
US9329893B2 (en) * | 2011-12-14 | 2016-05-03 | Advanced Micro Devices, Inc. | Method for resuming an APD wavefront in which a subset of elements have faulted |
US8842122B2 (en) | 2011-12-15 | 2014-09-23 | Qualcomm Incorporated | Graphics processing unit with command processor |
US8928677B2 (en) * | 2012-01-24 | 2015-01-06 | Nvidia Corporation | Low latency concurrent computation |
US9529575B2 (en) | 2012-02-16 | 2016-12-27 | Microsoft Technology Licensing, Llc | Rasterization of compute shaders |
US9996394B2 (en) | 2012-03-01 | 2018-06-12 | Microsoft Technology Licensing, Llc | Scheduling accelerator tasks on accelerators using graphs |
US9019289B2 (en) * | 2012-03-07 | 2015-04-28 | Qualcomm Incorporated | Execution of graphics and non-graphics applications on a graphics processing unit |
GB2501757A (en) * | 2012-05-04 | 2013-11-06 | Ibm | Instrumentation of software applications for configuration thereof |
US9027102B2 (en) | 2012-05-11 | 2015-05-05 | Sprint Communications Company L.P. | Web server bypass of backend process on near field communications and secure element chips |
US9282898B2 (en) | 2012-06-25 | 2016-03-15 | Sprint Communications Company L.P. | End-to-end trusted communications infrastructure |
US8649770B1 (en) | 2012-07-02 | 2014-02-11 | Sprint Communications Company, L.P. | Extended trusted security zone radio modem |
US9304813B2 (en) | 2012-07-18 | 2016-04-05 | Intel Corporation | CPU independent graphics scheduler for performing scheduling operations for graphics hardware |
KR101984635B1 (ko) * | 2012-07-19 | 2019-05-31 | 삼성전자주식회사 | 어플리케이션을 고속으로 처리하는 연산 처리 장치 및 방법 |
US10002021B2 (en) * | 2012-07-20 | 2018-06-19 | Qualcomm Incorporated | Deferred preemption techniques for scheduling graphics processing unit command streams |
US8667607B2 (en) | 2012-07-24 | 2014-03-04 | Sprint Communications Company L.P. | Trusted security zone access to peripheral devices |
US9183412B2 (en) | 2012-08-10 | 2015-11-10 | Sprint Communications Company L.P. | Systems and methods for provisioning and using multiple trusted security zones on an electronic device |
US9015068B1 (en) | 2012-08-25 | 2015-04-21 | Sprint Communications Company L.P. | Framework for real-time brokering of digital content delivery |
US9215180B1 (en) | 2012-08-25 | 2015-12-15 | Sprint Communications Company L.P. | File retrieval in real-time brokering of digital content |
US9696784B2 (en) * | 2012-09-14 | 2017-07-04 | Advanced Micro Devices, Inc. | Direct hardware access media player |
US9342122B2 (en) * | 2012-09-17 | 2016-05-17 | Intel Corporation | Distributing power to heterogeneous compute elements of a processor |
US9578664B1 (en) | 2013-02-07 | 2017-02-21 | Sprint Communications Company L.P. | Trusted signaling in 3GPP interfaces in a network function virtualization wireless communication system |
US9161227B1 (en) | 2013-02-07 | 2015-10-13 | Sprint Communications Company L.P. | Trusted signaling in long term evolution (LTE) 4G wireless communication |
US9563253B2 (en) | 2013-03-12 | 2017-02-07 | Intel Corporation | Techniques for power saving on graphics-related workloads |
US9613208B1 (en) | 2013-03-13 | 2017-04-04 | Sprint Communications Company L.P. | Trusted security zone enhanced with trusted hardware drivers |
US9191388B1 (en) | 2013-03-15 | 2015-11-17 | Sprint Communications Company L.P. | Trusted security zone communication addressing on an electronic device |
US9374363B1 (en) | 2013-03-15 | 2016-06-21 | Sprint Communications Company L.P. | Restricting access of a portable communication device to confidential data or applications via a remote network based on event triggers generated by the portable communication device |
US9324016B1 (en) | 2013-04-04 | 2016-04-26 | Sprint Communications Company L.P. | Digest of biographical information for an electronic device with static and dynamic portions |
US9454723B1 (en) | 2013-04-04 | 2016-09-27 | Sprint Communications Company L.P. | Radio frequency identity (RFID) chip electrically and communicatively coupled to motherboard of mobile communication device |
US9171243B1 (en) | 2013-04-04 | 2015-10-27 | Sprint Communications Company L.P. | System for managing a digest of biographical information stored in a radio frequency identity chip coupled to a mobile communication device |
US9838869B1 (en) | 2013-04-10 | 2017-12-05 | Sprint Communications Company L.P. | Delivering digital content to a mobile device via a digital rights clearing house |
US9443088B1 (en) | 2013-04-15 | 2016-09-13 | Sprint Communications Company L.P. | Protection for multimedia files pre-downloaded to a mobile device |
US9632834B2 (en) * | 2013-05-17 | 2017-04-25 | Nvidia Corporation | Assigning priorities to computational work streams by mapping desired execution priorities to device priorities |
KR102037812B1 (ko) * | 2013-05-28 | 2019-10-29 | 삼성전자 주식회사 | 멀티 코어 그래픽 처리 장치 |
US9560519B1 (en) | 2013-06-06 | 2017-01-31 | Sprint Communications Company L.P. | Mobile communication device profound identity brokering framework |
US9424079B2 (en) | 2013-06-27 | 2016-08-23 | Microsoft Technology Licensing, Llc | Iteration support in a heterogeneous dataflow engine |
US9659342B2 (en) | 2013-06-29 | 2017-05-23 | Intel Corporation | Mid command buffer preemption for graphics workloads |
US9183606B1 (en) * | 2013-07-10 | 2015-11-10 | Sprint Communications Company L.P. | Trusted processing location within a graphics processing unit |
US9208339B1 (en) | 2013-08-12 | 2015-12-08 | Sprint Communications Company L.P. | Verifying Applications in Virtual Environments Using a Trusted Security Zone |
US8972630B1 (en) * | 2013-09-25 | 2015-03-03 | Netronome Systems, Incorporated | Transactional memory that supports a put with low priority ring command |
US9185626B1 (en) | 2013-10-29 | 2015-11-10 | Sprint Communications Company L.P. | Secure peer-to-peer call forking facilitated by trusted 3rd party voice server provisioning |
US9191522B1 (en) | 2013-11-08 | 2015-11-17 | Sprint Communications Company L.P. | Billing varied service based on tier |
US9161325B1 (en) | 2013-11-20 | 2015-10-13 | Sprint Communications Company L.P. | Subscriber identity module virtualization |
US20150145871A1 (en) * | 2013-11-22 | 2015-05-28 | Nvidia Corporation | System, method, and computer program product to enable the yielding of threads in a graphics processing unit to transfer control to a host processor |
GB2521151B (en) | 2013-12-10 | 2021-06-02 | Advanced Risc Mach Ltd | Configurable thread ordering for a data processing apparatus |
GB2521155B (en) * | 2013-12-10 | 2021-06-02 | Advanced Risc Mach Ltd | Configuring thread scheduling on a multi-threaded data processing apparatus |
US9118655B1 (en) | 2014-01-24 | 2015-08-25 | Sprint Communications Company L.P. | Trusted display and transmission of digital ticket documentation |
US9226145B1 (en) | 2014-03-28 | 2015-12-29 | Sprint Communications Company L.P. | Verification of mobile device integrity during activation |
US10346941B2 (en) * | 2014-05-30 | 2019-07-09 | Apple Inc. | System and method for unified application programming interface and model |
JP6437579B2 (ja) * | 2014-06-26 | 2018-12-12 | インテル コーポレイション | 仮想化環境におけるインテリジェントgpuスケジューリング |
US9230085B1 (en) | 2014-07-29 | 2016-01-05 | Sprint Communications Company L.P. | Network based temporary trust extension to a remote or mobile device enabled via specialized cloud services |
EP3191946A4 (en) * | 2014-09-12 | 2018-03-21 | INTEL Corporation | Facilitating dynamic parallel scheduling of command packets at graphics processing units on computing devices |
US10521874B2 (en) * | 2014-09-26 | 2019-12-31 | Intel Corporation | Method and apparatus for a highly efficient graphics processing unit (GPU) execution model |
US9779232B1 (en) | 2015-01-14 | 2017-10-03 | Sprint Communications Company L.P. | Trusted code generation and verification to prevent fraud from maleficent external devices that capture data |
US9838868B1 (en) | 2015-01-26 | 2017-12-05 | Sprint Communications Company L.P. | Mated universal serial bus (USB) wireless dongles configured with destination addresses |
US9473945B1 (en) | 2015-04-07 | 2016-10-18 | Sprint Communications Company L.P. | Infrastructure for secure short message transmission |
US9679346B2 (en) | 2015-06-07 | 2017-06-13 | Apple Inc. | Graphics engine and environment for efficient real time rendering of graphics that are not pre-known |
US9747659B2 (en) * | 2015-06-07 | 2017-08-29 | Apple Inc. | Starvation free scheduling of prioritized workloads on the GPU |
US10282804B2 (en) * | 2015-06-12 | 2019-05-07 | Intel Corporation | Facilitating configuration of computing engines based on runtime workload measurements at computing devices |
US10069766B2 (en) * | 2015-07-07 | 2018-09-04 | TransferSoft, Inc. | Accelerated data transfer using thread pool for parallel operations |
US9779469B2 (en) * | 2015-08-17 | 2017-10-03 | Qualcomm Incorporated | Register spill management for general purpose registers (GPRs) |
CN105139356B (zh) * | 2015-08-25 | 2018-06-22 | 北京锤子数码科技有限公司 | 一种图像数据的毛玻璃效果处理方法和装置 |
US10445850B2 (en) * | 2015-08-26 | 2019-10-15 | Intel Corporation | Technologies for offloading network packet processing to a GPU |
US9819679B1 (en) | 2015-09-14 | 2017-11-14 | Sprint Communications Company L.P. | Hardware assisted provenance proof of named data networking associated to device data, addresses, services, and servers |
US10515430B2 (en) | 2015-11-03 | 2019-12-24 | International Business Machines Corporation | Allocating device buffer on GPGPU for an object with metadata using access boundary alignment |
US10282719B1 (en) | 2015-11-12 | 2019-05-07 | Sprint Communications Company L.P. | Secure and trusted device-based billing and charging process using privilege for network proxy authentication and audit |
US9817992B1 (en) | 2015-11-20 | 2017-11-14 | Sprint Communications Company Lp. | System and method for secure USIM wireless network access |
US10580108B2 (en) | 2015-12-22 | 2020-03-03 | Intel Corporation | Method and apparatus for best effort quality of service (QoS) scheduling in a graphics processing architecture |
US10210593B2 (en) | 2016-01-28 | 2019-02-19 | Qualcomm Incorporated | Adaptive context switching |
US9900378B2 (en) | 2016-02-01 | 2018-02-20 | Sas Institute Inc. | Node device function and cache aware task assignment |
CA2974556C (en) * | 2016-08-25 | 2018-06-05 | Sas Institute Inc. | Compilation for node device gpu-based parallel processing |
US10664942B2 (en) | 2016-10-21 | 2020-05-26 | Advanced Micro Devices, Inc. | Reconfigurable virtual graphics and compute processor pipeline |
GB2558884B (en) * | 2017-01-12 | 2019-12-25 | Imagination Tech Ltd | Graphics processing units and methods using cost indications for sets of tiles of a rendering space |
GB2558885B (en) * | 2017-01-12 | 2021-04-07 | Imagination Tech Ltd | Graphics processing units and methods for subdividing a set of one or more tiles of a rendering space for rendering |
US10204394B2 (en) | 2017-04-10 | 2019-02-12 | Intel Corporation | Multi-frame renderer |
US10503546B2 (en) | 2017-06-02 | 2019-12-10 | Apple Inc. | GPU resource priorities based on hardware utilization |
US10499249B1 (en) | 2017-07-11 | 2019-12-03 | Sprint Communications Company L.P. | Data link layer trust signaling in communication network |
US10373287B2 (en) | 2017-08-18 | 2019-08-06 | Apple Inc. | Fast GPU context switch |
US10474600B2 (en) * | 2017-09-14 | 2019-11-12 | Samsung Electronics Co., Ltd. | Heterogeneous accelerator for highly efficient learning systems |
US10475150B2 (en) * | 2017-09-29 | 2019-11-12 | Intel Corporation | GPU minimum latency dispatch for short-duration tasks |
CN109697115B (zh) * | 2017-10-20 | 2023-06-06 | 伊姆西Ip控股有限责任公司 | 用于调度应用的方法、装置以及计算机可读介质 |
US11650902B2 (en) * | 2017-11-08 | 2023-05-16 | Intel Corporation | Methods and apparatus to perform instruction-level graphics processing unit (GPU) profiling based on binary instrumentation |
CN107920025B (zh) * | 2017-11-20 | 2021-09-14 | 北京工业大学 | 一种面向cpu-gpu异构片上网络的动态路由方法 |
US10269167B1 (en) * | 2018-05-21 | 2019-04-23 | Apple Inc. | Indirect command buffers for graphics processing |
KR102092459B1 (ko) * | 2018-06-20 | 2020-03-23 | 한국과학기술원 | 컨테이너 기반 가상화 환경에서 gpu 메모리 자원 관리 및 스케줄링 방법 및 시스템 |
US10424043B1 (en) * | 2018-07-02 | 2019-09-24 | Intel Corporation | Efficiently enqueuing workloads from user mode to hardware across privilege domains |
CN112912849A (zh) * | 2018-07-27 | 2021-06-04 | 浙江天猫技术有限公司 | 一种基于图数据的计算运行调度方法、系统、计算机可读介质及设备 |
US10901848B2 (en) | 2018-08-03 | 2021-01-26 | Western Digital Technologies, Inc. | Storage systems with peer data recovery |
US10692169B2 (en) | 2018-09-28 | 2020-06-23 | Apple Inc. | Graphics driver virtual channels for out-of-order command scheduling for a graphics processor |
US10795730B2 (en) | 2018-09-28 | 2020-10-06 | Apple Inc. | Graphics hardware driven pause for quality of service adjustment |
US11182258B2 (en) * | 2019-01-04 | 2021-11-23 | Western Digital Technologies, Inc. | Data rebuild using dynamic peer work allocation |
CN110888737A (zh) * | 2019-11-18 | 2020-03-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种支持多GPU的Ringbuffer实现系统及方法 |
CN111580974B (zh) * | 2020-05-08 | 2023-06-27 | 抖音视界有限公司 | Gpu实例分配方法、装置、电子设备和计算机可读介质 |
KR20220123883A (ko) | 2021-03-02 | 2022-09-13 | 삼성전자주식회사 | 컴퓨팅 시스템 및 컴퓨팅 시스템의 동작 방법 |
CN113051082A (zh) * | 2021-03-02 | 2021-06-29 | 长沙景嘉微电子股份有限公司 | 软件硬件数据同步方法、装置、电子设备和存储介质 |
JP7158530B1 (ja) | 2021-05-10 | 2022-10-21 | 株式会社セイバン | 背負いベルトおよび背負い鞄 |
US20230108001A1 (en) * | 2021-09-27 | 2023-04-06 | Advanced Micro Devices, Inc. | Priority-based scheduling with limited resources |
WO2023113822A1 (en) * | 2021-12-17 | 2023-06-22 | Google Llc | Loading state detection for gaming applications |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07244572A (ja) * | 1994-03-07 | 1995-09-19 | Hitachi Ltd | 並列描画処理装置 |
JPH09185508A (ja) * | 1995-12-28 | 1997-07-15 | Fuji Xerox Co Ltd | 画像形成装置および画像形成方法 |
JPH11133943A (ja) * | 1997-10-27 | 1999-05-21 | Hitachi Ltd | データ処理装置及びデータ処理システム |
JP2001291098A (ja) * | 2000-04-10 | 2001-10-19 | Yamaha Corp | 画像プロセッサ |
JP2002216155A (ja) * | 2001-01-12 | 2002-08-02 | Namco Ltd | 画像生成システム、プログラム及び情報記憶媒体 |
JP2003006669A (ja) * | 2001-06-22 | 2003-01-10 | Toshiba Corp | 画像描画装置 |
JP2003233508A (ja) * | 2002-01-04 | 2003-08-22 | Microsoft Corp | コンピューティングシステム中のコプロセッサの計算リソースを制御するための方法およびコンピューティング装置 |
JP2004252983A (ja) * | 2003-02-18 | 2004-09-09 | Microsoft Corp | コプロセッサの性能を強化するシステムおよび方法 |
JP2004272894A (ja) * | 2003-02-18 | 2004-09-30 | Microsoft Corp | グラフィックス処理ユニットのマルチスレッド式カーネル |
JP2005182825A (ja) * | 2003-12-18 | 2005-07-07 | Nvidia Corp | マルチスレッド式マイクロプロセッサのスレッドにまたがるアウト・オブ・オーダー命令ディスパッチ |
WO2008082964A1 (en) * | 2006-12-30 | 2008-07-10 | Intel Corporation | Thread queuing method and apparatus |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5889779A (en) * | 1996-12-02 | 1999-03-30 | Rockwell Science Center | Scheduler utilizing dynamic schedule table |
KR100988395B1 (ko) * | 2003-02-18 | 2010-10-18 | 마이크로소프트 코포레이션 | 태스크 스케줄링 방법, 태스크 스케줄링 지원 장치, 코프로세싱 스케줄러에 관련하여 사용하기 위한 코프로세서, 및 컴퓨터 판독가능 저장 매체 |
US7659904B2 (en) * | 2003-04-07 | 2010-02-09 | Ati Technologies Ulc | System and method for processing high priority data elements |
US8504736B2 (en) * | 2008-05-30 | 2013-08-06 | Sony Computer Entertainment America Inc. | File input/output scheduler |
-
2009
- 2009-09-03 US US12/553,637 patent/US8310492B2/en active Active
-
2010
- 2010-09-02 IN IN2567DEN2012 patent/IN2012DN02567A/en unknown
- 2010-09-02 WO PCT/US2010/047666 patent/WO2011028896A1/en active Application Filing
- 2010-09-02 CN CN201080048071.9A patent/CN102597950B/zh active Active
- 2010-09-02 KR KR1020127008571A patent/KR101587201B1/ko active IP Right Grant
- 2010-09-02 JP JP2012528042A patent/JP5722327B2/ja active Active
- 2010-09-02 EP EP10754622.8A patent/EP2473914B1/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07244572A (ja) * | 1994-03-07 | 1995-09-19 | Hitachi Ltd | 並列描画処理装置 |
JPH09185508A (ja) * | 1995-12-28 | 1997-07-15 | Fuji Xerox Co Ltd | 画像形成装置および画像形成方法 |
JPH11133943A (ja) * | 1997-10-27 | 1999-05-21 | Hitachi Ltd | データ処理装置及びデータ処理システム |
JP2001291098A (ja) * | 2000-04-10 | 2001-10-19 | Yamaha Corp | 画像プロセッサ |
JP2002216155A (ja) * | 2001-01-12 | 2002-08-02 | Namco Ltd | 画像生成システム、プログラム及び情報記憶媒体 |
JP2003006669A (ja) * | 2001-06-22 | 2003-01-10 | Toshiba Corp | 画像描画装置 |
JP2003233508A (ja) * | 2002-01-04 | 2003-08-22 | Microsoft Corp | コンピューティングシステム中のコプロセッサの計算リソースを制御するための方法およびコンピューティング装置 |
JP2004252983A (ja) * | 2003-02-18 | 2004-09-09 | Microsoft Corp | コプロセッサの性能を強化するシステムおよび方法 |
JP2004272894A (ja) * | 2003-02-18 | 2004-09-30 | Microsoft Corp | グラフィックス処理ユニットのマルチスレッド式カーネル |
JP2005182825A (ja) * | 2003-12-18 | 2005-07-07 | Nvidia Corp | マルチスレッド式マイクロプロセッサのスレッドにまたがるアウト・オブ・オーダー命令ディスパッチ |
WO2008082964A1 (en) * | 2006-12-30 | 2008-07-10 | Intel Corporation | Thread queuing method and apparatus |
JP2010515161A (ja) * | 2006-12-30 | 2010-05-06 | インテル コーポレイション | スレッドをキューに供給する方法及び装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017163441A1 (ja) * | 2016-03-24 | 2017-09-28 | 富士ゼロックス株式会社 | 画像処理装置、画像処理方法、及び画像処理プログラム |
CN108463836A (zh) * | 2016-03-24 | 2018-08-28 | 富士施乐株式会社 | 图像处理装置、图像处理方法和图像处理程序 |
US10650481B2 (en) | 2016-03-24 | 2020-05-12 | Fuji Xerox Co., Ltd. | Image processing device, image processing method, and non-transitory computer readable medium for image processing |
CN108463836B (zh) * | 2016-03-24 | 2022-04-01 | 富士胶片商业创新有限公司 | 图像处理装置、图像处理方法和图像处理程序 |
JP2019536169A (ja) * | 2016-11-23 | 2019-12-12 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | パーシステントコンピューティングのための低電力及び低レイテンシのgpuコプロセッサ |
JP7078622B2 (ja) | 2016-11-23 | 2022-05-31 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | パーシステントコンピューティングのための低電力及び低レイテンシのgpuコプロセッサ |
US11625807B2 (en) | 2016-11-23 | 2023-04-11 | Advanced Micro Devices, Inc. | Low power and low latency GPU coprocessor for persistent computing |
Also Published As
Publication number | Publication date |
---|---|
EP2473914B1 (en) | 2017-03-22 |
KR20120058605A (ko) | 2012-06-07 |
WO2011028896A1 (en) | 2011-03-10 |
IN2012DN02567A (ja) | 2015-08-28 |
EP2473914A1 (en) | 2012-07-11 |
US8310492B2 (en) | 2012-11-13 |
CN102597950B (zh) | 2014-10-29 |
CN102597950A (zh) | 2012-07-18 |
KR101587201B1 (ko) | 2016-01-20 |
US20110050713A1 (en) | 2011-03-03 |
JP5722327B2 (ja) | 2015-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5722327B2 (ja) | Gpuワークのハードウエアベースでのスケジューリング | |
JP6381734B2 (ja) | グラフィックス計算プロセススケジューリング | |
US11550627B2 (en) | Hardware accelerated dynamic work creation on a graphics processing unit | |
US8963933B2 (en) | Method for urgency-based preemption of a process | |
KR101922681B1 (ko) | 셰이더 코어에서 셰이더 자원 할당을 위한 정책 | |
JP6228459B2 (ja) | システムコール要求の通信の最適化 | |
JP6086868B2 (ja) | ユーザモードからのグラフィックス処理ディスパッチ | |
US20120179851A1 (en) | Computer System Interrupt Handling | |
US20120229481A1 (en) | Accessibility of graphics processing compute resources | |
US20200167191A1 (en) | Laxity-aware, dynamic priority variation at a processor | |
US20120180056A1 (en) | Heterogeneous Enqueuinig and Dequeuing Mechanism for Task Scheduling | |
JP5805783B2 (ja) | コンピュータシステムインタラプト処理 | |
WO2012082777A1 (en) | Managed task scheduling on an accelerated processing device (apd) | |
JP2022079764A (ja) | 同期制御システムおよび同期制御方法 | |
CN112114967B (zh) | 一种基于服务优先级的gpu资源预留方法 | |
US20240111578A1 (en) | Hierarchical work scheduling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130902 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130902 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20130902 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20130930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131002 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20131227 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140110 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140326 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140625 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140702 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140728 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140909 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150108 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20150116 |
|
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: 20150317 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150325 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5722327 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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |