1 / 16

GENIE

GENIE. Eric Jackowski. GENIE. Genetic Algorithm for Placement “Genetic Placement,” Cohoon and Paris “VLSI Placement Techniques,” Shahookar and Mazumder Uses Directed-Evolution Methodology Obtains optimal solutions faster Avoids Premature Homogeneity Uses randomness in the functions

venice
Download Presentation

GENIE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GENIE Eric Jackowski

  2. GENIE • Genetic Algorithm for Placement • “Genetic Placement,” Cohoon and Paris • “VLSI Placement Techniques,” Shahookar and Mazumder • Uses Directed-Evolution Methodology • Obtains optimal solutions faster • Avoids Premature Homogeneity • Uses randomness in the functions • Evaluates Several Functions • Population, Choice, Crossover, Selector, Mutation

  3. Genie Data Structures • Net • Name, # of Connections, Array of Cells • Cell • Name, # of Ports, Array of Nets • Layout • # of Rows, # of Columns, Array of Cells

  4. Scoring Function σ • hi = # of nets whose bounding rectangle crosses a horizontal channel • vi = # of nets whose bounding rectangle crosses a vertical channel • h = average h, v = average v • Sh and Sv= one standard deviation of vertical and horizontal usage • Score = − −

  5. Population Constructor Ξ • Ξ1 place random cells at random locations • Ξ2 and Ξ3 choose the same order cells are assigned. • Randomly select a net • Place all unplaced cells on net • Select an unselected net from the last cell placed • Randomly select a cell on that net • Ξ2 places in boustrophedon fashion • Ξ3 places in row major fashion Ξ2 Ξ3

  6. Crossover Function ψ • Ψ1 randomly select cell from parent and place in child. • “Slide” neighboring cells to new locations • Ψ2 randomly select a k x k square from parent and copy it into the child. • For the cells in the child block that are not in the parent block, move them to the cell locations of the cells in the parent block that are not in the child block.

  7. Crossover Choice Function Φ • Φ1 chooses random string and best scoring string for crossover • Φ2 randomly chooses both strings for crossover • Φ3 and Φ4 choose random string with probability based on the score • Φ3: Φ4:

  8. Selector Function ρ • ρ1 chooses the best scoring string from the Population and the Offspring • ρ2 randomly choose P strings from the Population and Offspring • ρ3 randomly chooses string αj from the population and offspring with probability

  9. Mutation Function μ • μ1 randomly chooses two cells and interchanges them • μ2 uses a directed evolution transformation to reduce the bounding rectangle for a random net • Randomly select a net • Randomly select a Cell, es, on that net • Find farthest Cell, et, from the selected cell • Place the et next to the es and slide surrounding cells • Find the next farthest cell from es • Place the second farthest cell next to es • μ2* swaps the position of two cells if they are already adjacent

  10. Ξ1 Ξ3 Population Population Population Φ4 μ2 Parenty Parentx Ψ2 σ2 Offspring GENIE Algorithm .25p Iterations<10000 .75p i < p * KΨ i < k

  11. GENIE vs TW • Total Wirelength • GENIE 1.2x better on large circuits • TW .8 better on smaller circuits • Number of Iterations • GENIE orders of magnitude less • Overall Time • TW 2x faster on large circuits • GENIE 2x faster on small circuits

  12. Discussion • Challenges • “Sliding”, μ2, Ξ3 • Lessons Learned • Need mutation otherwise converge to quickly • The order in which you “slide” is very important

  13. Questions

  14. Appendix GENIE ALGORITHM

  15. Appendix • GENIE1: 25% Ξ1 75% Ξ3Φ4ψ2σ2μ2 • GENIE2: 25% Ξ1 75% Ξ3 Φ4 ψ2 σ3 μ2 • GENIE1*: 25% Ξ1 75% Ξ3 Φ4 ψ2 σ2 μ2* • GENIE2*:25% Ξ1 75% Ξ3 Φ4 ψ2 σ2 μ2*

  16. Appendix • Initialize; • Np  population size; • No  Np * Pψ; • /* where Pψ is the desired ratio of the number of offspring to the population size */ • Construct_population(Np); • FOR i  1 To Np • score(population[i]); ENDFOR; • FOR i + 1 TO Number_ of_ Generations • FOR j  To No • (x, y)  Choose _Parents; • offspring[ j]  generate _Offspring( x, y); • Score(offspring[ j]); ENDFOR; • population  Select(population, offspring, NP); • FORj  i To Np • With probability Pμ Mutate(population[j] ); ENDFOR; • ENDFOR • Return highest scoring configuration in population;

More Related