IP Library Granted Patent US 10,853,554
Granted Patent B2
US 10,853,554 · App. 16/456,825 · Granted Dec 1, 2020

Systems and methods for determining a configuration for a microarchitecture

Inventors: Javier Sebastian Turek (Beaverton, OR); Javier Felip Leon (Hillsboro, OR); Alexander Heinecke (San Jose, CA); Evangelos Georganas (San Mateo, CA); Luis Carlos Maria Remis (Hillsboro, OR); Ignacio Javier Alvarez (Portland, OR); David Israel Gonzalez Aguirre (Hillsboro, OR); Shengtian Zhou (Palo Alto, CA); Justin Gottschlich (Santa Clara, CA)
Assignee: Intel Corporation
G06F30/398G06N3/04G06N3/08
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 10,853,554
App. No.
16/456,825
Granted
Dec 1, 2020
Kind
B2
Abstract

Systems and methods for determining a configuration for a microarchitecture are described herein. An example system includes a proposal generator to generate a first candidate configuration of parameters for the microarchitecture, a machine learning model to process the first candidate configuration of parameters to output estimated performance indicators for the microarchitecture, an uncertainty checker to determine whether the estimated performance indicators are reliable, and a performance checker. In response to a determination that the estimated performance indicators are reliable, the performance checker is to determine whether the estimated performance indicators have improved toward a target. Further, if the estimated performance indicators have improved, the performance checker is to store the first candidate configuration of parameters in a memory as a potential solution for a microarchitecture without performing a full simulation on the first candidate configuration of parameters.

Claims (54)

1. A system to determine a configuration for a microarchitecture, the system comprising:

a proposal generator to generate a first candidate configuration of parameters for the microarchitecture;

a machine learning model to process the first candidate configuration of parameters to output estimated performance indicators for the microarchitecture;

an uncertainty checker to determine whether the estimated performance indicators are reliable;

a performance checker to:

in response to a determination that the estimated performance indicators are reliable, determine whether the estimated performance indicators have improved toward a target; and

if the estimated performance indicators have improved, store the first candidate configuration of parameters in a memory as a potential solution for the microarchitecture without performing a full simulation on the first candidate configuration of parameters;

a microarchitecture simulator to, in response to a determination that the estimated performance indicators are not reliable, perform a full simulation using the first candidate configuration of parameters and generate first performance indicators for the first candidate configuration of parameters; and

a hardware description language (HDL) generator to create an HDL file based on the first candidate configuration of parameters to be used to fabricate the microarchitecture.

2. The system of claim 1 , wherein the machine learning model is further to output uncertainty values associated with the estimated performance indicators, and the uncertainty checker is to determine whether the estimated performance indicators are reliable based on the uncertainty values.

3. The system of claim 2 , wherein the uncertainty checker is to determine whether the estimated performance indicators are reliable by:

calculating a weighted average of the uncertainty values; and

comparing the weighted average to a threshold.

4. The system of claim 1 , wherein the target is based on at least one of a user-defined constraint or a user-defined preference.

5. The system of claim 1 , wherein the performance checker is to determine whether the estimated performance indicators have improved based on a comparison of a cost function of the estimated performance indicators and a cost function of prior performance indicators associated with a prior candidate configuration of parameters.

6. The system of claim 1 , further including a randomizer to, if the performance checker determines the estimated performance indicators have not improved, randomly reject or accept the first candidate configuration of parameters.

7. The system of claim 1 , wherein the microarchitecture simulator is to save the first candidate configuration of parameters and the first performance indicators in a database to retrain the machine learning model.

8. The system of claim 7 , further including a trainer to retrain the machine learning model based on training data in the database.

9. The system of claim 1 , wherein the machine learning model is a Bayesian Neural Network (BNN) model.

10. At least one non-transitory computer-readable medium comprising instructions that, when executed, cause at least one processor to at least:

generate a first candidate configuration of parameters;

execute a machine learning model with the first candidate configuration of parameters to generate estimated performance indicators;

determine whether the estimated performance indicators are reliable;

determine, in response to a determination that the estimated performance indicators are reliable, whether the estimated performance indicators have improved toward a target;

if the estimated performance indicators have improved, store the first candidate configuration of parameters as a potential solution for a microarchitecture without performing a full simulation on the first candidate configuration of parameters;

