-
公开(公告)号:US20210272229A1
公开(公告)日:2021-09-02
申请号:US16804345
申请日:2020-02-28
Applicant: ADVANCED MICRO DEVICES, INC.
Inventor: Rex Eldon MCCRARY
Abstract: An apparatus such as a graphics processing unit (GPU) includes shader engines and front end (FE) circuits. Subsets of the FE circuits are configured to schedule commands for execution on corresponding subsets of the shader engines. The apparatus also includes a set of physical paths configured to convey information from the FE circuits to a memory via the shader engines. Subsets of the physical paths are allocated to the subsets of the FE circuits and the corresponding subsets of the shader engines. The apparatus further includes a scheduler configured to receive a reconfiguration request and modify the set of physical paths based on the reconfiguration request. In some cases, the reconfiguration request is provided by a central processing unit (CPU) that requests the modification based on characteristics of applications generating the commands.
-
公开(公告)号:US20220188963A1
公开(公告)日:2022-06-16
申请号:US17123978
申请日:2020-12-16
Applicant: ADVANCED MICRO DEVICES, INC.
Inventor: Nishank PATHAK , Randy Wayne RAMSEY , Tad LITWILLER , Rex Eldon MCCRARY
Abstract: A processing system includes a graphics pipeline that executes a first shader of a first type and a second shader of a second type. In some cases, the first shader is a geometry shader and the second shader is a pixel shader. The processing system also includes buffers that hold primitives generated by the first shader and provide the primitives to the second shader. The processing system also includes a primitive hub that monitors fullness of the buffers. Launching of waves from the first shader is throttled based on the fullness of the buffers. A shader processor input (SPI) selectively throttles the waves launched by the geometry shader based on a signal from the primitive hub indicating the fullness, an indication of relative resource usage of geometry waves and pixel waves in the graphics pipeline, or an indication of lifetimes of the geometry waves.
-
公开(公告)号:US20210049729A1
公开(公告)日:2021-02-18
申请号:US16879991
申请日:2020-05-21
Applicant: ADVANCED MICRO DEVICES, INC.
Inventor: Timour T. PALTASHEV , Michael MANTOR , Rex Eldon MCCRARY
Abstract: A graphics processing unit (GPU) includes a plurality of programmable processing cores configured to process graphics primitives and corresponding data and a plurality of fixed-function hardware units. The plurality of processing cores and the plurality of fixed-function hardware units are configured to implement a configurable number of virtual pipelines to concurrently process different command flows. Each virtual pipeline includes a configurable number of fragments and an operational state of each virtual pipeline is specified by a different context. The configurable number of virtual pipelines can be modified from a first number to a second number that is different than the first number. An emulation of a fixed-function hardware unit can be instantiated on one or more of the graphics processing cores in response to detection of a bottleneck in a fixed-function hardware unit. One or more of the virtual pipelines can then be reconfigured to utilize the emulation instead of the fixed-function hardware unit.
-
公开(公告)号:US20240320042A1
公开(公告)日:2024-09-26
申请号:US18597568
申请日:2024-03-06
Applicant: ADVANCED MICRO DEVICES, INC.
Inventor: Rex Eldon MCCRARY
IPC: G06F9/48 , G06F9/30 , G06F9/38 , G06F9/54 , G06F12/0831
CPC classification number: G06F9/4893 , G06F9/30079 , G06F9/3867 , G06F9/542 , G06F9/544 , G06F12/0835
Abstract: A first processing unit such as a graphics processing unit (GPU) pipelines that execute commands and a scheduler to schedule one or more first commands for execution by one or more of the pipelines. The one or more first commands are received from a user mode driver in a second processing unit such as a central processing unit (CPU). The scheduler schedules one or more second commands for execution in response to completing execution of the one or more first commands and without notifying the second processing unit. In some cases, the first processing unit includes a direct memory access (DMA) engine that writes blocks of information from the first processing unit to a memory. The one or more second commands program the DMA engine to write a block of information including results generated by executing the one or more first commands.
-
公开(公告)号:US20210272347A1
公开(公告)日:2021-09-02
申请号:US16804334
申请日:2020-02-28
Applicant: ADVANCED MICRO DEVICES, INC.
Inventor: Rex Eldon MCCRARY
IPC: G06T15/00
Abstract: An apparatus such as a graphics processing unit (GPU) includes a set of shader engines and a set of front end (FE) circuits. Subsets of the set of FE circuits schedule geometry workloads for subsets of the set of shader engines based on a mapping. The apparatus also includes a set of physical paths that convey information from the set of FE circuits to a memory via the set of shader engines. Subsets of the set of physical paths are allocated to the subsets of the set of FE circuits and the subsets of the set of shader engines based on the mapping. The mapping determines information stored in a set of registers used to configure the apparatus. In some cases, the set of registers store information indicating a spatial partitioning of the set of physical paths.
-
公开(公告)号:US20210191793A1
公开(公告)日:2021-06-24
申请号:US16721434
申请日:2019-12-19
Applicant: ADVANCED MICRO DEVICES, INC.
Inventor: Rex Eldon MCCRARY
Abstract: A processing unit such as a graphics processing unit (GPU) includes a set of queues that stores command buffers prior to execution in a corresponding plurality of pipelines. The processing unit also implements a kernel mode driver that allocates a first subset of the set of queues to a first application in response to receiving registration requests from the first application. The processing unit further includes a scheduler that schedules command buffers in the first subset of the set of queues for concurrent execution on a first subset of the set of pipelines. In some cases, an interrupt is generated in response to execution of a first command in a first command buffer in the first queue or the second queue. The interrupt includes an address indicating a location of a routine to be executed by a second subset of the plurality of pipelines.
-
公开(公告)号:US20240394829A1
公开(公告)日:2024-11-28
申请号:US18677320
申请日:2024-05-29
Applicant: ADVANCED MICRO DEVICES, INC.
Inventor: Rex Eldon MCCRARY
Abstract: A primary processing unit includes queues configured to store commands prior to execution in corresponding pipelines. The primary processing unit also includes a first table configured to store entries indicating dependencies between commands that are to be executed on different ones of a plurality of processing units that include the primary processing unit and one or more secondary processing units. The primary processing unit also includes a scheduler configured to release commands in response to resolution of the dependencies. In some cases, a first one of the secondary processing units schedules the first command for execution in response to resolution of a dependency on a second command executing in a second one of the secondary processing units. The second one of the secondary processing units notifies the primary processing unit in response to completing execution of the second command.
-
公开(公告)号:US20210192672A1
公开(公告)日:2021-06-24
申请号:US16721450
申请日:2019-12-19
Applicant: ADVANCED MICRO DEVICES, INC.
Inventor: Rex Eldon MCCRARY
Abstract: A primary processing unit includes queues configured to store commands prior to execution in corresponding pipelines. The primary processing unit also includes a first table configured to store entries indicating dependencies between commands that are to be executed on different ones of a plurality of processing units that include the primary processing unit and one or more secondary processing units. The primary processing unit also includes a scheduler configured to release commands in response to resolution of the dependencies. In some cases, a first one of the secondary processing units schedules the first command for execution in response to resolution of a dependency on a second command executing in a second one of the secondary processing units. The second one of the secondary processing units notifies the primary processing unit in response to completing execution of the second command.
-
公开(公告)号:US20210191730A1
公开(公告)日:2021-06-24
申请号:US16721421
申请日:2019-12-19
Applicant: ADVANCED MICRO DEVICES, INC.
Inventor: Rex Eldon MCCRARY
Abstract: A processing system includes a set of queues to store command buffers prior to execution in a corresponding plurality of pipelines. The processing system also includes one or more first doorbells and a second doorbell. The first doorbells map to one or more queues in the set of queues on a one-to-one basis. The second doorbell maps to a subset of the set of queues on a one-to-many basis. A doorbell monitor generates an interrupt in response to an empty queue in the subset becoming a non-empty queue. A scheduler polls the subset in response to the interrupt. The scheduler schedules a command buffer from the non-empty queue for execution or adds the command buffer to a pool for subsequent execution.
-
公开(公告)号:US20200379767A1
公开(公告)日:2020-12-03
申请号:US16426613
申请日:2019-05-30
Applicant: ADVANCED MICRO DEVICES, INC.
Inventor: Rex Eldon MCCRARY , Yi LUO , Harry J. WISE , Alexander Fuad ASHKAR , Michael MANTOR
IPC: G06F9/38 , G06F16/245 , G06T1/20 , G06T1/60
Abstract: A method of context bouncing includes receiving, at a command processor of a graphics processing unit (GPU), a conditional execute packet providing a hash identifier corresponding to an encapsulated state. The encapsulated state includes one or more context state packets following the conditional execute packet. A command packet following the encapsulated state is executed based at least in part on determining whether the hash identifier of the encapsulated state matches one of a plurality of hash identifiers of active context states currently stored at the GPU.
-
-
-
-
-
-
-
-
-