IP Library Granted Patent US 11,107,180
Granted Patent B2
US 11,107,180 · App. 16/515,172 · Granted Aug 31, 2021

Asymmetric multi-core heterogeneous parallel processing system with content aware and display aware rendering logic

Inventors: Georgios Keramidas (Patras, GR); Iakovos Stamoulis (Patras, GR); George Sidiropoulos (Patras, GR)
Assignee: Think Silicon SA
G06T1/20G06F15/80
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 11,107,180
App. No.
16/515,172
Granted
Aug 31, 2021
Kind
B2
Abstract

An asymmetric multi-core heterogenous parallel processing system includes a first group of graphic processor units (GPUs) and a second group of GPUs. The first and second groups of GPU cores share an instruction set architecture (ISA) such that the first group of GPU cores is capable of executing a portion of the instructions of the ISA, and the second group of GPU cores is capable of executing the entire instruction set of the ISA. An application is capable of utilizing both groups of GPU cores, and is further capable of determining what objects should be rendered on which group of GPU cores.

Claims (28)

1. An asymmetric multi-core heterogeneous graphics processing unit (GPU), comprising:

a first group of GPU cores each having a first microarchitecture and a first power consumption profile, wherein the first group of GPU cores is configured to execute a first subset of an entire instruction set architecture (ISA);

a second group of GPU cores each having a second microarchitecture and a second power consumption profile higher than the first power consumption profile, wherein the second group of GPU cores is configured to execute the entire ISA;

a controller connected to the first group of GPU cores and the second group of GPU cores, wherein the controller is configured to receive, an ISA instruction of the ISA and determine whether the instruction should be executed by the first group of GPUs, or by the second group of GPUs; and

wherein the ISA instruction is generated by an application programming interface (API), the API allowing an application to request the ISA instruction to be executed on the first group of GPU cores, or the second group of GPU cores, wherein the first group of GPU cores is distinct from the second group of GPU cores; and wherein the application determines a computational complexity of a rendered first object and generates ISA instructions to render the first object by the second group of GPU cores, and the second group of GPU cores is further configured to render the first object when the computational complexity rendering of the first object exceeds a first threshold in response to ISA instructions generated by the application.

2. The multi-core GPU of claim 1 , wherein the multi-core heterogeneous GPU further comprises a memory, having stored therein instructions that when executed by the multi-core GPU configure a system to:

determine a color difference between a first rendered object and a second rendered object; and

render at least one of the first rendered object and the second rendered object on the first group of the GPU cores, in response to determining the color difference to be below a threshold value.

3. The multi-core GPU of claim 2 , wherein the first group of GPU cores is further configured to render the second rendered object when the computational complexity is less than a second threshold.

4. The multi-core GPU of claim 3 , wherein computational complexity is determined based on a number of lines of code required to render the first object.

5. The multi-core GPU of claim 1 , wherein the multi-core GPU further comprises a memory, having stored therein instructions that when executed by the multi-core heterogeneous GPU configure a system to:

determine a number of frames per second (fps) of a rendered object, wherein the controller is further configured to determine that the ISA instruction should be rendered on the first group of GPU cores if the number of fps exceeds a first threshold.

6. The multi-core GPU of claim 5 , wherein the controller is further configured to determine that the instruction should be rendered on the second group of GPU cores if the number of fps is less than a second threshold.

7. The multi-core GPU of claim 1 , wherein the multi-core GPU further comprises a memory, having stored therein instructions that when executed by the multi-core heterogeneous GPU configure a system to:

determine a rate of movement of a rendered object, based on associated xy coordinates of tiles of the object; and

determine that rendering instructions should be executed on the first group of GPU cores if the rate of movement exceeds a first threshold.

8. The multi-core GPU of claim 7 , wherein the multi-core heterogeneous GPU further comprises a memory, having stored therein instructions that when executed by the multi-core GPU configure a system to:

determine that rendering instructions should be executed on the second group of GPU cores if the rate of movement is below a second threshold.

9. The multi-core GPU of claim 1 , wherein the application determines generating the ISA instruction based on: a detected display size, a detected display type, or a combination thereof.

10. The multi-core GPU of claim 9 , wherein the detected display size or the detected display type, or a combination thereof, is below a predetermined threshold, and the application determines to generate an ISA instruction on the first group of GPU cores.

11. The multi-core GPU of claim 1 , wherein a z-buffer is coupled with: the first group of GPU cores, the second group of GPU cores, a subset of GPU cores of the first group of GPU cores, or a subset of the GPU cores of the second group of GPU cores.

12. The multi-core GPU of claim 11 , wherein the precision of the z-buffer is adjustable based on a bit allocation.

13. The multi-core GPU of claim 12 , wherein a GPU core of the first group of GPU cores is coupled with a z-buffer having a first precision, wherein a GPU core of the second group of GPU cores is communicatively coupled with a z-buffer having a second precision, and wherein the first precision is different from the second precision.

14. The multi-core GPU of claim 1 , wherein a GPU core of the first group of GPU cores is communicatively coupled with a first texture mapping unit (TMU) and a GPU core of the second group of GPU cores is communicatively coupled with a second TMU.

15. The multi-core GPU of claim 14 , wherein the first TMU has a first precision, and the second TMU has a second precision which is different from the first precision.

16. The multi-core GPU of claim 14 , wherein the first TMU or the second TMU receives as an input: a precision level based on a predetermined number of bits of computation, a texture sampling mode, or a combination thereof.

17. The multi-core GPU of claim 14 , wherein the first TMU is configured to perform point texture sampling.

18. The multi-core GPU of claim 14 , wherein the second TMU is configured to perform bilinear texture sampling.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2026
From: THINK SILICON SINGLE MEMBER P.C. AND APPLIED MATERIALS, INC.
To: QUALCOMM INCORPORATED
Reel/Frame 075735/0803 →
CHANGE OF NAME Recorded Mar 6, 2026
From: THINK SILICON RESEARCH AND TECHNOLOGY SA
To: THINK SILICON RESEARCH AND TECHNOLOGY SINGLE MEMBER S.A.
Reel/Frame 075031/0846 →
CHANGE OF NAME Recorded Mar 6, 2026
From: THINK SILICON RESEARCH AND TECHNOLOGY SINGLE MEMBER S.A.
To: THINK SILICON SINGLE MEMBER P.C.
Reel/Frame 075032/0035 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2019
From: KERAMIDAS, GEORGIOS; STAMOULIS, IAKOVOS; SIDIROPOULOS, GEORGE
To: THINK SILICON SA
Reel/Frame 049787/0961 →
Continuity (4)
Continuation In Part 15687776 · Aug 28, 2017
Provisional Application 62786379 · Dec 29, 2018
Provisional Application 62522172 · Jun 20, 2017
Related Publication 20190347758A1 · Nov 14, 2019