KR101642105B1 - 셰이더 코어 상에서 서로 다른 타입의 태스크들의 비동기 동시 디스패치를 가능하게 해주는 복수의 버퍼들을 구비한 커맨드 프로세서를 포함하는 그래픽 처리 유닛 - Google Patents

셰이더 코어 상에서 서로 다른 타입의 태스크들의 비동기 동시 디스패치를 가능하게 해주는 복수의 버퍼들을 구비한 커맨드 프로세서를 포함하는 그래픽 처리 유닛 Download PDF

Info

Publication number
KR101642105B1
KR101642105B1 KR1020127008414A KR20127008414A KR101642105B1 KR 101642105 B1 KR101642105 B1 KR 101642105B1 KR 1020127008414 A KR1020127008414 A KR 1020127008414A KR 20127008414 A KR20127008414 A KR 20127008414A KR 101642105 B1 KR101642105 B1 KR 101642105B1
Authority
KR
South Korea
Prior art keywords
task
tasks
shader core
processing
engines
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
Application number
KR1020127008414A
Other languages
English (en)
Korean (ko)
Other versions
KR20120064097A (ko
Inventor
마이클 맨토
렉스 맥라리
Original Assignee
어드밴스드 마이크로 디바이시즈, 인코포레이티드
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=43501178&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101642105(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 어드밴스드 마이크로 디바이시즈, 인코포레이티드 filed Critical 어드밴스드 마이크로 디바이시즈, 인코포레이티드
Publication of KR20120064097A publication Critical patent/KR20120064097A/ko
Application granted granted Critical
Publication of KR101642105B1 publication Critical patent/KR101642105B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/463Program control block organisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)
KR1020127008414A 2009-09-03 2010-09-03 셰이더 코어 상에서 서로 다른 타입의 태스크들의 비동기 동시 디스패치를 가능하게 해주는 복수의 버퍼들을 구비한 커맨드 프로세서를 포함하는 그래픽 처리 유닛 Active KR101642105B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US23971209P 2009-09-03 2009-09-03
US61/239,712 2009-09-03
US12/874,134 US8854381B2 (en) 2009-09-03 2010-09-01 Processing unit that enables asynchronous task dispatch
US12/874,134 2010-09-01

Publications (2)

Publication Number Publication Date
KR20120064097A KR20120064097A (ko) 2012-06-18
KR101642105B1 true KR101642105B1 (ko) 2016-07-22

Family

ID=43501178

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127008414A Active KR101642105B1 (ko) 2009-09-03 2010-09-03 셰이더 코어 상에서 서로 다른 타입의 태스크들의 비동기 동시 디스패치를 가능하게 해주는 복수의 버퍼들을 구비한 커맨드 프로세서를 포함하는 그래픽 처리 유닛

Country Status (7)

Country Link
US (1) US8854381B2 (enExample)
EP (1) EP2473920B8 (enExample)
JP (1) JP5791608B2 (enExample)
KR (1) KR101642105B1 (enExample)
CN (1) CN102640115B (enExample)
IN (1) IN2012DN02726A (enExample)
WO (1) WO2011028986A2 (enExample)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9430281B2 (en) * 2010-12-16 2016-08-30 Advanced Micro Devices, Inc. Heterogeneous enqueuing and dequeuing mechanism for task scheduling
US9378560B2 (en) * 2011-06-17 2016-06-28 Advanced Micro Devices, Inc. Real time on-chip texture decompression using shader processors
US9195501B2 (en) * 2011-07-12 2015-11-24 Qualcomm Incorporated Instruction culling in graphics processing unit
US9727385B2 (en) * 2011-07-18 2017-08-08 Apple Inc. Graphical processing unit (GPU) implementing a plurality of virtual GPUs
US20130155077A1 (en) * 2011-12-14 2013-06-20 Advanced Micro Devices, Inc. Policies for Shader Resource Allocation in a Shader Core
WO2013090605A2 (en) * 2011-12-14 2013-06-20 Advanced Micro Devices, Inc. Saving and restoring shader context state and resuming a faulted apd wavefront
US8842122B2 (en) * 2011-12-15 2014-09-23 Qualcomm Incorporated Graphics processing unit with command processor
US9430807B2 (en) * 2012-02-27 2016-08-30 Qualcomm Incorporated Execution model for heterogeneous computing
US9996394B2 (en) 2012-03-01 2018-06-12 Microsoft Technology Licensing, Llc Scheduling accelerator tasks on accelerators using graphs
US10559123B2 (en) * 2012-04-04 2020-02-11 Qualcomm Incorporated Patched shading in graphics processing
DE112012006119T5 (de) * 2012-04-23 2014-12-18 Hewlett-Packard Development Company, L.P. Statistische Analyse unter Verwendung einer Grafikverarbeitungseinheit
US20130311548A1 (en) * 2012-05-15 2013-11-21 Nvidia Corporation Virtualized graphics processing for remote display
CN103064657B (zh) * 2012-12-26 2016-09-28 深圳中微电科技有限公司 单个处理器上实现多应用并行处理的方法及装置
US20140267327A1 (en) 2013-03-14 2014-09-18 Microsoft Corporation Graphics Processing using Multiple Primitives
US9424079B2 (en) 2013-06-27 2016-08-23 Microsoft Technology Licensing, Llc Iteration support in a heterogeneous dataflow engine
WO2015047302A1 (en) * 2013-09-27 2015-04-02 Hewlett-Packard Development Company, L.P. Processing a hybrid flow associated with a service class
US10198788B2 (en) * 2013-11-11 2019-02-05 Oxide Interactive Llc Method and system of temporally asynchronous shading decoupled from rasterization
WO2015074239A1 (en) * 2013-11-22 2015-05-28 Intel Corporation Method and apparatus to improve performance of chained tasks on a graphics processing unit
JP6507169B2 (ja) * 2014-01-06 2019-04-24 ジョンソン コントロールズ テクノロジー カンパニーJohnson Controls Technology Company 複数のユーザインターフェース動作ドメインを有する車両
JP6523298B2 (ja) * 2014-01-06 2019-05-29 ジョンソン コントロールズ テクノロジー カンパニーJohnson Controls Technology Company コンピュータシステムと車両インターフェースシステム
US9530174B2 (en) 2014-05-30 2016-12-27 Apple Inc. Selective GPU throttling
JP6673202B2 (ja) * 2014-06-19 2020-03-25 日本電気株式会社 演算装置、演算装置の制御方法、及び、演算装置の制御プログラム
EP3866007B1 (en) * 2014-06-26 2024-07-10 INTEL Corporation Intelligent gpu scheduling in a virtualization environment
KR102263326B1 (ko) 2014-09-18 2021-06-09 삼성전자주식회사 그래픽 프로세싱 유닛 및 이를 이용한 그래픽 데이터 처리 방법
US10423414B2 (en) * 2014-11-12 2019-09-24 Texas Instruments Incorporated Parallel processing in hardware accelerators communicably coupled with a processor
US10210655B2 (en) * 2015-09-25 2019-02-19 Intel Corporation Position only shader context submission through a render command streamer
CN106598705B (zh) * 2015-10-15 2020-08-11 菜鸟智能物流控股有限公司 一种异步任务的调度方法、装置、系统以及电子设备
US9830678B2 (en) * 2016-03-03 2017-11-28 International Business Machines Corporation Graphics processing unit resource sharing
KR102577184B1 (ko) * 2016-05-24 2023-09-11 삼성전자주식회사 전자 장치 및 그의 동작 방법
US20180033114A1 (en) * 2016-07-26 2018-02-01 Mediatek Inc. Graphics Pipeline That Supports Multiple Concurrent Processes
CN106648551A (zh) * 2016-12-12 2017-05-10 中国航空工业集团公司西安航空计算技术研究所 一种混合图形处理器指令处理系统
US11609791B2 (en) * 2017-11-30 2023-03-21 Advanced Micro Devices, Inc. Precise suspend and resume of workloads in a processing unit
US10540824B1 (en) * 2018-07-09 2020-01-21 Microsoft Technology Licensing, Llc 3-D transitions
US11436783B2 (en) 2019-10-16 2022-09-06 Oxide Interactive, Inc. Method and system of decoupled object space shading
US11403729B2 (en) * 2020-02-28 2022-08-02 Advanced Micro Devices, Inc. Dynamic transparent reconfiguration of a multi-tenant graphics processing unit
US11340942B2 (en) * 2020-03-19 2022-05-24 Raytheon Company Cooperative work-stealing scheduler
US12020349B2 (en) 2020-05-01 2024-06-25 Samsung Electronics Co., Ltd. Methods and apparatus for efficient blending in a graphics pipeline
WO2022118460A1 (ja) * 2020-12-04 2022-06-09 日本電信電話株式会社 制御装置、制御方法、およびプログラム
US11941723B2 (en) * 2021-12-29 2024-03-26 Advanced Micro Devices, Inc. Dynamic dispatch for workgroup distribution
CN115586955B (zh) * 2022-10-19 2025-09-30 湖南大学 命令执行方法、装置、计算机设备和存储介质
US12106115B2 (en) * 2023-01-26 2024-10-01 International Business Machines Corporation Searching an array of multi-byte elements using an n-byte search instruction

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371849A (en) 1990-09-14 1994-12-06 Hughes Aircraft Company Dual hardware channels and hardware context switching in a graphics rendering processor
US6252600B1 (en) 1998-10-02 2001-06-26 International Business Machines Corporation Computer graphics system with dual FIFO interface
US20080074433A1 (en) 2006-09-21 2008-03-27 Guofang Jiao Graphics Processors With Parallel Scheduling and Execution of Threads
US20080109810A1 (en) 2006-11-07 2008-05-08 Microsoft Corporation Parallel engine support in display driver model

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6943800B2 (en) * 2001-08-13 2005-09-13 Ati Technologies, Inc. Method and apparatus for updating state data
US7659898B2 (en) * 2005-08-08 2010-02-09 Via Technologies, Inc. Multi-execution resource graphics processor
US8884972B2 (en) * 2006-05-25 2014-11-11 Qualcomm Incorporated Graphics processor with arithmetic and elementary function units
US8284205B2 (en) * 2007-10-24 2012-10-09 Apple Inc. Methods and apparatuses for load balancing between multiple processing units
US20090160867A1 (en) 2007-12-19 2009-06-25 Advance Micro Devices, Inc. Autonomous Context Scheduler For Graphics Processing Units
US8629878B2 (en) * 2009-08-26 2014-01-14 Red Hat, Inc. Extension to a hypervisor that utilizes graphics hardware on a host

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371849A (en) 1990-09-14 1994-12-06 Hughes Aircraft Company Dual hardware channels and hardware context switching in a graphics rendering processor
US6252600B1 (en) 1998-10-02 2001-06-26 International Business Machines Corporation Computer graphics system with dual FIFO interface
US20080074433A1 (en) 2006-09-21 2008-03-27 Guofang Jiao Graphics Processors With Parallel Scheduling and Execution of Threads
US20080109810A1 (en) 2006-11-07 2008-05-08 Microsoft Corporation Parallel engine support in display driver model

Also Published As

Publication number Publication date
US8854381B2 (en) 2014-10-07
US20110115802A1 (en) 2011-05-19
CN102640115B (zh) 2015-03-25
EP2473920B1 (en) 2018-03-14
CN102640115A (zh) 2012-08-15
WO2011028986A3 (en) 2011-11-24
EP2473920A2 (en) 2012-07-11
IN2012DN02726A (enExample) 2015-09-11
JP2013504131A (ja) 2013-02-04
JP5791608B2 (ja) 2015-10-07
EP2473920B8 (en) 2018-05-16
KR20120064097A (ko) 2012-06-18
WO2011028986A2 (en) 2011-03-10

Similar Documents

Publication Publication Date Title
KR101642105B1 (ko) 셰이더 코어 상에서 서로 다른 타입의 태스크들의 비동기 동시 디스패치를 가능하게 해주는 복수의 버퍼들을 구비한 커맨드 프로세서를 포함하는 그래픽 처리 유닛
US11798123B2 (en) Mechanism to accelerate graphics workloads in a multi-core computing architecture
US9142057B2 (en) Processing unit with a plurality of shader engines
US10217183B2 (en) System, method, and computer program product for simultaneous execution of compute and graphics workloads
US10540808B2 (en) Hierarchical Z-culling (HiZ) optimization for texture-dependent discard operations
US10002455B2 (en) Optimized depth buffer cache apparatus and method
US10565670B2 (en) Graphics processor register renaming mechanism
US20170300361A1 (en) Employing out of order queues for better gpu utilization
CN110673946A (zh) 在特权域上高效地将工作负荷从用户模式入队到硬件
US10255075B2 (en) System, method, and computer program product for managing out-of-order execution of program instructions
US9471307B2 (en) System and processor that include an implementation of decoupled pipelines
US10410311B2 (en) Method and apparatus for efficient submission of workload to a high performance graphics sub-system
US10908939B2 (en) Efficient fine grained processing of graphics workloads in a virtualized environment
US20180095785A1 (en) Thread Priority Mechanism
US10580108B2 (en) Method and apparatus for best effort quality of service (QoS) scheduling in a graphics processing architecture
US9830676B2 (en) Packet processing on graphics processing units using continuous threads
CN108292426A (zh) 基于部分跨度的光栅化
US9952901B2 (en) Power efficient hybrid scoreboard method

Legal Events

Date Code Title Description
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

A201 Request for examination
PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

A302 Request for accelerated examination
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0302 Request for accelerated examination

St.27 status event code: A-1-2-D10-D17-exm-PA0302

St.27 status event code: A-1-2-D10-D16-exm-PA0302

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

FPAY Annual fee payment

Payment date: 20190617

Year of fee payment: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R14-asn-PN2301

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 10

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000