if the estimated performance indicators are not reliable, perform a full simulation with the first candidate configuration of parameters to generate first performance indicators for the first candidate configuration of parameters; and

create a hardware description language (HDL) file based on the first candidate configuration of parameters to be used to fabricate the microarchitecture.

11. The at least one non-transitory computer-readable medium of claim 10 , wherein the instructions are to cause the at least one processor to output uncertainty values associated with the estimated performance indicators, and to determine whether the estimated performance indicators are reliable based on the uncertainty values.

12. The at least one non-transitory computer-readable medium of claim 11 , wherein, to determine whether the estimated performance indicators are reliable, the instructions, when executed, cause the at least one processor to:

calculate a weighted average of the uncertainty values; and

compare the weighted average to a threshold.

13. The at least one non-transitory computer-readable medium of claim 10 , wherein the instructions, when executed, cause the at least one processor to store the first candidate configuration of parameters and the first performance indicators in a database to retrain the machine learning model.

14. The at least one non-transitory computer-readable medium of claim 13 , wherein the instructions, when executed, cause the at least one processor to train the machine learning model based on training data in the database.

15. A system for optimizing a configuration for a microarchitecture, the system comprising:

means for generating a first candidate configuration of parameters;

means for applying machine learning to the first candidate configuration of parameters to output estimated performance indicators;

first means for determining whether the estimated performance indicators are reliable;

second means for determining whether the performance indicators have improved toward a target in response to a determination that the estimated performance indicators are reliable, if the estimated performance indicators have improved, the second determining means is to store the first candidate configuration of parameters in a memory as a potential solution for the microarchitecture without initiating a full simulation on the first candidate configuration of parameters;

means for creating a hardware description language (HDL) file based on the first candidate configuration of parameters to be used to fabricate the microarchitecture; and

means for accepting or rejecting the first candidate configuration of parameters, wherein, if the estimated performance indicators have not improved, the accepting or rejecting means is to randomly reject or accept the first candidate configuration of parameters.

16. The system of claim 15 , wherein the applying means is to output uncertainty values associated with the estimated performance indicators, and the first determining means is to determine whether the estimated performance indicators are reliable based on the uncertainty values.

17. The system of claim 16 , wherein the first determining means is to determine whether the estimated performance indicators are reliable by:

calculating a weighted average of the uncertainty values; and

comparing the weighted average to a threshold.

18. A method for optimizing a configuration for a microarchitecture, the method comprising:

generating, by executing an instruction with a processor, a first candidate configuration of parameters;

executing, by executing an instruction with the processor, a machine learning model with the first candidate configuration of parameters to generate estimated performance indicators;

determining, by executing an instruction with the processor, whether the estimated performance indicators are reliable;

determining, by executing an instruction with the processor, in response to a determination that the estimated performance indicators are reliable, whether the estimated performance indicators have improved toward a target;

if the estimated performance indicators have improved, storing, by executing an instruction with the processor, the first candidate configuration of parameters as a potential solution for the microarchitecture without performing a full simulation on the first candidate configuration of parameters;

performing, by executing an instruction with the processor, in response to a determination that the estimated performance indicators are not reliable, a full simulation based on the first candidate configuration of parameters to generate first performance indicators for the first candidate configuration of parameters; and

creating, by executing an instruction with the processor, a hardware description language (HDL) file based on the first candidate configuration of parameters to be used to fabricate the microarchitecture.

19. The method of claim 18 , further including, if the estimated performance indicators have not improved, rejecting or accepting the first candidate configuration of parameters based on a random function.

20. The method of claim 18 , wherein the machine learning model is a Bayesian Neural Network (BNN) model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2019
From: TUREK, JAVIER SEBASTIÁN; LEON, JAVIER FELIP; HEINECKE, ALEXANDER; GEORGANAS, EVANGELOS; REMIS, LUIS CARLOS MARIA; ALVAREZ, IGNACIO JAVIER; GONZALEZ AGUIRRE, DAVID ISRAEL; ZHOU, SHENGTIAN; GOTTSCHLICH, JUSTIN
To: INTEL CORPORATION
Reel/Frame 050293/0686 →
Continuity (1)
Related Publication 20190325108A1 · Oct 24, 2019