IN2012DN02726A - - Google Patents

Download PDF

Info

Publication number
IN2012DN02726A
IN2012DN02726A IN2726DEN2012A IN2012DN02726A IN 2012DN02726 A IN2012DN02726 A IN 2012DN02726A IN 2726DEN2012 A IN2726DEN2012 A IN 2726DEN2012A IN 2012DN02726 A IN2012DN02726 A IN 2012DN02726A
Authority
IN
India
Prior art keywords
tasks
shader core
processing unit
data associated
state data
Prior art date
Application number
Inventor
Michael Mantor
Rex Mccrary
Original Assignee
Advanced Micro Devices Inc
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=IN2012DN02726(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of IN2012DN02726A publication Critical patent/IN2012DN02726A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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)

Abstract

A processing unit that includes a plurality of virtual engines and a shader core. The plurality of virtual engines is configured to (i) receive, from an operating system (OS), a plurality of tasks substantially in parallel with each other and (ii) load a set of state data associated with each of the plurality of tasks. The shader core is configured to execute the plurality of tasks substantially in parallel based on the set of state data associated with each of the plurality of tasks. The processing unit may also include a scheduling module that schedules the plurality of tasks to be issued to the shader core.
IN2726DEN2012 2009-09-03 2010-09-03 IN2012DN02726A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US23971209P 2009-09-03 2009-09-03
US12/874,134 US8854381B2 (en) 2009-09-03 2010-09-01 Processing unit that enables asynchronous task dispatch
PCT/US2010/047786 WO2011028986A2 (en) 2009-09-03 2010-09-03 A processing unit that enables asyncronous task dispatch

Publications (1)

Publication Number Publication Date
IN2012DN02726A true IN2012DN02726A (en) 2015-09-11

Family

ID=43501178

Family Applications (1)

Application Number Title Priority Date Filing Date
IN2726DEN2012 IN2012DN02726A (en) 2009-09-03 2010-09-03

Country Status (7)

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

Families Citing this family (40)

* 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
WO2013090605A2 (en) * 2011-12-14 2013-06-20 Advanced Micro Devices, Inc. Saving and restoring shader context state and resuming a faulted apd wavefront
US20130155077A1 (en) * 2011-12-14 2013-06-20 Advanced Micro Devices, Inc. Policies for Shader Resource Allocation in a Shader Core
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
US10535185B2 (en) 2012-04-04 2020-01-14 Qualcomm Incorporated Patched shading in graphics processing
CN104662531A (en) * 2012-04-23 2015-05-27 惠普发展公司,有限责任合伙企业 Statistical analysis using graphics processing unit
US20130311548A1 (en) * 2012-05-15 2013-11-21 Nvidia Corporation Virtualized graphics processing for remote display
CN103064657B (en) * 2012-12-26 2016-09-28 深圳中微电科技有限公司 Realize the method and device applying parallel processing on single processor more
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
EP3049959A1 (en) * 2013-09-27 2016-08-03 Hewlett Packard Enterprise Development LP 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
EP3092560B1 (en) * 2014-01-06 2019-05-08 Johnson Controls Technology Company Vehicle with multiple user interface operating domains
US20160328254A1 (en) * 2014-01-06 2016-11-10 Johnson Controls Technology Company Vehicle with multiple user interface operating domains
US9530174B2 (en) 2014-05-30 2016-12-27 Apple Inc. Selective GPU throttling
US10437650B2 (en) * 2014-06-19 2019-10-08 Nec Corporation Controlling execution of tasks in a series of operational processing by identifying processing units based on task command, task setting information, state of operational processing
CN111459618A (en) * 2014-06-26 2020-07-28 英特尔公司 Intelligent GPU scheduling in virtualized environments
KR102263326B1 (en) 2014-09-18 2021-06-09 삼성전자주식회사 Graphic processing unit and method of processing graphic data using the same
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 (en) * 2015-10-15 2020-08-11 菜鸟智能物流控股有限公司 Asynchronous task scheduling method, device and system and electronic equipment
US9830678B2 (en) * 2016-03-03 2017-11-28 International Business Machines Corporation Graphics processing unit resource sharing
KR102577184B1 (en) * 2016-05-24 2023-09-11 삼성전자주식회사 Electronic apparatus and operating method thereof
US20180033114A1 (en) * 2016-07-26 2018-02-01 Mediatek Inc. Graphics Pipeline That Supports Multiple Concurrent Processes
CN106648551A (en) * 2016-12-12 2017-05-10 中国航空工业集团公司西安航空计算技术研究所 Hybrid graphics processor command processing system
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
EP4258645A4 (en) * 2020-12-04 2024-08-28 Nippon Telegraph & Telephone Control device, control method, and program
US11941723B2 (en) 2021-12-29 2024-03-26 Advanced Micro Devices, Inc. Dynamic dispatch for workgroup distribution
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

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2050658C (en) 1990-09-14 1997-01-28 John M. Peaslee 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
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
US8345053B2 (en) * 2006-09-21 2013-01-01 Qualcomm Incorporated Graphics processors with parallel scheduling and execution of threads
US7830387B2 (en) * 2006-11-07 2010-11-09 Microsoft Corporation Parallel engine support in display driver model
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

Also Published As

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

Similar Documents

Publication Publication Date Title
IN2012DN02726A (en)
GB201303285D0 (en) Application scheduling in hetrogeneous multiprocessor computing platforms
ATE514998T1 (en) CLOCKED PORTS
IN2014CN04203A (en)
GB2520852A (en) Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions
TW201614493A (en) Sharing resources between a CPU and GPU
WO2011072001A3 (en) Thermal management in multi-core processor
GB2496765A (en) Systems and methods for scheduling driver interface tasks based on driver workload
MX2012012534A (en) Subbuffer objects.
WO2010037177A8 (en) Scheduling an application for performance on a heterogeneous computing system
TW200629053A (en) Power management in a processing environment
EP2583437A4 (en) Distributed avionics
WO2013016567A3 (en) System and method for virtual partition monitoring
SG159482A1 (en) Multi-mode processing module and method of use
WO2012112302A3 (en) Parallel processing in human-machine interface applications
WO2012004597A3 (en) Utility consumption data processing apparatus and system
WO2010148367A3 (en) Searching regular expressions with virtualized massively parallel programmable hardware
IN2013MU02167A (en)
GB2489615A (en) Efficient multi-core processing of events
WO2012036954A3 (en) Scheduling amongst multiple processors
GB2498123A (en) Multi-processor computer systems and methods
WO2012009150A3 (en) Direct memory access engine physical memory descriptors for multi-media demultiplexing operations
IN2013MU01201A (en)
GB2481153A (en) Partitioning of compound or composite usb devices in a remote usb environment
ATE373845T1 (en) DMAC ISSUE MECHANISM VIA A STEAMING ID METHOD