Processing

Please wait...

Settings

Settings

Goto Application

1. WO2018129327 - LOOP AND LIBRARY FUSION

Publication Number WO/2018/129327
Publication Date 12.07.2018
International Application No. PCT/US2018/012596
International Filing Date 05.01.2018
Chapter 2 Demand Filed 24.10.2018
IPC
G06F 8/41 2018.01
GPHYSICS
06COMPUTING; CALCULATING OR COUNTING
FELECTRIC DIGITAL DATA PROCESSING
8Arrangements for software engineering
40Transformation of program code
41Compilation
G06F 17/30 2006.01
GPHYSICS
06COMPUTING; CALCULATING OR COUNTING
FELECTRIC DIGITAL DATA PROCESSING
17Digital computing or data processing equipment or methods, specially adapted for specific functions
30Information retrieval; Database structures therefor
G06N 3/08 2006.01
GPHYSICS
06COMPUTING; CALCULATING OR COUNTING
NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
3Computer systems based on biological models
02using neural network models
08Learning methods
CPC
G06F 16/9024
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
16Information retrieval; Database structures therefor; File system structures therefor
90Details of database functions independent of the retrieved data types
901Indexing; Data structures therefor; Storage structures
9024Graphs; Linked lists
G06F 8/41
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
8Arrangements for software engineering
40Transformation of program code
41Compilation
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/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
Applicants
  • GOOGLE LLC [US]/[US]
Inventors
  • BENDERSKY, Eli
  • HUNDT, Robert
  • HEFFERMAN, Mark
  • WU, Jingyue
Agents
  • GROSVENOR, Stephanie D.
  • PORTNOV, Michael
  • BETTEN & RESCH Patent- und Rechtsanwälte PartGmbB
Priority Data
15/400,94206.01.2017US
Publication Language English (EN)
Filing Language English (EN)
Designated States
Title
(EN) LOOP AND LIBRARY FUSION
(FR) FUSION DE BOUCLES ET DE BIBLIOTHÈQUE
Abstract
(EN)
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating efficient compiled code. In an example method, a compilation system obtains an un-optimized computational graph comprising a plurality of nodes representing operations and directed edges representing data dependencies. The un-optimized computational graph is analyzed using pattern matching to determine fusable operations that can be fused together into a single fusion operation. The un-optimized computational graph is transformed into an optimized computational graph by replacing the nodes representing the fusable operations in the un-optimized computational graph with a fusion node representing the single fusion operation. The compilation system produces efficient code by translating the fusion node of the optimized computational graph as a call that performs the fused operations.
(FR)
La présente invention concerne des procédés, des systèmes et un appareils, y compris des programmes informatiques codés sur des supports de stockage informatique, permettant de générer un code compilé efficace. Dans un procédé donné à titre d'exemple, un système de compilation obtient un graphe de calcul non optimisé comprenant une pluralité de nœuds représentant des opérations et des bords orientés représentant des dépendances de données. Le graphe de calcul non optimisé est analysé à l'aide d'une mise en correspondance de motifs pour déterminer des opérations pouvant être fusionnées qui peuvent être fusionnées ensemble en une seule opération de fusion. Le graphe de calcul non optimisé est transformé en un graphe de calcul optimisé en remplaçant les nœuds représentant les opérations pouvant être fusionnées dans le graphe de calcul non optimisé par un nœud de fusion représentant l'opération de fusion unique. Le système de compilation produit un code efficace en traduisant le nœud de fusion du graphe de calcul optimisé en tant qu'appel qui effectue les opérations fusionnées.
Latest bibliographic data on file with the International Bureau