IP Library Granted Patent US 10,146,736
Granted Patent B2
US 10,146,736 · App. 14/858,459 · Granted Dec 4, 2018

Presenting pipelines of multicore processors as separate processor cores to a programming framework

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 10,146,736
App. No.
14/858,459
Granted
Dec 4, 2018
Kind
B2
Abstract

A data processing system comprising: a processor comprising a plurality of cores, each core comprising a first processing pipeline and a second processing pipeline, the second processing pipeline having a different architecture to the first processing pipeline; a framework configured to manage the processing resources of the data processing system including the processor; and an interface configured to present to the framework each of the processing pipelines as a core.

Claims (27)

1. A data processing system comprising:

a processor having a plurality of cores, each core including at least a first processing pipeline and a second processing pipeline, the second processing pipeline having an architecture that is different from the architecture of the first processing pipeline;

a processing resource manager configured to manage the processing resources of the data processing system including the processor; and

an interface configured to present to the processing resource manager each of the processing pipelines as an individual core.

2. The data processing system according to claim 1 , wherein the interface is further configured to present to the processing resource manager the processor as two different processors.

3. The data processing system according to claim 2 , wherein the interface is configured to present to the processing resource manager the first processing pipelines as cores in one processor of the two different processors and the second processing pipelines as cores in the other processor of the two different processors.

4. The data processing system according to claim 2 , wherein the processing resource manager is configured to query the data processing system to determine the number of processors within the data processing system and the interface is configured to respond to the query by indicating two different processors so as to present to the framework the processor as two different processors.

5. The data processing system according to claim 1 , wherein the interface is configured to present to the processing resource manager each processing pipeline as a core in the processor.

6. The data processing system according to claim 5 , wherein the processing resource manager is configured to query the processor to determine the number of cores comprised within the processor and the interface is configured to respond to the query by indicating the number of processing pipelines within the processor so as to present to the framework each processing pipeline as a core.

7. The data processing system according to claim 1 , wherein the second processing pipeline is a single instruction multiple data (SIMD) processing pipeline.

8. The data processing system according to claim 1 , further comprising a scheduler configured to access memory comprising a first set of instructions and a second set of instructions and to cause the first set of instructions to be executed at the first processing pipeline and the second set of instructions to be executed at the second processing pipeline.

9. The data processing system according to claim 8 , wherein the first and second set of instructions are compiled from the same program code.

10. The data processing system according to claim 9 , further comprising a compiler configured to compile the program into the first set of instructions and to compile the same program into the second set of instructions.

11. The data processing system according to claim 9 , wherein the first set of instructions is compiled from the program so as to be suitable for processing at the first processing pipeline and the second set of instructions is compiled from the same program so as to be suitable for processing at the second processing pipeline.

12. The data processing system according to claim 8 , wherein the first set of instructions is compiled from a first program and the second set of instructions is compiled from a second, different program.

13. The data processing system according to claim 8 , wherein the first set of instructions is different than the second set of instructions.

14. The data processing system according to claim 8 , wherein the first and second sets of instructions are compiled in accordance with the OpenCL standard.

15. The data processing system according to claim 1 , wherein the processing resource manager is configured to operate in accordance with the OpenCL standard.

16. The data processing system according to claim 1 , wherein the processor is a simultaneous multi-threading (SMT) processor.

17. The data processing system according to claim 1 , wherein the first processing pipeline has a very long instruction word (VLIW) and/or superscalar architecture.

18. A method for increasing utilisation of pipelines of a processor having a plurality of cores, each core comprising a first processing pipeline and a second processing pipeline, the second processing pipeline having an architecture that is different from an architecture of the first processing pipeline, the method comprising:

managing, at a processing resource manager, the processing resources of a data processing system including the processor; and

presenting to the processing resource manager each of the processing pipelines as an individual core.

19. The method according to claim 18 , further comprising presenting to the processing resource manager the processor as two different processors.

20. A non-transitory machine readable storage medium having stored therein computer-executable instructions that, when executed at a data processing system including a processor having a plurality of cores, each core comprising a first processing pipeline and a second processing pipeline, the second processing pipeline having an architecture that is different from an architecture of the first processing pipeline, causes the system to:

manage, at a processing resource manager, the processing resources of the data processing system including the processor; and

present to the processing resource manager each of the processing pipelines as an individual core.

Assignments (2)
SECURITY INTEREST Recorded Jul 31, 2024
From: IMAGINATION TECHNOLOGIES LIMITED
To: FORTRESS INVESTMENT GROUP (UK) LTD
Reel/Frame 068221/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2015
From: PARK, JUNG-WOOK
To: IMAGINATION TECHNOLOGIES LIMITED
Reel/Frame 036601/0861 →