1,074 research outputs found
Parallel symbolic state-space exploration is difficult, but what is the alternative?
State-space exploration is an essential step in many modeling and analysis
problems. Its goal is to find the states reachable from the initial state of a
discrete-state model described. The state space can used to answer important
questions, e.g., "Is there a dead state?" and "Can N become negative?", or as a
starting point for sophisticated investigations expressed in temporal logic.
Unfortunately, the state space is often so large that ordinary explicit data
structures and sequential algorithms cannot cope, prompting the exploration of
(1) parallel approaches using multiple processors, from simple workstation
networks to shared-memory supercomputers, to satisfy large memory and runtime
requirements and (2) symbolic approaches using decision diagrams to encode the
large structured sets and relations manipulated during state-space generation.
Both approaches have merits and limitations. Parallel explicit state-space
generation is challenging, but almost linear speedup can be achieved; however,
the analysis is ultimately limited by the memory and processors available.
Symbolic methods are a heuristic that can efficiently encode many, but not all,
functions over a structured and exponentially large domain; here the pitfalls
are subtler: their performance varies widely depending on the class of decision
diagram chosen, the state variable order, and obscure algorithmic parameters.
As symbolic approaches are often much more efficient than explicit ones for
many practical models, we argue for the need to parallelize symbolic
state-space generation algorithms, so that we can realize the advantage of both
approaches. This is a challenging endeavor, as the most efficient symbolic
algorithm, Saturation, is inherently sequential. We conclude by discussing
challenges, efforts, and promising directions toward this goal
Pruned Continuous Haar Transform of 2D Polygonal Patterns with Application to VLSI Layouts
We introduce an algorithm for the efficient computation of the continuous
Haar transform of 2D patterns that can be described by polygons. These patterns
are ubiquitous in VLSI processes where they are used to describe design and
mask layouts. There, speed is of paramount importance due to the magnitude of
the problems to be solved and hence very fast algorithms are needed. We show
that by techniques borrowed from computational geometry we are not only able to
compute the continuous Haar transform directly, but also to do it quickly. This
is achieved by massively pruning the transform tree and thus dramatically
decreasing the computational load when the number of vertices is small, as is
the case for VLSI layouts. We call this new algorithm the pruned continuous
Haar transform. We implement this algorithm and show that for patterns found in
VLSI layouts the proposed algorithm was in the worst case as fast as its
discrete counterpart and up to 12 times faster.Comment: 4 pages, 5 figures, 1 algorith
GPU Parallel Computation of Morse-Smale Complexes
The Morse-Smale complex is a well studied topological structure that
represents the gradient flow behavior of a scalar function. It supports
multi-scale topological analysis and visualization of large scientific data.
Its computation poses significant algorithmic challenges when considering large
scale data and increased feature complexity. Several parallel algorithms have
been proposed towards the fast computation of the 3D Morse-Smale complex. The
non-trivial structure of the saddle-saddle connections are not amenable to
parallel computation. This paper describes a fine grained parallel method for
computing the Morse-Smale complex that is implemented on a GPU. The
saddle-saddle reachability is first determined via a transformation into a
sequence of vector operations followed by the path traversal, which is achieved
via a sequence of matrix operations. Computational experiments show that the
method achieves up to 7x speedup over current shared memory implementations
- …