51,800 research outputs found
Survey on Combinatorial Register Allocation and Instruction Scheduling
Register allocation (mapping variables to processor registers or memory) and
instruction scheduling (reordering instructions to increase instruction-level
parallelism) are essential tasks for generating efficient assembly code in a
compiler. In the last three decades, combinatorial optimization has emerged as
an alternative to traditional, heuristic algorithms for these two tasks.
Combinatorial optimization approaches can deliver optimal solutions according
to a model, can precisely capture trade-offs between conflicting decisions, and
are more flexible at the expense of increased compilation time.
This paper provides an exhaustive literature review and a classification of
combinatorial optimization approaches to register allocation and instruction
scheduling, with a focus on the techniques that are most applied in this
context: integer programming, constraint programming, partitioned Boolean
quadratic programming, and enumeration. Researchers in compilers and
combinatorial optimization can benefit from identifying developments, trends,
and challenges in the area; compiler practitioners may discern opportunities
and grasp the potential benefit of applying combinatorial optimization
Recommended from our members
A survey of behavioral-level partitioning systems
Many approaches have been developed to partition a system's behavioral description before a structural implementation is synthesized. We highlight the foundations and motivations for behavioral partitioning. We survey behavioral partitioning approaches, discussing abstraction levels, goals, major steps, and key assumptions in each
Data-Driven Shape Analysis and Processing
Data-driven methods play an increasingly important role in discovering
geometric, structural, and semantic relationships between 3D shapes in
collections, and applying this analysis to support intelligent modeling,
editing, and visualization of geometric data. In contrast to traditional
approaches, a key feature of data-driven approaches is that they aggregate
information from a collection of shapes to improve the analysis and processing
of individual shapes. In addition, they are able to learn models that reason
about properties and relationships of shapes without relying on hard-coded
rules or explicitly programmed instructions. We provide an overview of the main
concepts and components of these techniques, and discuss their application to
shape classification, segmentation, matching, reconstruction, modeling and
exploration, as well as scene analysis and synthesis, through reviewing the
literature and relating the existing works with both qualitative and numerical
comparisons. We conclude our report with ideas that can inspire future research
in data-driven shape analysis and processing.Comment: 10 pages, 19 figure
Evolutionary Synthesis of HVAC System Configurations: Algorithm Development.
This paper describes the development of an optimization procedure for the synthesis of novel heating, ventilating, and air-conditioning (HVAC) system configurations. Novel HVAC system designs can be synthesized using model-based optimization methods. The optimization problem can be considered as having three sub-optimization problems; the choice of a component set; the design of the topological connections between the components; and the design of a system operating strategy. In an attempt to limit the computational effort required to obtain a design solution, the approach adopted in this research is to solve all three sub-problems simultaneously. Further, the computational effort has been limited by implementing simplified component models and including the system performance evaluation as part of the optimization problem (there being no need in this respect to simulation the system performance). The optimization problem has been solved using a Genetic Algorithm (GA), with data structures and search operators that are specifically developed for the solution of HVAC system optimization problems (in some instances, certain of the novel operators may also be used in other topological optimization problems. The performance of the algorithm, and various search operators has been examined for a two-zone optimization problem (the objective of the optimization being to find a system design that minimizes the system energy use). In particular, the performance of the algorithm in finding feasible system designs has been examined. It was concluded that the search was unreliable when the component set was optimized, but if the component set was fixed as a boundary condition on the search, then the algorithm had an 81% probability of finding a feasible system design. The optimality of the solutions is not examined in this paper, but is described in an associated publication. It was concluded that, given a candidate set of system components, the algorithm described here provides an effective tool for exploring the novel design of HVAC systems. (c) HVAC & R journa
- …