IP Library › Granted Patent US 11,392,384
Granted Patent B2
US 11,392,384 · App. 17/013,384 · Granted Jul 19, 2022

Methods of breaking down coarse-grained tasks for fine-grained task re-scheduling

Inventors: Fei Xue (Sunnyvale, CA); Yuhao Wang (Sunnyvale, CA); Fei Sun (San Jose, CA); Hongzhong Zheng (Los Gatos, CA)
Assignee: Alibaba Group Holding Limited
G06F9/3836G06F9/30145G06F9/3867G06F9/4881G06F17/16
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,392,384
App. No.
17/013,384
Granted
Jul 19, 2022
Kind
B2
Abstract

A method of scheduling instructions in a processing system comprising a processing unit and one or more co-processors comprises dispatching a plurality of instructions from a master processor to a co-processor of the one or more co-processors, wherein each instruction of the plurality of instructions comprises one or more additional fields, wherein at least one field comprises grouping information operable to consolidate the plurality of instructions for decomposition, and wherein at least one field comprises control information. The method also comprises decomposing the plurality of instructions into a plurality of fine-grained instructions, wherein the control information comprises rules associated with decomposing the plurality of instructions into the plurality of fine-grained instructions. Further, the method comprises scheduling the plurality of fine-grained instructions to execute on the co-processor, wherein the scheduling is performed in a non-sequential order.

Claims (34)

1. A method of scheduling instructions in a processing system comprising a processing unit and one or more co-processors, the method comprising:

dispatching a plurality of instructions from a master processor to a co-processor of the one or more co-processors, wherein each instruction of the plurality of instructions comprises one or more fields, wherein at least one field comprises grouping information operable to consolidate the plurality of instructions for decomposition, and wherein at least one field comprises control information;

decomposing the plurality of instructions into a plurality of fine-grained instructions, wherein the control information comprises rules associated with decomposing the plurality of instructions into the plurality of fine-grained instructions; and

scheduling the plurality of fine-grained instructions to execute on the co-processor, wherein the scheduling is performed in part in a non-sequential order.

2. The method of claim 1 , wherein the processing unit comprises a processor selected from the group consisting of: a multi-core processor; a many-core processor; and a single processor.

3. The method of claim 1 , wherein the co-processor comprises a programmable accelerator.

4. The method of claim 1 , wherein the co-processor is selected from a group consisting of: a graphics processing unit (GPU); a field programmable gate array (FPGA); a digital signal processor (DSP); a network processing unit (NPU); a vision processing unit (VPU); an Artificial Intelligence accelerator; a Tensor processing unit (TPU); a physical neural network (PNN); and a complex programmable logic device (CPLD).

5. The method of claim 1 , wherein the plurality of instructions is related to a matrix multiplication.

6. The method of claim 1 , wherein the grouping information comprises a group size and a group identifier associated with the plurality of instructions.

7. The method of claim 1 , wherein the control information further comprises rules for scheduling one or more of the plurality of fine-grained instructions.

8. The method of claim 1 , wherein the decomposing comprises:

receiving the plurality of instructions into an instruction queue of the co-processor of the one or more co-processors; and

decomposing the plurality of instructions in accordance with rules in a control information field of each instruction of the plurality of instructions.

9. The method of claim 1 , wherein the control information further comprises rules for scheduling one or more of the plurality of fine-grained instructions, and wherein the scheduling is performed in accordance with the rules.

10. The method of claim 1 , wherein the control information further comprises rules for pipelining one or more of the plurality of fine-grained instructions, and wherein the scheduling is performed in accordance with the rules.

11. The method of claim 1 , wherein each of the plurality of instructions is a coarse-grained instruction.

12. A processing system for scheduling instructions, the processing system comprising:

a processing device communicatively coupled with a memory and one or more accelerators, wherein the processing device comprises a dispatch unit operable to dispatch a plurality of instructions to an accelerator of the one or more accelerators, wherein each instruction of the plurality of instructions comprises one or more fields, wherein at least one field comprises grouping information operable to consolidate the plurality of instructions for decomposition; and

at least one task queue in the accelerator of the one or more accelerators operable to receive the plurality of instructions and comprising logic circuitry, wherein the logic circuitry is configured to:

decompose the plurality of instructions into a plurality of fine-grained instructions in accordance with a plurality of programmable rules; and

schedule the plurality of fine-grained instructions to execute on an execution unit of the accelerator in accordance with the plurality of programmable rules.

13. The processing system of claim 12 , wherein the accelerator is operable to be programmed with the plurality of programmable rules.

14. The processing system of claim 12 , wherein the processing device comprises a processor selected from the group consisting of: a multi-core processor; a many-core processor; and a single processor.

15. The processing system of claim 12 , wherein the accelerator is selected from a group consisting of: a graphics processing unit (GPU); a field programmable gate array (FPGA); a digital signal processor (DSP); a network processing unit (NPU); a vision processing unit (VPU); an Artificial Intelligence accelerator; a Tensor processing unit (TPU); a physical neural network (PNN); a complex programmable logic device (CPLD).

16. The processing system of claim 12 , wherein the grouping information comprises a group size and a group identifier associated with the plurality of instructions.

17. An apparatus for scheduling instructions, the apparatus comprising:

a plurality of accelerators communicatively coupled with a processing device; and

at least one task queue in each accelerator of the plurality of accelerators configured with logic circuitry operable to:

receive a plurality of instructions from the processing device wherein each instruction of the plurality of instructions comprises one or more fields, wherein at least one field comprises grouping information operable to consolidate the plurality of instructions for decomposition, and wherein at least one field comprises control information;

decompose the plurality of instructions into a plurality of fine-grained instructions, wherein the control information comprises rules associated with decomposing the plurality of instructions into the plurality of fine-grained instructions; and

schedule the plurality of fine-grained instructions to execute on the accelerator.

18. The apparatus for claim 17 , wherein the processing device comprises a processor selected from the group consisting of: a multi-core processor; a many-core processor; and a single processor.

19. The apparatus for claim 17 , wherein the co-processor is selected from a group consisting of: a graphics processing unit (GPU); a field programmable gate array (FPGA); a digital signal processor (DSP); a network processing unit (NPU); a vision processing unit (VPU); an Artificial Intelligence accelerator; a Tensor processing unit (TPU); a physical neural network (PNN); a complex programmable logic device and (CPLD).

20. The apparatus for claim 17 , wherein the plurality of instructions is related to a matrix multiplication.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2020
From: XUE, FEI; WANG, YUHAO; SUN, FEI; ZHENG, HONGZHONG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 053700/0074 →
Continuity (1)
Related Publication 20220075622A1 · Mar 10, 2022