15,482 research outputs found
Solving the G-problems in less than 500 iterations: Improved efficient constrained optimization by surrogate modeling and adaptive parameter control
Constrained optimization of high-dimensional numerical problems plays an
important role in many scientific and industrial applications. Function
evaluations in many industrial applications are severely limited and no
analytical information about objective function and constraint functions is
available. For such expensive black-box optimization tasks, the constraint
optimization algorithm COBRA was proposed, making use of RBF surrogate modeling
for both the objective and the constraint functions. COBRA has shown remarkable
success in solving reliably complex benchmark problems in less than 500
function evaluations. Unfortunately, COBRA requires careful adjustment of
parameters in order to do so.
In this work we present a new self-adjusting algorithm SACOBRA, which is
based on COBRA and capable to achieve high-quality results with very few
function evaluations and no parameter tuning. It is shown with the help of
performance profiles on a set of benchmark problems (G-problems, MOPTA08) that
SACOBRA consistently outperforms any COBRA algorithm with fixed parameter
setting. We analyze the importance of the several new elements in SACOBRA and
find that each element of SACOBRA plays a role to boost up the overall
optimization performance. We discuss the reasons behind and get in this way a
better understanding of high-quality RBF surrogate modeling
Optimizing compilation with preservation of structural code coverage metrics to support software testing
Code-coverage-based testing is a widely-used testing strategy with the aim of providing a meaningful decision criterion for the adequacy of a test suite. Code-coverage-based testing is also mandated for the development of safety-critical applications; for example, the DO178b document requires the application of the modified condition/decision coverage. One critical issue of code-coverage testing is that structural code coverage criteria are typically applied to source code whereas the generated machine code may result in a different code structure because of code optimizations performed by a compiler. In this work, we present the automatic calculation of coverage profiles describing which structural code-coverage criteria are preserved by which code optimization, independently of the concrete test suite. These coverage profiles allow to easily extend compilers with the feature of preserving any given code-coverage criteria by enabling only those code optimizations that preserve it. Furthermore, we describe the integration of these coverage profile into the compiler GCC. With these coverage profiles, we answer the question of how much code optimization is possible without compromising the error-detection likelihood of a given test suite. Experimental results conclude that the performance cost to achieve preservation of structural code coverage in GCC is rather low.Peer reviewedSubmitted Versio
Mechanistic modeling of architectural vulnerability factor
Reliability to soft errors is a significant design challenge in modern microprocessors owing to an exponential increase in the number of transistors on chip and the reduction in operating voltages with each process generation. Architectural Vulnerability Factor (AVF) modeling using microarchitectural simulators enables architects to make informed performance, power, and reliability tradeoffs. However, such simulators are time-consuming and do not reveal the microarchitectural mechanisms that influence AVF. In this article, we present an accurate first-order mechanistic analytical model to compute AVF, developed using the first principles of an out-of-order superscalar execution. This model provides insight into the fundamental interactions between the workload and microarchitecture that together influence AVF. We use the model to perform design space exploration, parametric sweeps, and workload characterization for AVF
SKIRT: the design of a suite of input models for Monte Carlo radiative transfer simulations
The Monte Carlo method is the most popular technique to perform radiative
transfer simulations in a general 3D geometry. The algorithms behind and
acceleration techniques for Monte Carlo radiative transfer are discussed
extensively in the literature, and many different Monte Carlo codes are
publicly available. On the contrary, the design of a suite of components that
can be used for the distribution of sources and sinks in radiative transfer
codes has received very little attention. The availability of such models, with
different degrees of complexity, has many benefits. For example, they can serve
as toy models to test new physical ingredients, or as parameterised models for
inverse radiative transfer fitting. For 3D Monte Carlo codes, this requires
algorithms to efficiently generate random positions from 3D density
distributions. We describe the design of a flexible suite of components for the
Monte Carlo radiative transfer code SKIRT. The design is based on a combination
of basic building blocks (which can be either analytical toy models or
numerical models defined on grids or a set of particles) and the extensive use
of decorators that combine and alter these building blocks to more complex
structures. For a number of decorators, e.g. those that add spiral structure or
clumpiness, we provide a detailed description of the algorithms that can be
used to generate random positions. Advantages of this decorator-based design
include code transparency, the avoidance of code duplication, and an increase
in code maintainability. Moreover, since decorators can be chained without
problems, very complex models can easily be constructed out of simple building
blocks. Finally, based on a number of test simulations, we demonstrate that our
design using customised random position generators is superior to a simpler
design based on a generic black-box random position generator.Comment: 15 pages, 4 figures, accepted for publication in Astronomy and
Computin
Beyond Reuse Distance Analysis: Dynamic Analysis for Characterization of Data Locality Potential
Emerging computer architectures will feature drastically decreased flops/byte
(ratio of peak processing rate to memory bandwidth) as highlighted by recent
studies on Exascale architectural trends. Further, flops are getting cheaper
while the energy cost of data movement is increasingly dominant. The
understanding and characterization of data locality properties of computations
is critical in order to guide efforts to enhance data locality. Reuse distance
analysis of memory address traces is a valuable tool to perform data locality
characterization of programs. A single reuse distance analysis can be used to
estimate the number of cache misses in a fully associative LRU cache of any
size, thereby providing estimates on the minimum bandwidth requirements at
different levels of the memory hierarchy to avoid being bandwidth bound.
However, such an analysis only holds for the particular execution order that
produced the trace. It cannot estimate potential improvement in data locality
through dependence preserving transformations that change the execution
schedule of the operations in the computation. In this article, we develop a
novel dynamic analysis approach to characterize the inherent locality
properties of a computation and thereby assess the potential for data locality
enhancement via dependence preserving transformations. The execution trace of a
code is analyzed to extract a computational directed acyclic graph (CDAG) of
the data dependences. The CDAG is then partitioned into convex subsets, and the
convex partitioning is used to reorder the operations in the execution trace to
enhance data locality. The approach enables us to go beyond reuse distance
analysis of a single specific order of execution of the operations of a
computation in characterization of its data locality properties. It can serve a
valuable role in identifying promising code regions for manual transformation,
as well as assessing the effectiveness of compiler transformations for data
locality enhancement. We demonstrate the effectiveness of the approach using a
number of benchmarks, including case studies where the potential shown by the
analysis is exploited to achieve lower data movement costs and better
performance.Comment: Transaction on Architecture and Code Optimization (2014
QFlow lite dataset: A machine-learning approach to the charge states in quantum dot experiments
Over the past decade, machine learning techniques have revolutionized how
research is done, from designing new materials and predicting their properties
to assisting drug discovery to advancing cybersecurity. Recently, we added to
this list by showing how a machine learning algorithm (a so-called learner)
combined with an optimization routine can assist experimental efforts in the
realm of tuning semiconductor quantum dot (QD) devices. Among other
applications, semiconductor QDs are a candidate system for building quantum
computers. The present-day tuning techniques for bringing the QD devices into a
desirable configuration suitable for quantum computing that rely on heuristics
do not scale with the increasing size of the quantum dot arrays required for
even near-term quantum computing demonstrations. Establishing a reliable
protocol for tuning that does not rely on the gross-scale heuristics developed
by experimentalists is thus of great importance. To implement the machine
learning-based approach, we constructed a dataset of simulated QD device
characteristics, such as the conductance and the charge sensor response versus
the applied electrostatic gate voltages. Here, we describe the methodology for
generating the dataset, as well as its validation in training convolutional
neural networks. We show that the learner's accuracy in recognizing the state
of a device is ~96.5 % in both current- and charge-sensor-based training. We
also introduce a tool that enables other researchers to use this approach for
further research: QFlow lite - a Python-based mini-software suite that uses the
dataset to train neural networks to recognize the state of a device and
differentiate between states in experimental data. This work gives the
definitive reference for the new dataset that will help enable researchers to
use it in their experiments or to develop new machine learning approaches and
concepts.Comment: 18 pages, 6 figures, 3 table
- …