Skip to content

cbalint13/nextpnr-anneal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

An effort to test various annealers for nextpnr


NextPNR hyperparam optimization

Running the tunner is simple, just prepend one: MANGO

  • The goal of tunner is to significantly shorten the time to explore the best parameters given a configuration space.
  • The tunner will find near the best one in orders of magnitude shorter time compared to exhaustive brute force.

Available annelars for nextpnr are in tunners:

Tunner MultiAlgo Parallel
Mango N Y
HyperActive Y N
Optuna Y N
HyperOpt Y N

The brute force experiment

Given a configuration space expensive but complete brute force exploration can be done:

  • 0-explore-brute.sh will explore the space (will take some time)
  • 1-parse-results.sh will aggregate log results into a JSON file
  • 2-graph-results.sh will display histogram occurences of yielded clock speeds
Experiment Image1 Image2
MARLANN Default: 28.21 Mhz Default: 96.79 Mhz
PicoRV32 Default: 89.79 Mhz

Future goal (WiP)

Given parameter space:

  • track early features extracted from several nexpnr startups
  • encode early features in metric measurable feature vectors
  • generate a cost model (xgboost) in TVM autotune fashion
  • try fit/estimate/predict out from learned model the best set

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published