IP Library Patent Application 18957532
Patent Application
App. No. 18/957,532

EXECUTING COMPUTATIONAL GRAPHS ON GRAPHICS PROCESSING UNITS

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 None
App. No.
18/957,532
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for generating a data entity that causes a processing unit to process a computational graph. In one aspect, a method includes the actions of receiving data identifying a computational graph, the computational graph including a plurality of nodes representing operations; obtaining compilation artifacts for processing the computational graph on a processing unit; and generating a data entity from the compilation artifacts, wherein the data entity, when invoked, causes the processing unit to process the computational graph by executing the operations represented by the plurality of nodes.

Claims (43)

1 . A method, for reducing an idle time of a Graphics Processing Unit (GPU) while processing a computational graph, the method comprising,

receiving the computational graph, the computational graph including a plurality of nodes representing operations;

receiving (i) a plurality of buffer parameters including an input buffer parameter that is a user input to the computational graph and (ii) associations between the plurality of buffer parameters and the operations;

generating compilation artifacts for processing the computational graph on the GPU, the compilation artifacts including machine code and buffer data, the machine code causing the GPU to perform the operations represented by the computational graph when executed by the GPU, the buffer data representing associations between the plurality of buffer parameters and the operations; and

performing the operations represented by the computational graph by executing the machine code at the GPU, wherein, during the execution, the GPU assigns a first operation of the operations to a first buffer for execution based on the buffer data, thereby causing the GPU to process the computational graph with a reduced idle time.

2 . The method of claim 1 , wherein the execution comprises:

generating instructions that when executed by the GPU cause the GPU to execute the operations according to a particular order.

3 . The method of claim 1 , wherein each of the plurality of buffer parameters is associated with a respective operation of the operations.

4 . The method of claim 1 , wherein the compilation artifacts comprise:

a data structure representing the operations and dependencies between the operations.

5 . The method of claim 1 , wherein the compilation artifacts comprise:

library data representing a plurality of buffer parameters and associations between the plurality of buffer parameters and a plurality of libraries comprising one or more sub-routines, each of the plurality of buffer parameters associated with a respective library of the plurality of libraries.

6 . The method of claim 1 , wherein the operations comprise operations for processing an input of a neural network through one or more layers of the neural network to generate an output of the neural network.

7 . The method of claim 1 , wherein the operations comprise operations for training a neural network by adjusting values of parameters of the neural network.

8 . A system comprising:

one or more computers and one or more storage devices on which are stored instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations for reducing an idle time of a Graphics Processing Unit (GPU) while processing a computational graph, the operations comprising:

receiving the computational graph, the computational graph including a plurality of nodes representing operations;

receiving (i) a plurality of buffer parameters including an input buffer parameter that is a user input to the computational graph and (ii) associations between the plurality of buffer parameters and the operations;

generating compilation artifacts for processing the computational graph on the GPU, the compilation artifacts including machine code and buffer data, the machine code causing the GPU to perform the operations represented by the computational graph when executed by the GPU, the buffer data representing associations between the plurality of buffer parameters and the operations; and

performing the operations represented by the computational graph by executing the machine code at the GPU, wherein, during the execution, the GPU assigns a first operation of the operations to a first buffer for execution based on the buffer data, thereby causing the GPU to process the computational graph with a reduced idle time.

9 . The system of claim 8 , wherein the execution comprises:

generating instructions that when executed by the GPU cause the GPU to execute the operations according to a particular order.

10 . The system of claim 8 , wherein each of the plurality of buffer parameters is associated with a respective operation of the operations.

11 . The system of claim 8 , wherein the compilation artifacts comprise:

a data structure representing the operations and dependencies between the operations.

12 . The system of claim 8 , wherein the compilation artifacts comprise:

library data representing a plurality of buffer parameters and associations between the plurality of buffer parameters and a plurality of libraries comprising one or more sub-routines, each of the plurality of buffer parameters associated with a respective library of the plurality of libraries.

13 . The system of claim 8 , wherein the operations comprise operations for processing an input of a neural network through one or more layers of the neural network to generate an output of the neural network.

14 . The system of claim 8 , wherein the operations comprise operations for training a neural network by adjusting values of parameters of the neural network.

15 . One or more non-transitory computer-readable storage media encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform operations for reducing an idle time of a Graphics Processing Unit (GPU) while processing a computational graph, the operations comprising:

receiving the computational graph, the computational graph including a plurality of nodes representing operations;

receiving (i) a plurality of buffer parameters including an input buffer parameter that is a user input to the computational graph and (ii) associations between the plurality of buffer parameters and the operations;

generating compilation artifacts for processing the computational graph on the GPU, the compilation artifacts including machine code and buffer data, the machine code causing the GPU to perform the operations represented by the computational graph when executed by the GPU, the buffer data representing associations between the plurality of buffer parameters and the operations; and

performing the operations represented by the computational graph by executing the machine code at the GPU, wherein, during the execution, the GPU assigns a first operation of the operations to a first buffer for execution based on the buffer data, thereby causing the GPU to process the computational graph with a reduced idle time.

16 . The computer-readable storage media of claim 15 , wherein the execution comprises:

generating instructions that when executed by the GPU cause the GPU to execute the operations according to a particular order.

17 . The computer-readable storage media of claim 15 , wherein each of the plurality of buffer parameters is associated with a respective operation of the operations.

18 . The computer-readable storage media of claim 15 , wherein the compilation artifacts comprise:

a data structure representing the operations and dependencies between the operations.

19 . The computer-readable storage media of claim 15 , wherein the compilation artifacts comprise:

library data representing a plurality of buffer parameters and associations between the plurality of buffer parameters and a plurality of libraries comprising one or more sub-routines, each of the plurality of buffer parameters associated with a respective library of the plurality of libraries.

20 . The computer-readable storage media of claim 15 , wherein the operations comprise operations for processing an input of a neural network through one or more layers of the neural network to generate an output of the neural network.

21 . The computer-readable storage media of claim 15 , wherein the operations comprise operations for training a neural network by adjusting values of parameters of the neural network.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2025
From: WU, JINGYUE; LEARY, CHRISTOPHER DANIEL
To: GOOGLE INC.
Reel/Frame 070474/0671 →
CHANGE OF NAME Recorded Mar 11, 2025
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 070481/0292 →