Architecture exploration and compiler optimization using neural networks
AssigneeGoogle Inc.
InventorAmir Yazdanbakhsh
Life of this patent
Estimating the term…
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for optimizing integrated circuit architectures or compiler designs using an optimization engine. The optimization engine includes an auto-encoder and one or more regressors. Once trained, the optimization engine can encode initial, discrete input values of a set of input characteristics into a continuous domain and use continuous optimization techniques to identify final input values of the set of input characteristics that optimize one or more output characteristics.
Claims20
A computer-implemented method comprising:
- obtaining data that specifies discrete input values of one or more input characteristics of an integrated circuit (IC);
- generating an initial latent representation of the one or more input characteristics from the received data, wherein the initial latent representation is in a latent space;
- generating an improved latent representation from the initial latent representation by performing one or more improvement steps in the latent space, wherein generating the improved latent representation comprises, at each of one or more improvement steps:
- for each of one or more output characteristics of the IC that measure a performance of the IC, processing a current latent representation using a regressor model that corresponds to the output characteristic to generate a current predicted value of the output characteristic as of the improvement step;
- and
- determining, using a continuous optimization technique, an update to the current latent representation that improves the current predicted values of the one or more output characteristics;
- and
- generating data that specifies final discrete input values of the one or more input characteristics of the IC from the improved latent representation.
One or more computer-readable storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
- obtaining data that specifies discrete input values of one or more input characteristics of an integrated circuit (IC);
- generating an initial latent representation of the one or more input characteristics from the received data, wherein the initial latent representation is in a latent space;
- generating an improved latent representation from the initial latent representation by performing one or more improvement steps in the latent space, wherein generating the improved latent representation comprises, at each of one or more improvement steps:
- for each of one or more output characteristics of the IC that measure a performance of the IC, processing a current latent representation using a regressor model that corresponds to the output characteristic to generate a current predicted value of the output characteristic as of the improvement step;
- and
- determining, using a continuous optimization technique, an update to the current latent representation that improves the current predicted values of the one or more output characteristics;
- and
- generating data that specifies final discrete input values of the one or more input characteristics of the IC from the improved latent representation.
A system comprising one or more computers and one or more storage devices storing instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
- obtaining data that specifies discrete input values of one or more input characteristics of an integrated circuit (IC);
- generating an initial latent representation of the one or more input characteristics from the received data, wherein the initial latent representation is in a latent space;
- generating an improved latent representation from the initial latent representation by performing one or more improvement steps in the latent space, wherein generating the improved latent representation comprises, at each of one or more improvement steps:
- for each of one or more output characteristics of the IC that measure a performance of the IC, processing a current latent representation using a regressor model that corresponds to the output characteristic to generate a current predicted value of the output characteristic as of the improvement step;
- and
- determining, using a continuous optimization technique, an update to the current latent representation that improves the current predicted values of the one or more output characteristics;
- and
- generating data that specifies final discrete input values of the one or more input characteristics of the IC from the improved latent representation.
Dependencies are inferred from the claim text.