Processing

Please wait...

Settings

Settings

Goto Application

1. GB2560410 - Loop and library fusion

Office
United Kingdom
Application Number 201800179
Application Date 05.01.2018
Publication Number 2560410
Publication Date 12.09.2018
Publication Kind A
IPC
G06F 8/41
GPHYSICS
06COMPUTING; CALCULATING OR COUNTING
FELECTRIC DIGITAL DATA PROCESSING
8Arrangements for software engineering
40Transformation of program code
41Compilation
CPC
G06N 3/063
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
3Computer systems based on biological models
02using neural network models
06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
063using electronic means
G06N 3/08
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
3Computer systems based on biological models
02using neural network models
08Learning methods
G06F 8/433
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
8Arrangements for software engineering
40Transformation of program code
41Compilation
43Checking; Contextual analysis
433Dependency analysis; Data or control flow analysis
G06F 8/443
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
8Arrangements for software engineering
40Transformation of program code
41Compilation
44Encoding
443Optimisation
G06F 8/4441
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
8Arrangements for software engineering
40Transformation of program code
41Compilation
44Encoding
443Optimisation
4441Reducing the execution time required by the program code
G06N 3/084
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
3Computer systems based on biological models
02using neural network models
08Learning methods
084Back-propagation
Applicants GOOGLE LLC
Inventors ELI BENDERSKY
ROBERT HUNDT
MARK HEFFERNAN
JINGYUE WU
Priority Data 15400942 06.01.2017 US
Title
(EN) Loop and library fusion
Abstract
(EN)
Method comprising obtaining 202 un-optimised computational graph comprising a plurality of nodes representing operations and directed edges representing data dependencies; analysing 204 the un-optimised graph using pattern matching to determine fusable operations that can be fused together into a single fusion operation; transforming 206 the un-optimised graph into an optimised computational graph by replacing the nodes representing the fusible operations in the un-optimised graph with a fusion node representing the single fusion operation; and providing to a compiler the fusion node that the compiler can translate as a call that performs the fused operations to produce 208 efficient code. It may also provide the efficient code to computing devices for execution. Execution may include executing the operations of the computational graph including the single fusion call that performs all fused operations. Analysing using pattern matching may involve comparing portions of the un-optimised graph with patterns of operations that each correspond to a single fusion operation; determining that a pattern matches a portion of the un-optimised graph; and determining that the matching portion of the un-optimised graph can be replaced in the computational graph with the single fusion operation corresponding to the matching pattern.