20,682 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
DNA Computing by Self-Assembly
Information and algorithms appear to be central to biological organization
and processes, from the storage and reproduction of genetic information to
the control of developmental processes to the sophisticated computations
performed by the nervous system. Much as human technology uses electronic
microprocessors to control electromechanical devices, biological
organisms use biochemical circuits to control molecular and chemical events.
The engineering and programming of biochemical circuits, in vivo and in
vitro, would transform industries that use chemical and nanostructured
materials. Although the construction of biochemical circuits has been
explored theoretically since the birth of molecular biology, our practical
experience with the capabilities and possible programming of biochemical
algorithms is still very young
QuASeR -- Quantum Accelerated De Novo DNA Sequence Reconstruction
In this article, we present QuASeR, a reference-free DNA sequence
reconstruction implementation via de novo assembly on both gate-based and
quantum annealing platforms. Each one of the four steps of the implementation
(TSP, QUBO, Hamiltonians and QAOA) is explained with simple proof-of-concept
examples to target both the genomics research community and quantum application
developers in a self-contained manner. The details of the implementation are
discussed for the various layers of the quantum full-stack accelerator design.
We also highlight the limitations of current classical simulation and available
quantum hardware systems. The implementation is open-source and can be found on
https://github.com/prince-ph0en1x/QuASeR.Comment: 24 page
High-throughput in-situ characterization and modelling of precipitation kinetics in compositionally graded alloys
The development of new engineering alloy chemistries is a time consuming and
iterative process. A necessary step is characterization of the
nano/microstructure to provide a link between the processing and properties of
each alloy chemistry considered. One approach to accelerate the identification
of optimal chemistries is to use samples containing a gradient in composition,
ie. combinatorial samples, and to investigate many different chemistries at the
same time. However, for engineering alloys, the final properties depend not
only on chemistry but also on the path of microstructure development which
necessitates characterization of microstructure evolution for each chemistry.
In this contribution we demonstrate an approach that allows for the in-situ,
nanoscale characterization of the precipitate structures in alloys, as a
function of aging time, in combinatorial samples containing a composition
gradient. The approach uses small angle x-ray scattering (SAXS) at a
synchrotron beamline. The Cu-Co system is used for the proof-of-concept and the
combinatorial samples prepared contain a gradient in Co from 0% to 2%. These
samples are aged at temperatures between 450{\textdegree}C and
550{\textdegree}C and the precipitate structures (precipitate size, volume
fraction and number density) all along the composition gradient are
simultaneously monitored as a function of time. This large dataset is used to
test the applicability and robustness of a conventional class model for
precipitation that considers concurrent nucleation, growth and coarsening and
the ability of the model to describe such a large dataset.Comment: Published in Acta Materiali
The Parallelism Motifs of Genomic Data Analysis
Genomic data sets are growing dramatically as the cost of sequencing
continues to decline and small sequencing devices become available. Enormous
community databases store and share this data with the research community, but
some of these genomic data analysis problems require large scale computational
platforms to meet both the memory and computational requirements. These
applications differ from scientific simulations that dominate the workload on
high end parallel systems today and place different requirements on programming
support, software libraries, and parallel architectural design. For example,
they involve irregular communication patterns such as asynchronous updates to
shared data structures. We consider several problems in high performance
genomics analysis, including alignment, profiling, clustering, and assembly for
both single genomes and metagenomes. We identify some of the common
computational patterns or motifs that help inform parallelization strategies
and compare our motifs to some of the established lists, arguing that at least
two key patterns, sorting and hashing, are missing
Combinatorial optimization problems in self-assembly
Self-assembly is the ubiquitous process by which simple objects autonomously assemble into intricate complexes. It has been suggested that intricate self-assembly processes will ultimately be used in circuit fabrication, nano-robotics, DNA computation, and amorphous computing. In this paper, we study two combinatorial optimization problems related to efficient self-assembly of shapes in the Tile Assembly Model of self-assembly proposed by Rothemund and Winfree [18]. The first is the Minimum Tile Set Problem, where the goal is to find the smallest tile system that uniquely produces a given shape. The second is the Tile Concentrations Problem, where the goal is to decide on the relative concentrations of different types of tiles so that a tile system assembles as quickly as possible. The first problem is akin to finding optimum program size, and the second to finding optimum running time for a "program" to assemble the shape.Self-assembly is the ubiquitous process by which simple objects autonomously assemble into intricate complexes. It has been suggested that intricate self-assembly processes will ultimately be used in circuit fabrication, nano-robotics, DNA computation, and amorphous computing. In this paper, we study two combinatorial optimization problems related to efficient self-assembly of shapes in the Tile Assembly Model of self-assembly proposed by Rothemund and Winfree [18]. The first is the Minimum Tile Set Problem, where the goal is to find the smallest tile system that uniquely produces a given shape. The second is the Tile Concentrations Problem, where the goal is to decide on the relative concentrations of different types of tiles so that a tile system assembles as quickly as possible. The first problem is akin to finding optimum program size, and the second to finding optimum running time for a "program" to assemble the shape. We prove that the first problem is NP-complete in general, and polynomial time solvable on trees and squares. In order to prove that the problem is in NP, we present a polynomial time algorithm to verify whether a given tile system uniquely produces a given shape. This algorithm is analogous to a program verifier for traditional computational systems, and may well be of independent interest. For the second problem, we present a polynomial time -approximation algorithm that works for a large class of tile systems that we call partial order systems
- …