IP Library Granted Patent US 11,269,643
Granted Patent B2
US 11,269,643 · App. 15/482,798 · Granted Mar 8, 2022

Data operations and finite state machine for machine learning via bypass of computational tasks based on frequently-used data values

Inventors: Liwei Ma (Beijing, CN); Nadathur Rajagopalan Satish (Santa Clara, CA); Jeremy Bottleson (Rancho Cordova, CA); Farshad Akhbari (Chandler, AZ); Eriko Nurvitadhi (Hillsboro, OR); Abhishek R. Appu (El Dorado Hills, CA); Altug Koker (El Dorado Hills, CA); Kamal Sinha (Rancho Cordova, CA); Joydeep Ray (Folsom, CA); Balaji Vembu (Folsom, CA); Vasanth Ranganathan (El Dorado Hills, CA); Sanjeev Jahagirdar (Folsom, CA)
Assignee: Intel Corporation
G06F9/3832G06F9/4498G06T1/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 11,269,643
App. No.
15/482,798
Granted
Mar 8, 2022
Kind
B2
Abstract

A mechanism is described for facilitating fast data operations and for facilitating a finite state machine for machine learning at autonomous machines. A method of embodiments, as described herein, includes detecting input data to be used in computational tasks by a computation component of a processor including a graphics processor. The method may further include determining one or more frequently-used data values (FDVs) from the data, and pushing the one or more frequent data values to bypass the computational tasks.

Claims (55)

1. An apparatus comprising:

a graphics processor comprising computation circuitry, the graphics processor to:

identify a plurality of frequently-used data values (FDVs), wherein the plurality of FDVs are any of number values 0, 0.5 or 1;

generate an FDV configuration comprising the plurality of FDVs;

detect input data to be used in computational tasks by the computation circuitry of the graphics processor;

in response to detecting the input data, assign the FDV configuration to the input data to reduce mathematical operations associated with one or more FDVs of the plurality of FDVs;

identify, based on the FDV configuration, occurrence in the input data of the one or more FDVs of the plurality of FDVs;

push the one or more FDVs to bypass the computational tasks; and

implement a finite state machine (FSM) to provide a common primitive for convolution and full connection computation for the computational tasks by the computation circuitry of the graphics processor, wherein the graphics processor is further to implement the FSM to represent a mathematical model of computation that is an abstract machine, and wherein the FSM is to combine memory read accesses and is to merge two or more of the mathematical operations.

2. The apparatus of claim 1 , wherein the graphics processor is further to:

determine one or more non-FDVs from the input data; and

set the one or more non-FDVs on a computational path comprising the computational tasks, the computational path to pass through the computation circuitry.

3. The apparatus of claim 2 , wherein the mathematical operations comprise at least one member selected from the group consisting of addition, subtraction, multiplication, or division.

4. The apparatus of claim 1 , wherein the graphics processor is co-located with an application processor on a common semiconductor package.

5. A method comprising:

identifying, by a graphics processor comprising computation circuitry, a plurality of frequently-used data values (FDVs), wherein the plurality of FDVs are any of number values 0, 0.5 or 1;

generating an FDV configuration comprising the plurality of FDVs;

detecting, by the graphics processor, input data to be used in computational tasks by the computation circuitry of the graphics processor;

in response to detecting the input data, assigning the FDV configuration to the input data to reduce mathematical operations associated with one or more FDVs of the plurality of FDVs;

identifying, based on the FDV configuration, occurrence in the input data of the one or more FDVs of the plurality of FDVs;

pushing the one or more FDVs to bypass the computational tasks; and

implementing a finite state machine (FSM) to provide a common primitive for convolution and full connection computation for the computational tasks by the computation circuitry of the graphics processor, wherein the graphics processor is further to implement the FSM to represent a mathematical model of computation that is an abstract machine, and wherein the FSM is to combine memory read accesses and is to merge two or more of the mathematical operations.

6. The method of claim 5 , further comprising:

determining one or more non-FDVs from the input data; and

