JP6081492B2 - グラフィックス並列処理ユニットに関するバッファ管理 - Google Patents
グラフィックス並列処理ユニットに関するバッファ管理 Download PDFInfo
- Publication number
- JP6081492B2 JP6081492B2 JP2014554817A JP2014554817A JP6081492B2 JP 6081492 B2 JP6081492 B2 JP 6081492B2 JP 2014554817 A JP2014554817 A JP 2014554817A JP 2014554817 A JP2014554817 A JP 2014554817A JP 6081492 B2 JP6081492 B2 JP 6081492B2
- Authority
- JP
- Japan
- Prior art keywords
- thread
- buffer
- data
- programmable computing
- computing unit
- 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
- 239000000872 buffer Substances 0.000 title claims description 333
- 238000003860 storage Methods 0.000 claims description 83
- 238000000034 method Methods 0.000 claims description 72
- 230000006870 function Effects 0.000 description 47
- 238000007726 management method Methods 0.000 description 45
- 238000004364 calculation method Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 239000002699 waste material Substances 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 239000012530 fluid Substances 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 238000009987 spinning Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000005574 cross-species transmission Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 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/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/001—Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
-
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- 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, look ahead
-
- 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
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- 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/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/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- 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/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06G—ANALOGUE COMPUTERS
- G06G5/00—Devices in which the computing operation is performed by means of fluid-pressure elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/10—Display system comprising arrangements, such as a coprocessor, specific for motion video images
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/121—Frame memory handling using a cache memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Mathematical Physics (AREA)
- Advance Control (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
- Multi Processors (AREA)
Description
プロセッサ14は、バッファ22の状態を決定するために様々な命令を実行するようにも構成することができる。例えば、プロセッサ14は、バッファ22に格納されたデータをIC12又はGPU16のバッファ内にコピーする命令及びIC12又はGPU16のバッファ内に格納されたデータをバッファ22内にコピーする命令を実行することができる。プロセッサ14は、バッファ22に格納されたデータの量を定義する命令、及び(例えば、バッファが壊れていないことを確認するために)バッファ22の長さ及び幅を確認する命令も実行することができる。プロセッサ14がバッファ22の状態を決定するのを可能にする命令の該実行は、すべての例で要求されるわけではないが、カーネルの開発者がGPU16ではなくプロセッサ14で命令を実行することによってバッファ22の状態を決定するのに役立つことができる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1] データ処理動作をパイプライン方式で実行するための方法であって、
グラフィックス処理ユニット(GPU)のシェーダプロセッサの第1のプログラマブル計算ユニットにおいて第1のスレッドを実行することと、
前記GPUの前記シェーダプロセッサの第2のプログラマブル計算ユニットにおいて第2のスレッドを実行することと、
前記GPUを含む集積回路(IC)内の管理ユニットを用いて、前記第1のスレッドの前記実行によって生成されたデータを前記ICの外部のグローバルメモリ内のバッファ内に格納することの要求を前記第1のプログラマブル計算ユニットから受信することであって、前記第1のスレッドの前記実行によって生成された前記データは、前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによって消費されることになり、前記バッファは、先入れ先出し(FIFO)バッファ及びリングバッファのうちの1つを備えることと、
前記管理ユニットを用いて、前記第1のスレッドの前記実行によって生成された前記データが格納されるべき前記バッファ内の記憶場所を決定することと、
前記ICを用いて、前記第1のスレッドの前記実行によって生成された前記データを前記バッファ内の前記決定された記憶場所に格納することと、を備える、方法。
[C2] 前記管理ユニットを用いて、前記バッファの状態情報を前記IC内に格納することをさらに備え、
前記バッファの前記状態情報は、前記バッファの開始アドレス、前記バッファの終了アドレス、生成されたデータが格納されるべき前記バッファ内のアドレス、及びデータが取り出されるべき前記バッファ内のアドレスのうちの1つ以上を含み、
前記バッファ内の前記記憶場所を決定することは、前記バッファの前記格納された状態情報に基づいて前記第1のスレッドの前記実行によって生成された前記データが格納されるべき前記バッファ内の前記記憶場所を決定することを備えるC1に記載の方法。
[C3] 前記管理ユニットを用いて、前記第1のスレッドの前記実行によって生成された前記データの少なくとも一部を取り出すことの要求を前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットから受信することと、
前記管理ユニットを用いて、前記第1のスレッドの前記実行によって生成される前記データが、前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによる消費のための取り出しために入手可能であるかどうかを決定することと、をさらに備えるC1に記載の方法。
[C4] 前記第2のプログラマブル計算ユニットから前記要求を受信することは、前記第1のスレッドの前記実行によって生成されたデータを格納することの前記要求を前記第1のプログラマブル計算ユニットから受信するのと同時に、受信する前に、又は受信した後に前記第2のプログラマブル計算ユニットから前記要求を受信することを備えるC3に記載の方法。
[C5] 前記第2のスレッドによって要求された前記データが、前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによる消費のための取り出しのために入手可能でないときに、
前記管理ユニットを用いて、第3のスレッドを実行するように前記第2のプログラマブル計算ユニットに指示することと、
前記管理ユニットを用いて、前記第2のスレッドによって要求された前記データが、前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによる消費のための取り出しのために入手可能であるときに前記第2のプログラマブル計算ユニットに示すことと、
前記管理ユニットを用いて、前記第2のスレッドによって要求された前記データが前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによる消費のための取り出しのために入手可能であるときに前記第2のスレッドによって要求された前記データを消費するために前記第2のスレッドを実行するように前記第2のプログラマブル計算ユニットに指示することと、をさらに備えるC3に記載の方法。
[C6] 前記管理ユニットを用いて、前記第2のスレッドによって要求された前記データに加えて前記グローバルメモリからデータを受信することと、
前記管理ユニットを用いて、前記第2のスレッドによって要求された前記データに加えての前記データを前記IC内のキャッシュに格納することと、をさらに備えるC3に記載の方法。
[C7] 前記第1のスレッドを実行することは、カーネルの生成するスレッドを実行することを備え、前記第2のスレッドを実行することは、前記カーネルの消費するスレッドを実行することを備えるC1に記載の方法。
[C8] 前記第1のスレッドを実行することは、生成するカーネルの前記第1のスレッドを実行することを備え、前記第2のスレッドを実行することは、消費するカーネルのスレッドを実行することを備えるC1に記載の方法。
[C9] 前記GPUは、前記管理ユニットを含むC1に記載の方法。
[C10] 前記バッファ内の前記記憶場所を決定することは、前記第1のスレッドの前記実行によって生成された前記データが前記バッファ内において格納されるべき前記記憶場所を前記第1のスレッドが示さずに前記データが格納されるべき前記バッファ内の前記記憶場所を決定することを備えるC1に記載の方法。
[C11] 装置であって、
バッファを含むグローバルメモリであって、前記バッファは、先入れ先出し(FIFO)バッファ及びリングバッファのうちの1つを備えるグローバルメモリと、
集積回路(IC)であって、
グラフィックス処理ユニット(GPU)であって、
第1のスレッドを実行するように構成された第1のプログラマブル計算ユニットと、
第2のスレッドを実行するように構成された第2のプログラマブル計算ユニットと、を備えるGPUと、
前記第1のスレッドの前記実行によって生成されたデータを前記グローバルメモリ内の前記バッファ内に格納することの要求を前記第1のプログラマブル計算ユニットから受信し、及び
前記第1のスレッドの前記実行によって生成された前記データが格納されるべき前記バッファ内の記憶場所を決定するように構成された管理ユニットと、を備える、集積回路(IC)とを備え、前記第1のスレッドの前記実行によって生成された前記データは、前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによって消費され、
前記ICは、前記第1のスレッドの前記実行によって生成された前記データを前記バッファ内の前記決定された記憶場所に格納するように構成される、装置。
[C12] 前記管理ユニットは、前記バッファの状態情報を前記IC内に格納するように構成され、
前記バッファの前記状態情報は、前記バッファの開始アドレス、前記バッファの終了アドレス、生成されたデータが格納されるべき前記バッファ内のアドレス、及びデータが取り出されるべき前記バッファ内のアドレスのうちの1つ以上を含み、
前記管理ユニットは、前記バッファの前記格納された状態情報に基づいて前記第1のスレッドの前記実行によって生成された前記データが格納されるべき前記バッファ内の前記記憶場所を決定するように構成されるC11に記載の装置。
[C13] 前記管理ユニットは、
前記第1のスレッドの前記実行によって生成された前記データの少なくとも一部を取り出すことの要求を前記第2のスレッドを実行する前記第2のプログラマブル計算ユーザから受信し、及び
前記第1のスレッドの前記実行によって生成される前記データが、前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによる消費のための取り出しために入手可能であるかどうかを決定するように構成されるC11に記載の装置。
[C14] 前記管理ユニットは、前記第1のスレッドの前記実行によって生成されたデータを格納することの前記要求を前記第1のプログラマブル計算ユニットから受信するのと同時に、受信する前に、又は受信した後に前記第2のプログラマブル計算ユニットから前記要求を受信するように構成されるC13に記載の装置。
[C15] 前記管理ユニットは、
前記第2のスレッドによって要求された前記データが、前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによる消費のための取り出しのために入手可能でないときに、第3のスレッドを実行するように前記第2のプログラマブル計算ユニットに指示し、
前記第2のスレッドによって要求された前記データが、前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによる消費のための取り出しのために入手可能であるときに前記第2のプログラマブル計算ユニットに示し、及び
前記第2のスレッドによって要求された前記データが前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによる消費のための取り出しのために入手可能であるときに前記第2のスレッドによって要求された前記データを消費するために前記第2のスレッドを実行するように前記第2のプログラマブル計算ユニットに指示するように構成されるC13に記載の装置。
[C16] 前記管理ユニットは、
前記第2のスレッドによって要求された前記データに加えて前記グローバルメモリからデータを取り出し、及び
前記第2のスレッドによって要求された前記データに加えての前記データを前記IC内のキャッシュに格納するように構成されるC13に記載の装置。
[C17] 前記第1のスレッドは、カーネルの生成するスレッドを備え、前記第2のスレッドは、前記カーネルの消費するスレッドを備えるC11に記載の装置。
[C18] 前記第1のスレッドは、生成するカーネルのスレッドを備え、前記第2のスレッドは、消費するカーネルのスレッドを備えるC11に記載の装置。
[C19] 前記GPUは、前記管理ユニットを含むC11に記載の装置。
[C20] 前記管理ユニットは、前記第1のスレッドの前記実行によって生成された前記データが前記バッファ内において格納されるべき前記記憶場所を前記第1のスレッドが示さずに前記データが格納されるべき前記バッファ内の前記記憶場所を決定することを備えるC11に記載の装置。
[C21] 前記装置は、映像デバイス、セットトップボックス、無線ハンドセット、パーソナルデジタルアシスタント、デスクトップコンピュータ、ラップトップコンピュータ、ゲームコンソール、ビデオ会議ユニット、及びタブレットコンピューティングデバイスのうちの1つを備えるC11に記載の装置。
[C22] 装置であって、
バッファを含むグローバルメモリであって、前記バッファは、先入れ先出し(FIFO)バッファ及びリングバッファのうちの1つを備えるグローバルメモリと、
集積回路(IC)であって、
グラフィックス処理ユニット(GPU)であって、
第1のスレッドを実行するための手段と、
第2のスレッドを実行するための手段と、
前記第1のスレッドの前記実行によって生成されたデータを前記グローバルメモリ内の前記バッファ内に格納することの要求を前記第1のスレッドを実行するための手段から受信するための手段であって、前記第1のスレッドの前記実行によって生成された前記データは、前記第2のスレッドを実行するための前記手段によって消費される手段と、
前記第1のスレッドを実行するための前記手段によって生成された前記データが格納されるべき前記バッファ内の記憶場所を決定するための手段と、
前記第1のスレッドの前記実行によって生成された前記データを前記バッファ内の前記決定された記憶場所に格納するための手段と、を備えるグラフィックス処理ユニット(GPU)、を備える集積回路(IC)と、を備える、装置。
[C23] コンピュータによって読み取り可能な記憶媒体であって、
実行されたときに、
グラフィックス処理ユニット(GPU)のシェーダプロセッサの第1のプログラマブル計算ユニットにおいて第1のスレッドを実行し、
前記GPUの前記シェーダプロセッサの第2のプログラマブル計算ユニットにおいて第2のスレッドを実行し、
前記GPUを含む集積回路(IC)内の管理ユニットを用いて、前記第1のスレッドの前記実行によって生成されたデータを前記ICの外部のグローバルメモリ内のバッファ内に格納することの要求を前記第1のプログラマブル計算ユニットから受信し、
前記管理ユニットを用いて、前記第1のスレッドの前記実行によって生成された前記データが格納されるべき前記バッファ内の記憶場所を決定し、及び
前記ICを用いて、前記第1のスレッドの前記実行によって生成された前記データを前記バッファ内の前記決定された記憶場所に格納することを1つ以上のプロセッサに行わせる命令が格納されており、前記第1のスレッドの前記実行によって生成された前記データは、前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによって消費されることになり、前記バッファは、先入れ先出し(FIFO)バッファ及びリングバッファのうちの1つを備える、コンピュータによって読み取り可能な記憶媒体。
Claims (23)
- データ処理動作をパイプライン方式で実行するための方法であって、
グラフィックス処理ユニット(GPU)のシェーダプロセッサの第1のプログラマブル計算ユニットにおいて第1のスレッドを実行することであって、前記シェーダプロセッサは前記第1のプログラマブル計算ユニットを含む複数のプログラマブル計算ユニットを含むことと、
前記GPUの前記シェーダプロセッサの前記複数のプログラマブル計算ユニットの第2のプログラマブル計算ユニットにおいて第2のスレッドを実行することと、
前記GPUを含む集積回路(IC)内の管理ユニットを用いて、前記第1のスレッドの前記実行によって生成されたデータを前記複数のプログラマブル計算ユニットによって共有される前記ICの外部の集積グローバルメモリ内のバッファ内に格納することの要求を前記第1のプログラマブル計算ユニットから受信することであって、前記第1のスレッドの前記実行によって生成された前記データは、前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによって消費されることになり、前記バッファは、先入れ先出し(FIFO)バッファを備えることと、
前記管理ユニットを用いて、前記第1のスレッドの前記実行によって生成された前記データが格納されるべき前記バッファ内の記憶場所を決定することと、
前記ICを用いて、前記第1のスレッドの前記実行によって生成された前記データを前記バッファ内の前記決定された記憶場所に格納することと、を備える、方法。 - 前記管理ユニットを用いて、前記バッファの状態情報を前記IC内に格納することをさらに備え、
前記バッファの前記状態情報は、前記バッファの開始アドレス、前記バッファの終了アドレス、生成されたデータが格納されるべき前記バッファ内のアドレス、及びデータが取り出されるべき前記バッファ内のアドレスのうちの1つ以上を含み、
前記バッファ内の前記記憶場所を決定することは、前記バッファの前記格納された状態情報に基づいて前記第1のスレッドの前記実行によって生成された前記データが格納されるべき前記バッファ内の前記記憶場所を決定することを備える請求項1に記載の方法。 - 前記管理ユニットを用いて、前記第1のスレッドの前記実行によって生成された前記データの少なくとも一部を取り出すことの要求を前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットから受信することと、
前記管理ユニットを用いて、前記第1のスレッドの前記実行によって生成される前記データが、前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによる消費のための取り出しのために入手可能であるかどうかを決定することと、をさらに備える請求項1に記載の方法。 - 前記第2のプログラマブル計算ユニットから前記要求を受信することは、前記第1のスレッドの前記実行によって生成されたデータを格納することの前記要求を前記第1のプログラマブル計算ユニットから受信するのと同時に、受信する前に、又は受信した後に前記第2のプログラマブル計算ユニットから前記要求を受信することを備える請求項3に記載の方法。
- 前記第2のスレッドによって要求された前記データが、前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによる消費のための取り出しのために入手可能でないときに、
前記管理ユニットを用いて、第3のスレッドを実行するように前記第2のプログラマブル計算ユニットに指示することと、
前記管理ユニットを用いて、前記第2のスレッドによって要求された前記データが、前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによる消費のための取り出しのために入手可能であるときに前記第2のプログラマブル計算ユニットに指示することと、
前記管理ユニットを用いて、前記第2のスレッドによって要求された前記データが前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによる消費のための取り出しのために入手可能であるときに前記第2のスレッドによって要求された前記データを消費するために前記第2のスレッドを実行するように前記第2のプログラマブル計算ユニットに指示することと、をさらに備える請求項3に記載の方法。 - 前記管理ユニットを用いて、前記第2のスレッドによって要求された前記データに加えて前記集積グローバルメモリからデータを取り出すことと、
前記管理ユニットを用いて、前記第2のスレッドによって要求された前記データに加えての前記データを前記IC内のキャッシュに格納することと、をさらに備える請求項3に記載の方法。 - 前記第1のスレッドを実行することは、カーネルの生成するスレッドを実行することを備え、前記第2のスレッドを実行することは、前記カーネルの消費するスレッドを実行することを備える請求項1に記載の方法。
- 前記第1のスレッドを実行することは、生成するカーネルの前記第1のスレッドを実行することを備え、前記第2のスレッドを実行することは、消費するカーネルのスレッドを実行することを備える請求項1に記載の方法。
- 前記GPUは、前記管理ユニットを含み、前記FIFOバッファは、リングバッファを備える、請求項1に記載の方法。
- 前記バッファ内の前記記憶場所を決定することは、前記バッファ内において前記データが格納されるべき前記記憶場所を前記第1のスレッドが示さずに、前記第1のスレッドの前記実行によって生成された前記データが格納されるべき前記バッファ内の前記記憶場所を決定することを備える請求項1に記載の方法。
- 装置であって、
複数のプログラマブル計算ユニットによって共有される集積グローバルメモリであって、前記集積グローバルメモリはバッファを含み、前記バッファは、先入れ先出し(FIFO)バッファを備える、前記集積グローバルメモリと、
集積回路(IC)であって、
グラフィックス処理ユニット(GPU)であって、
前記複数のプログラマブル計算ユニットを備え、
前記複数のプログラマブル計算ユニットの第1のプログラマブル計算ユニットは、第1のスレッドを実行するように構成され、
前記複数のプログラマブル計算ユニットの第2のプログラマブル計算ユニットは、第2のスレッドを実行するように構成された前記GPUと、
前記第1のスレッドの前記実行によって生成されたデータを前記集積グローバルメモリ内の前記バッファ内に格納することの要求を前記第1のプログラマブル計算ユニットから受信し、及び
前記第1のスレッドの前記実行によって生成された前記データが格納されるべき前記バッファ内の記憶場所を決定するように構成された管理ユニットと、を備える、集積回路(IC)とを備え、前記第1のスレッドの前記実行によって生成された前記データは、前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによって消費され、
前記ICは、前記第1のスレッドの前記実行によって生成された前記データを前記バッファ内の前記決定された記憶場所に格納するように構成される、装置。 - 前記管理ユニットは、前記バッファの状態情報を前記IC内に格納するように構成され、
前記バッファの前記状態情報は、前記バッファの開始アドレス、前記バッファの終了アドレス、生成されたデータが格納されるべき前記バッファ内のアドレス、及びデータが取り出されるべき前記バッファ内のアドレスのうちの1つ以上を含み、
前記管理ユニットは、前記バッファの前記格納された状態情報に基づいて前記第1のスレッドの前記実行によって生成された前記データが格納されるべき前記バッファ内の前記記憶場所を決定するように構成される請求項11に記載の装置。 - 前記管理ユニットは、
前記第1のスレッドの前記実行によって生成された前記データの少なくとも一部を取り出すことの要求を前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットから受信し、及び
前記第1のスレッドの前記実行によって生成される前記データが、前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによる消費のための取り出しのために入手可能であるかどうかを決定するように構成される請求項11に記載の装置。 - 前記管理ユニットは、前記第1のスレッドの前記実行によって生成されたデータを格納することの前記要求を前記第1のプログラマブル計算ユニットから受信するのと同時に、受信する前に、又は受信した後に前記第2のプログラマブル計算ユニットから前記要求を受信するように構成される請求項13に記載の装置。
- 前記管理ユニットは、
前記第2のスレッドによって要求された前記データが、前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによる消費のための取り出しのために入手可能でないときに、第3のスレッドを実行するように前記第2のプログラマブル計算ユニットに指示し、
前記第2のスレッドによって要求された前記データが、前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによる消費のための取り出しのために入手可能であるときに前記第2のプログラマブル計算ユニットに指示し、及び
前記第2のスレッドによって要求された前記データが前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによる消費のための取り出しのために入手可能であるときに前記第2のスレッドによって要求された前記データを消費するために前記第2のスレッドを実行するように前記第2のプログラマブル計算ユニットに指示するように構成される請求項13に記載の装置。 - 前記管理ユニットは、
前記第2のスレッドによって要求された前記データに加えて前記グローバルメモリからデータを取り出し、及び
前記第2のスレッドによって要求された前記データに加えて前記データを前記IC内のキャッシュに格納するように構成される請求項13に記載の装置。 - 前記第1のスレッドは、カーネルの生成するスレッドを備え、前記第2のスレッドは、前記カーネルの消費するスレッドを備える請求項11に記載の装置。
- 前記第1のスレッドは、生成するカーネルのスレッドを備え、前記第2のスレッドは、消費するカーネルのスレッドを備える請求項11に記載の装置。
- 前記GPUは、前記管理ユニットを含み、前記FIFOバッファはリングバッファを備える、請求項11に記載の装置。
- 前記管理ユニットは、前記第1のスレッドが前記バッファ内で前記データが格納されるべき前記記憶場所を示さずに前記第1のスレッドの実行によって生成された前記データが格納されるべき前記バッファ内の前記記憶場所を決定するように構成される請求項11に記載の装置。
- 前記装置は、映像デバイス、セットトップボックス、無線ハンドセット、パーソナルデジタルアシスタント、デスクトップコンピュータ、ラップトップコンピュータ、ゲームコンソール、ビデオ会議ユニット、及びタブレットコンピューティングデバイスのうちの1つを備える請求項11に記載の装置。
- 装置であって、
バッファを含む複数のプログラマブル計算ユニットによって共有される集積グローバルメモリであって、前記バッファは、先入れ先出し(FIFO)バッファを備える集積グローバルメモリと、
集積回路(IC)であって、
グラフィックス処理ユニット(GPU)であって、
第1のスレッドを実行するための手段と、
第2のスレッドを実行するための手段と、
前記第1のスレッドの前記実行によって生成されたデータを前記集積グローバルメモリ内の前記バッファ内に格納することの要求を前記第1のスレッドを実行するための前記手段から受信するための手段であって、前記第1のスレッドの前記実行によって生成された前記データは、前記第2のスレッドを実行するための前記手段によって消費される手段と、
前記第1のスレッドを実行するための前記手段によって生成された前記データが格納されるべき前記バッファ内の記憶場所を決定するための手段と、
前記第1のスレッドの前記実行によって生成された前記データを前記バッファ内の前記決定された記憶場所に格納するための手段と、を備えるグラフィックス処理ユニット(GPU)、を備える集積回路(IC)と、を備える、装置。 - コンピュータによって読み取り可能な非一時的な記憶媒体であって、
実行されたときに、
グラフィックス処理ユニット(GPU)のシェーダプロセッサの第1のプログラマブル計算ユニットにおいて第1のスレッドを実行し、ここにおいて、前記シェーダプロセッサは前記第1のプログラマブル計算ユニットを含む複数のプログラマブル計算ユニットを含む、前記第1のスレッドを実行し、
前記GPUの前記シェーダプロセッサの前記複数のプロブラマブル計算ユニットの第2のプログラマブル計算ユニットにおいて第2のスレッドを実行し、
前記GPUを含む集積回路(IC)内の管理ユニットを用いて、前記第1のスレッドの前記実行によって生成されたデータを前記複数のプログラマブル計算ユニットによって共有される前記ICの外部の集積グローバルメモリ内のバッファ内に格納することの要求を前記第1のプログラマブル計算ユニットから受信し、
前記管理ユニットを用いて、前記第1のスレッドの前記実行によって生成された前記データが格納されるべき前記バッファ内の記憶場所を決定し、及び
前記ICを用いて、前記第1のスレッドの前記実行によって生成された前記データを前記バッファ内の前記決定された記憶場所に格納することを1つ以上のプロセッサに行わせる命令が格納されており、前記第1のスレッドの前記実行によって生成された前記データは、前記第2のスレッドを実行する前記第2のプログラマブル計算ユニットによって消費されることになり、前記バッファは、先入れ先出し(FIFO)バッファを備える、コンピュータによって読み取り可能な非一時的な記憶媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261591733P | 2012-01-27 | 2012-01-27 | |
US61/591,733 | 2012-01-27 | ||
US13/747,947 | 2013-01-23 | ||
US13/747,947 US9256915B2 (en) | 2012-01-27 | 2013-01-23 | Graphics processing unit buffer management |
PCT/US2013/022900 WO2013112692A1 (en) | 2012-01-27 | 2013-01-24 | Buffer management for graphics parallel processing unit |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2015513715A JP2015513715A (ja) | 2015-05-14 |
JP2015513715A5 JP2015513715A5 (ja) | 2016-05-26 |
JP6081492B2 true JP6081492B2 (ja) | 2017-02-15 |
Family
ID=48869818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014554817A Active JP6081492B2 (ja) | 2012-01-27 | 2013-01-24 | グラフィックス並列処理ユニットに関するバッファ管理 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9256915B2 (ja) |
EP (1) | EP2807646A1 (ja) |
JP (1) | JP6081492B2 (ja) |
KR (1) | KR101707289B1 (ja) |
CN (1) | CN104081449B (ja) |
BR (1) | BR112014018434B1 (ja) |
WO (1) | WO2013112692A1 (ja) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10817043B2 (en) * | 2011-07-26 | 2020-10-27 | Nvidia Corporation | System and method for entering and exiting sleep mode in a graphics subsystem |
US9304730B2 (en) * | 2012-08-23 | 2016-04-05 | Microsoft Technology Licensing, Llc | Direct communication between GPU and FPGA components |
CN103810124A (zh) * | 2012-11-09 | 2014-05-21 | 辉达公司 | 用于数据传输的系统及方法 |
US9977683B2 (en) * | 2012-12-14 | 2018-05-22 | Facebook, Inc. | De-coupling user interface software object input from output |
US10102603B2 (en) | 2013-06-10 | 2018-10-16 | Sony Interactive Entertainment Inc. | Scheme for compressing vertex shader output parameters |
US10096079B2 (en) | 2013-06-10 | 2018-10-09 | Sony Interactive Entertainment Inc. | Fragment shaders perform vertex shader computations |
US10134102B2 (en) * | 2013-06-10 | 2018-11-20 | Sony Interactive Entertainment Inc. | Graphics processing hardware for using compute shaders as front end for vertex shaders |
US10176621B2 (en) * | 2013-06-10 | 2019-01-08 | Sony Interactive Entertainment Inc. | Using compute shaders as front end for vertex shaders |
US9659399B2 (en) * | 2013-08-23 | 2017-05-23 | Nvidia Corporation | System, method, and computer program product for passing attribute structures between shader stages in a graphics pipeline |
US9805440B2 (en) * | 2013-11-22 | 2017-10-31 | Intel Corporation | Method and apparatus to improve performance of chained tasks on a graphics processing unit |
US9589311B2 (en) * | 2013-12-18 | 2017-03-07 | Intel Corporation | Independent thread saturation of graphics processing units |
US9679347B2 (en) * | 2014-02-18 | 2017-06-13 | Qualcomm Incorporated | Shader pipeline with shared data channels |
US10055342B2 (en) * | 2014-03-19 | 2018-08-21 | Qualcomm Incorporated | Hardware-based atomic operations for supporting inter-task communication |
US9710245B2 (en) * | 2014-04-04 | 2017-07-18 | Qualcomm Incorporated | Memory reference metadata for compiler optimization |
KR102263326B1 (ko) | 2014-09-18 | 2021-06-09 | 삼성전자주식회사 | 그래픽 프로세싱 유닛 및 이를 이용한 그래픽 데이터 처리 방법 |
GB2524346B (en) * | 2014-09-19 | 2016-12-21 | Imagination Tech Ltd | Separating Cores |
US9412147B2 (en) | 2014-09-23 | 2016-08-09 | Apple Inc. | Display pipe line buffer sharing |
US9659407B2 (en) * | 2015-01-26 | 2017-05-23 | MediaTek Singapore, Pte. Lte. | Preemptive flushing of spatial selective bins for deferred graphics processing |
US9652817B2 (en) | 2015-03-12 | 2017-05-16 | Samsung Electronics Co., Ltd. | Automated compute kernel fusion, resizing, and interleave |
CN104899039B (zh) | 2015-06-12 | 2018-12-25 | 百度在线网络技术(北京)有限公司 | 用于在终端设备上提供截屏服务的方法和装置 |
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 |
CN108986015B (zh) * | 2015-11-17 | 2022-12-06 | 格兰菲智能科技有限公司 | 数据单元的关联性检查方法以及使用该方法的装置 |
CN105446939B (zh) * | 2015-12-04 | 2019-02-26 | 上海兆芯集成电路有限公司 | 由装置端推核心入队列的装置 |
US10025741B2 (en) * | 2016-01-13 | 2018-07-17 | Samsung Electronics Co., Ltd. | System-on-chip, mobile terminal, and method for operating the system-on-chip |
US9799089B1 (en) * | 2016-05-23 | 2017-10-24 | Qualcomm Incorporated | Per-shader preamble for graphics processing |
WO2017209876A1 (en) * | 2016-05-31 | 2017-12-07 | Brocade Communications Systems, Inc. | Buffer manager |
US10572399B2 (en) * | 2016-07-13 | 2020-02-25 | Qualcomm Incorporated | Memory request arbitration |
US20180122037A1 (en) * | 2016-10-31 | 2018-05-03 | Intel Corporation | Offloading fused kernel execution to a graphics processor |
JP6817827B2 (ja) * | 2017-01-23 | 2021-01-20 | Necプラットフォームズ株式会社 | アクセラレータ処理管理装置、ホスト装置、アクセラレータ処理実行システム、方法およびプログラム |
US10430919B2 (en) * | 2017-05-12 | 2019-10-01 | Google Llc | Determination of per line buffer unit memory allocation |
US11163546B2 (en) * | 2017-11-07 | 2021-11-02 | Intel Corporation | Method and apparatus for supporting programmatic control of a compiler for generating high-performance spatial hardware |
US11068308B2 (en) * | 2018-03-14 | 2021-07-20 | Texas Instruments Incorporated | Thread scheduling for multithreaded data processing environments |
US10810064B2 (en) * | 2018-04-27 | 2020-10-20 | Nasdaq Technology Ab | Publish-subscribe framework for application execution |
US11397694B2 (en) | 2019-09-17 | 2022-07-26 | Micron Technology, Inc. | Memory chip connecting a system on a chip and an accelerator chip |
US11416422B2 (en) | 2019-09-17 | 2022-08-16 | Micron Technology, Inc. | Memory chip having an integrated data mover |
US11163490B2 (en) * | 2019-09-17 | 2021-11-02 | Micron Technology, Inc. | Programmable engine for data movement |
CN111078395B (zh) * | 2019-11-12 | 2023-06-20 | 华中科技大学 | 一种基于张量的深度学习gpu内存管理优化方法及系统 |
US11263064B2 (en) * | 2019-12-30 | 2022-03-01 | Qualcomm Incorporated | Methods and apparatus to facilitate improving processing of machine learning primitives |
US11250538B2 (en) | 2020-03-09 | 2022-02-15 | Apple Inc. | Completion signaling techniques in distributed processor |
US11416961B2 (en) | 2020-05-29 | 2022-08-16 | Samsung Electronics Co., Ltd. | Variable entry transitional ring storage for efficiently accessing graphics states |
KR20230043841A (ko) | 2020-07-31 | 2023-03-31 | 모포토닉스 홀딩 비.브이. | 마스터로부터 가요성 스탬프를 복제하기 위한 조립체 |
CN112104731B (zh) * | 2020-09-11 | 2022-05-20 | 北京奇艺世纪科技有限公司 | 请求处理方法、装置、电子设备和存储介质 |
US20220197641A1 (en) * | 2020-12-23 | 2022-06-23 | Intel Corporation | Processing pipeline with zero loop overhead |
CN113457160B (zh) * | 2021-07-15 | 2024-02-09 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN115599574B (zh) * | 2022-12-12 | 2023-03-24 | 北京象帝先计算技术有限公司 | 图形处理系统、电子组件、电子设备及信息处理方法 |
CN116048816B (zh) * | 2023-03-23 | 2023-08-22 | 摩尔线程智能科技(北京)有限责任公司 | 数据请求处理方法、装置、电子设备和存储介质 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2500101B2 (ja) | 1992-12-18 | 1996-05-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 共用変数の値を更新する方法 |
US7117481B1 (en) | 2002-11-06 | 2006-10-03 | Vmware, Inc. | Composite lock for computer systems with multiple domains |
US7673304B2 (en) * | 2003-02-18 | 2010-03-02 | Microsoft Corporation | Multithreaded kernel for graphics processing unit |
TWI322354B (en) * | 2005-10-18 | 2010-03-21 | Via Tech Inc | Method and system for deferred command issuing in a computer system |
JP3853829B1 (ja) * | 2005-10-31 | 2006-12-06 | 株式会社ソニー・コンピュータエンタテインメント | 描画処理装置、並列処理装置および排他制御方法 |
US7928990B2 (en) | 2006-09-27 | 2011-04-19 | Qualcomm Incorporated | Graphics processing unit with unified vertex cache and shader register file |
US8087029B1 (en) | 2006-10-23 | 2011-12-27 | Nvidia Corporation | Thread-type-based load balancing in a multithreaded processor |
US8135926B1 (en) | 2008-10-21 | 2012-03-13 | Nvidia Corporation | Cache-based control of atomic operations in conjunction with an external ALU block |
US8392925B2 (en) | 2009-03-26 | 2013-03-05 | Apple Inc. | Synchronization mechanisms based on counters |
JP2010287110A (ja) * | 2009-06-12 | 2010-12-24 | Nec Personal Products Co Ltd | 情報処理装置、情報処理方法、プログラム及び記録媒体 |
BR112012001629B1 (pt) | 2009-07-28 | 2019-10-22 | Ericsson Telefon Ab L M | método de sincronizar o processamento de eventos associados com sessões de aplicação em uma plataforma de processamento de telecomunicações, adaptador de recursos, e, agrupamento de java enterprise edition |
US9324175B2 (en) | 2009-09-11 | 2016-04-26 | Nvidia Corporation | Memory coherency in graphics command streams and shaders |
US8817031B2 (en) * | 2009-10-02 | 2014-08-26 | Nvidia Corporation | Distributed stream output in a parallel processing unit |
US8810592B2 (en) * | 2009-10-09 | 2014-08-19 | Nvidia Corporation | Vertex attribute buffer for inline immediate attributes and constants |
US20120017062A1 (en) * | 2010-07-19 | 2012-01-19 | Advanced Micro Devices, Inc. | Data Processing Using On-Chip Memory In Multiple Processing Units |
US20120092351A1 (en) | 2010-10-19 | 2012-04-19 | Apple Inc. | Facilitating atomic switching of graphics-processing units |
US9092267B2 (en) | 2011-06-20 | 2015-07-28 | Qualcomm Incorporated | Memory sharing in graphics processing unit |
-
2013
- 2013-01-23 US US13/747,947 patent/US9256915B2/en active Active
- 2013-01-24 BR BR112014018434-8A patent/BR112014018434B1/pt active IP Right Grant
- 2013-01-24 JP JP2014554817A patent/JP6081492B2/ja active Active
- 2013-01-24 WO PCT/US2013/022900 patent/WO2013112692A1/en active Application Filing
- 2013-01-24 CN CN201380006620.XA patent/CN104081449B/zh active Active
- 2013-01-24 EP EP13704848.4A patent/EP2807646A1/en not_active Ceased
- 2013-01-24 KR KR1020147023719A patent/KR101707289B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
BR112014018434A2 (pt) | 2017-06-20 |
EP2807646A1 (en) | 2014-12-03 |
WO2013112692A1 (en) | 2013-08-01 |
KR20140125821A (ko) | 2014-10-29 |
CN104081449A (zh) | 2014-10-01 |
BR112014018434A8 (pt) | 2017-07-11 |
KR101707289B1 (ko) | 2017-02-27 |
US20130194286A1 (en) | 2013-08-01 |
BR112014018434B1 (pt) | 2021-07-27 |
JP2015513715A (ja) | 2015-05-14 |
CN104081449B (zh) | 2016-11-09 |
US9256915B2 (en) | 2016-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6081492B2 (ja) | グラフィックス並列処理ユニットに関するバッファ管理 | |
JP6077018B2 (ja) | 異種cpu−gpu計算のための実行モデル | |
US9436504B2 (en) | Techniques for managing the execution order of multiple nested tasks executing on a parallel processor | |
KR101477882B1 (ko) | 서브버퍼 오브젝트 | |
CN107851004B (zh) | 用于在图形处理单元gpu上执行指令的方法和装置 | |
JP5815712B2 (ja) | マルチプルプロセッサ計算プラットフォームにおけるプロセッサ間通信技法 | |
TWI620128B (zh) | 在中央處理單元與圖形處理單元間分享資源之裝置與系統 | |
US9330430B2 (en) | Fast queries in a multithreaded queue of a graphics system | |
TWI489385B (zh) | 一種用於預先擷取快取線的電腦實作方法與子系統 | |
US20130198760A1 (en) | Automatic dependent task launch | |
US20110050713A1 (en) | Hardware-Based Scheduling of GPU Work | |
JP2017513116A (ja) | タスク間通信をサポートするためのハードウェアベースのアトミック動作 | |
US8984183B2 (en) | Signaling, ordering, and execution of dynamically generated tasks in a processing system | |
US11663767B2 (en) | Power efficient attribute handling for tessellation and geometry shaders | |
US20190034151A1 (en) | Monitor support on accelerated processing device | |
US9171525B2 (en) | Graphics processing unit with a texture return buffer and a texture queue | |
KR20230053608A (ko) | 텍스처/로드 명령어 블록에 대한 연기된 gpr 할당 | |
US9165396B2 (en) | Graphics processing unit with a texture return buffer and a texture queue | |
CN115516421A (zh) | Gpu中基于gpr释放机制的gpr优化 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151228 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151228 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160331 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20160331 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20160502 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160729 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160830 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161130 |
|
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: 20161220 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170118 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6081492 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 |