IP Library Granted Patent US 12,399,720
Granted Patent B2
US 12,399,720 · App. 17/455,606 · Granted Aug 26, 2025

Apparatus and method

Inventors: Maochang Dang (Shanghai, CN); Li Hu (Shanghai, CN); Yanqiu Wu (Shanghai, CN)
Assignee: Arm Limited
G06F9/3856G06F9/30087G06F9/3838G06F9/4881G06F9/5038G06T1/20
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,399,720
App. No.
17/455,606
Granted
Aug 26, 2025
Kind
B2
Abstract

A method comprising a set of discrete rendering tasks having an initial task order to be executed by a graphics processing unit, a GPU, detecting a dependency between a dependency group of two or more rendering tasks, a dependency being that one or more rendering tasks of the dependency group earlier in the initial task order depend upon an execution result of one or more rendering tasks of the dependency group later in the initial task order; ordering the set of rendering tasks, in the ordered set of rendering tasks, a dependency group of rendering tasks is ordered such that rendering tasks of a dependency group which depend upon one or more other tasks of the dependency group are ordered after the one or more other tasks upon which those rendering tasks depend; and issuing the ordered set of rendering tasks to the GPU for execution.

Claims (33)

1. A method comprising:

for a set of rendering tasks having an initial task order to be executed by a graphics processing unit, GPU, detecting a dependency between a dependency group of two or more of the set of rendering tasks, the dependency being such that one or more of the set of rendering tasks of the dependency group earlier in the initial task order depend upon an execution result of one or more of the rendering tasks of the dependency group later in the initial task order;

ordering the set of the rendering tasks into an ordered set of the rendering tasks, in which, in the ordered set of the rendering tasks, the dependency group is ordered such that the rendering tasks of the dependency group which depend upon one or more other of the rendering tasks of the dependency group are ordered after the one or more other of the rendering tasks upon which those of the rendering tasks depend; and

issuing the ordered set of the rendering tasks to the GPU for execution, wherein

the detecting step comprises generating:

a wait instruction indicative of a waiting rendering task in the initial task order which is required to wait for execution of one or more later rendering tasks later in the initial task order; and

a synchronisation instruction indicative that the waiting rendering task is allowed to proceed to execution.

2. The method of claim 1 , comprising:

executing the detecting, ordering and issuing steps at a central processing unit, CPU, separate to the GPU.

3. The method of claim 2 , comprising:

executing a GPU driver to implement the detecting, ordering and issuing steps.

4. The method of claim 2 , comprising:

generating the rendering tasks at the CPU; and

receiving, at the CPU, data from the GPU representing an execution result of executing the rendering tasks at the GPU.

5. The method of claim 1 , in which the ordering step comprises:

detecting the dependency group comprising rendering tasks associated with pairs of wait and synchronisation instructions; and

ordering the detected rendering tasks of the dependency group such that within the dependency group, a second rendering task associated its wait instruction is ordered after a first rendering task associated with its respective synchronisation instruction.

6. The method of claim 1 , comprising:

defining the set of rendering tasks as an initial set of rendering tasks; and

iteratively performing the detecting and ordering steps with respect to the set of rendering tasks and adding further successive rendering tasks, in the initial task order, to the set of rendering tasks, until the addition of a further rendering task would prevent completion of the ordering step.

7. The method of claim 1 , in which the issuing step comprises:

issuing the ordered set of rendering tasks to the GPU as an atomic set of rendering tasks.

8. Computer software which, when executed by a computer, causes the computer to perform the method of any one of the preceding claims .

9. A machine-readable non-transitory storage medium which stores the computer software of claim 8 .

10. Apparatus comprising:

processing circuitry configured to:

detect, for a set of rendering tasks having an initial task order to be executed by a graphics processing unit, GPU, a dependency between a dependency group of two or more of the set of rendering tasks, a dependency being such that one or more of the set of rendering tasks of the dependency group earlier in the initial task order depend upon an execution result of one or more of the rendering tasks of the dependency group later in the initial task order;

order the set of the rendering tasks into an ordered set of the rendering tasks, in which, in the ordered set of the rendering tasks, the dependency group is ordered such that the rendering tasks of the dependency group which depend upon one or more other of the rendering tasks of the dependency group are ordered after the one or more other of the rendering tasks upon which those of the rendering tasks depend; and

issue the ordered set of the rendering tasks to the GPU for execution, wherein

the processing circuitry is configured to detect the dependency by generating:

a wait instruction indicative of a waiting rendering task in the initial task order which is required to wait for execution of one or more later rendering tasks later in the initial task order; and

a synchronisation instruction indicative that the waiting rendering task is allowed to proceed to execution.

11. The apparatus of claim 10 , comprising the GPU to execute the ordered set of rendering tasks.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2022
From: DANG, MAOCHANG; HU, LI; WU, YANQIU
To: ARM LIMITED
Reel/Frame 060482/0096 →
Priority Claims (1)
GB 2018697 · Nov 27, 2020 · national
Continuity (1)
Related Publication 20220171630A1 · Jun 2, 2022
References Cited (6)
US 11468304B1 · Diamant · 2022 [cited by examiner]
US 20090202173A1 · Weiss · 2009 [cited by examiner]
US 20160055608A1 · Frascati · 2016 [cited by examiner]
US 20180300933A1 · Burke · 2018 [cited by examiner]
US 20210081207A1 · Shahar · 2021 [cited by examiner]
EP 3392764A1 · 2018 [cited by applicant]