setting the one or more non-FDVs on a computational path comprising the computational tasks, the computational path to pass through the computation circuitry.

7. The method of claim 6 , wherein the mathematical operations comprise at least one member selected from the group consisting of addition, subtraction, multiplication, or division.

8. The method of claim 5 , wherein the graphics processor is co-located with an application processor on a common semiconductor package.

9. At least one non-transitory machine-readable medium comprising instructions that when executed by a computing device, cause the computing device to perform operations comprising:

identifying, by a graphics processor of the computing device, a plurality of frequently-used data values (FDVs), wherein the plurality of FDVs are any of number values 0, 0.5 or 1;

generating an FDV configuration comprising the plurality of FDVs;

detecting, by the graphics processor, input data to be used in computational tasks by the graphics processor;

in response to detecting the input data, assigning the FDV configuration to the input data to reduce mathematical operations associated with one or more FDVs of the plurality of FDVs;

identifying, based on the FDV configuration, occurrence in the input data of the one or more FDVs of the plurality of FDVs;

pushing the one or more FDVs to bypass the computational tasks; and

implementing a finite state machine (FSM) to provide a common primitive for convolution and full connection computation for the computational tasks by the graphics processor, wherein the graphics processor is further to implement the FSM to represent a mathematical model of computation that is an abstract machine, and wherein the FSM is to combine memory read accesses and is to merge two or more of the mathematical operations.

10. The non-transitory machine-readable medium of claim 9 , wherein the instructions, when executed by the computing device, further cause the computing device to perform operations comprising:

determining one or more non-FDVs from the input data; and

setting the one or more non-FDVs on a computational path comprising the computational tasks, the computational path to pass through the computing device.

11. The non-transitory machine-readable medium of claim 10 , wherein the mathematical operations comprise at least one member selected from the group consisting of addition, subtraction, multiplication, or division.

12. The non-transitory machine-readable medium of claim 9 , wherein the graphics processor is co-located with an application processor on a common semiconductor package.

13. A system comprising:

a memory; and

a graphics processor communicably coupled to the memory, the graphics processor comprising computation circuitry and the graphics processor to:

identify a plurality of frequently-used data values (FDVs), wherein the plurality of FDVs are any of number values 0, 0.5 or 1;

generate an FDV configuration comprising the plurality of FDVs;

detect input data to be used in computational tasks by the computation circuitry of the graphics processor;

in response to detecting the input data, assign the FDV configuration to the input data to reduce mathematical operations associated with one or more FDVs of the plurality of FDVs;

identify, based on the FDV configuration, occurrence in the input data of the one or more FDVs of the plurality of FDVs;

push the one or more FDVs to bypass the computational tasks; and

implement a finite state machine (FSM) to provide a common primitive for convolution and full connection computation for the computational tasks by the computation circuitry of the graphics processor, wherein the graphics processor is further to implement the FSM to represent a mathematical model of computation that is an abstract machine, and wherein the FSM is to combine memory read accesses and is to merge two or more of the mathematical operations.

14. The system of claim 13 , wherein the graphics processor is further to:

determine one or more non-FDVs from the input data; and

set the one or more non-FDVs on a computational path comprising the computational tasks, the computational path to pass through the computation circuitry.

15. The system of claim 14 , wherein the mathematical operations comprise at least one member selected from the group consisting of addition, subtraction, multiplication, or division.

16. The system of claim 13 , wherein the graphics processor is co-located with an application processor on a common semiconductor package.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2017
From: MA, LIWEI; SATISH, NADATHUR RAJAGOPALAN; BOTTLESON, JEREMY; AKHBARI, FARSHAD; NURVITADHI, ERIKO; APPU, ABHISHEK R.; KOKER, ALTUG; SINHA, KAMAL; RAY, JOYDEEP; VEMBU, BALAJI; JAHAGIRDAR, SANJEEV; RANGANATHAN, VASANTH
To: INTEL CORPORATION
Reel/Frame 043775/0060 →
Continuity (1)
Related Publication 20180293491A1 · Oct 11, 2018