Fitness Inheritance in Evolutionary and Multi-Objective High-Level Synthesis

Uploaded on

Abstract—In evolutionary high-level synthesis, design solutions …

Abstract—In evolutionary high-level synthesis, design solutions
have to be evaluated to extract information about some
figures of merit (such as performance, area, etc.) and to allow
the genetic algorithm to evolve and converge to Pareto-optimal
solutions. Since the execution time of such evaluations increases
with the complexity of the specification, this could lead to
unacceptable execution time of the overall methodology. This
paper presents a model to exploit fitness inheritance in a multiobjective
optimization algorithm (i.e. NSGA-II [1]) by substituting
the expensive real evaluations with an estimation based
on neighbors in an hypothetical design space. The estimations
are based on a measure of distance between individuals and
a weighted average on fitnesses of closer ones. The results
shows that the Pareto-optimal set obtained by applying the
proposed model good approximates the set obtained without
fitness inheritance and overall execution time is reduced more
than 25% in average.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. Fitness Inheritance in Evolutionary and Multi-Objective High-Level Synthesis Christian Pilato, Gianluca Palermo, Antonino Tumeo, Fabrizio Ferrandi, Donatella Sciuto, Pier Luca Lanzi
  • 2. High Level Synthesis 2 “High-Level Synthesis means going from an algorithmic level specification of a behaviour of a digital system to a register level structure that implements that behavior”. McFarland, et al., Proc. IEEE, February 1990. Resource Behavioral Design Library specification constraints High-Level Synthesis tool Objectives Scheduling Datapath Allocation Binding & Controller Controller Synthesis Pier Luca Lanzi
  • 3. High Level Synthesis 3 Operation Scheduling Provides the cycle steps in which operations start their execution Resource Allocation Assigns operations and values to hardware components, interconnects them Controller Synthesis Provides the logic to issue datapath operations, based on the control flow Develop polynomial-time algorithms to optimally solve each task? We wish! Unfortunately, these problems are NP-complete Pier Luca Lanzi
  • 4. Motivations 4 All the sub-tasks are NP-complete: no efficient algorithms Interconnection have to be considered: up to 80% of final area All the tasks are closely interdependent Most of the information is available only at the end of the syntesis Guidelines Heuristics approaches with feedback information Genetic algorithms, reducing to single-objective (weighted average) is not efficient NSGA-II Pier Luca Lanzi
  • 5. The Proposed Methodology Individuals encode information to perform an Fitness is computed using a entire synthesis cycle full synthesis flow Pier Luca Lanzi
  • 6. Chromosome encoding 6 Encodes all the information needed for synthesis computations Allocationand binding Completion steps Allocation Binding Represents the mapping between the operations to be performed and the functional unit where it will be executed. Partially controls final area occupation Influences Scheduling, Register Allocation and Interconnection Allocation Second part identified the completion algorithms Scheduling (SchedA), Register Allocation (RegA) and Interconnection Optimization (ConnA)‫‏‬ Pier Luca Lanzi
  • 7. Completion Algorithms 7 Scheduling (SchedA)‫‏‬ Integer Linear Programming List Based Register Allocation (RegA)‫‏‬ Left-edge algorithm Sequential vertex coloring Heuristic clique-covering Interconnection Optimization (ConnA)‫‏‬ Port swapping among inputs of a functional unit (if the operation is commutative)‫‏‬ Pier Luca Lanzi
  • 8. Cost function 8 The fitness function has two components area and time Time(x)‫‏‬ Estimation of the worst case execution time of solution x Computed as the longest path in the scheduled CDG+DFG Area(x)‫‏‬ Estimation of the area occupied by solution x Preferred an estimation rather than real values because Logic Synthesis performed with FPGA tools is slow Computed using a modified, already existing, area model.* Pier Luca Lanzi
  • 9. Problem independent elements 9 Initial population Randomly generated Seeded by interesting candidates Ranking and Selection Solution sorted in different levels according to fitness values Ranking selection emphasize good solution points Accelerated using fast-non-dominated-sort of NSGA-II Pier Luca Lanzi
  • 10. The Genetic Algorithm 10 Elitist NSGA-II applies a crowded-comparison operator Uniform crossover Applied to the 80% of the population Mix solution bindings Mix genes that represent completion algorithms Mutation Applied to the 10% of the population Each gene is modified with P=0.01% Alleles are mutated to admissible values Operation: new binding Algorithm: another algorithm is choosed to perform the corresponding step Pier Luca Lanzi
  • 11. The Goal: Reduce Execution Time! 11 Even if logic synthesis is not performed, and area of the final circuit is extimated through a model, execution time for each evaluation can reach several seconds Large examples can take hours to perform the exploration Use fitness inheritance to reduce the number of evaluations Substitute evaluations with inherited estimations Two approaches Estimations based on all the individuals evaluated from the beginning of the algorithm (ancestors)‫‏‬ Estimations based only on the individuals evaluated in the latest generation (parents)‫‏‬ Pier Luca Lanzi
  • 12. Fitness Inheritance Model Distance metric: Delta function Normalized distance that represents diversity Consider only near Analogy with N-dim hypersphere individuals: Weighted average on different objectives: remembers Physics equations, with where value 1 is considered as infinite distance (individual is too different, so it has no contribution to fitness) Two types of inheritance Based on ancestors Based on parents Pier Luca Lanzi
  • 13. Test Problems & Experimental Settings 13 Typical high level synthesis benchmarks 2D-DCT, RGB-to-YUV from the JPEG compression algorithm Most computationally intensive phases RGB to YUV can be unrolled: factor x2 and x4 EWF: fifth order elliptic wave filter Population size: 1000 individuals, evolving up to max 200 generations Target: Xilinx Field Programmable Gate Arrays Searching for the best area-performance trade-offs for the specific device and architecture Pier Luca Lanzi
  • 14. EWF (Pareto)‫‏‬ 14 Pier Luca Lanzi
  • 15. DCT (Pareto)‫‏‬ 15 Pier Luca Lanzi
  • 16. RGBtoYUVx4 (Pareto solutions with and 16 without inheritance)‫‏‬ Pier Luca Lanzi
  • 17. Overall execution time/chromosome size 17 Pier Luca Lanzi
  • 18. Fitness evaluation time generation by 18 generation (EWF)‫‏‬ Pier Luca Lanzi
  • 19. Fitness evaluation time generation by 19 generation (RGBtoYUVx4)‫‏‬ Pier Luca Lanzi
  • 20. 20 Inheritance benefits Number of fitness function evaluations (p=0,557)‫‏‬ Execution time for fitness and overall execution Pier Luca Lanzi
  • 21. Conclusions 21 High level synthesis based on NSGA-II and fitness inheritance The use of fitness inheritance No substantial decrease in the overall quality 25% reduction of the execution time Future work Population sizing Scalability Pier Luca Lanzi