643 research outputs found
GPU-Accelerated Computation of Vietoris-Rips Persistence Barcodes
The computation of Vietoris-Rips persistence barcodes is both
execution-intensive and memory-intensive. In this paper, we study the
computational structure of Vietoris-Rips persistence barcodes, and identify
several unique mathematical properties and algorithmic opportunities with
connections to the GPU. Mathematically and empirically, we look into the
properties of apparent pairs, which are independently identifiable persistence
pairs comprising up to 99% of persistence pairs. We give theoretical upper and
lower bounds of the apparent pair rate and model the average case. We also
design massively parallel algorithms to take advantage of the very large number
of simplices that can be processed independently of each other. Having
identified these opportunities, we develop a GPU-accelerated software for
computing Vietoris-Rips persistence barcodes, called Ripser++. The software
achieves up to 30x speedup over the total execution time of the original Ripser
and also reduces CPU-memory usage by up to 2.0x. We believe our
GPU-acceleration based efforts open a new chapter for the advancement of
topological data analysis in the post-Moore's Law era.Comment: 36 pages, 15 figures. To be published in Symposium on Computational
Geometry 202
Quantum Algorithm Implementations for Beginners
As quantum computers become available to the general public, the need has
arisen to train a cohort of quantum programmers, many of whom have been
developing classical computer programs for most of their careers. While
currently available quantum computers have less than 100 qubits, quantum
computing hardware is widely expected to grow in terms of qubit count, quality,
and connectivity. This review aims to explain the principles of quantum
programming, which are quite different from classical programming, with
straightforward algebra that makes understanding of the underlying fascinating
quantum mechanical principles optional. We give an introduction to quantum
computing algorithms and their implementation on real quantum hardware. We
survey 20 different quantum algorithms, attempting to describe each in a
succinct and self-contained fashion. We show how these algorithms can be
implemented on IBM's quantum computer, and in each case, we discuss the results
of the implementation with respect to differences between the simulator and the
actual hardware runs. This article introduces computer scientists, physicists,
and engineers to quantum algorithms and provides a blueprint for their
implementations
The prospects of quantum computing in computational molecular biology
Quantum computers can in principle solve certain problems exponentially more
quickly than their classical counterparts. We have not yet reached the advent
of useful quantum computation, but when we do, it will affect nearly all
scientific disciplines. In this review, we examine how current quantum
algorithms could revolutionize computational biology and bioinformatics. There
are potential benefits across the entire field, from the ability to process
vast amounts of information and run machine learning algorithms far more
efficiently, to algorithms for quantum simulation that are poised to improve
computational calculations in drug discovery, to quantum algorithms for
optimization that may advance fields from protein structure prediction to
network analysis. However, these exciting prospects are susceptible to "hype",
and it is also important to recognize the caveats and challenges in this new
technology. Our aim is to introduce the promise and limitations of emerging
quantum computing technologies in the areas of computational molecular biology
and bioinformatics.Comment: 23 pages, 3 figure
Space Efficient Sequence Alignment for SRAM-Based Computing: X-Drop on the Graphcore IPU
Dedicated accelerator hardware has become essential for processing AI-based
workloads, leading to the rise of novel accelerator architectures. Furthermore,
fundamental differences in memory architecture and parallelism have made these
accelerators targets for scientific computing.
The sequence alignment problem is fundamental in bioinformatics; we have
implemented the -Drop algorithm, a heuristic method for pairwise alignment
that reduces search space, on the Graphcore Intelligence Processor Unit (IPU)
accelerator. The -Drop algorithm has an irregular computational pattern,
which makes it difficult to accelerate due to load balancing.
Here, we introduce a graph-based partitioning and queue-based batch system to
improve load balancing. Our implementation achieves speedup over a
state-of-the-art GPU implementation and up to compared to CPU. In
addition, we introduce a memory-restricted -Drop algorithm that reduces
memory footprint by and efficiently uses the IPU's limited
low-latency SRAM. This optimization further improves the strong scaling
performance by .Comment: 12 pages, 7 figures, 2 table
Progressive Wasserstein Barycenters of Persistence Diagrams
This paper presents an efficient algorithm for the progressive approximation
of Wasserstein barycenters of persistence diagrams, with applications to the
visual analysis of ensemble data. Given a set of scalar fields, our approach
enables the computation of a persistence diagram which is representative of the
set, and which visually conveys the number, data ranges and saliences of the
main features of interest found in the set. Such representative diagrams are
obtained by computing explicitly the discrete Wasserstein barycenter of the set
of persistence diagrams, a notoriously computationally intensive task. In
particular, we revisit efficient algorithms for Wasserstein distance
approximation [12,51] to extend previous work on barycenter estimation [94]. We
present a new fast algorithm, which progressively approximates the barycenter
by iteratively increasing the computation accuracy as well as the number of
persistent features in the output diagram. Such a progressivity drastically
improves convergence in practice and allows to design an interruptible
algorithm, capable of respecting computation time constraints. This enables the
approximation of Wasserstein barycenters within interactive times. We present
an application to ensemble clustering where we revisit the k-means algorithm to
exploit our barycenters and compute, within execution time constraints,
meaningful clusters of ensemble data along with their barycenter diagram.
Extensive experiments on synthetic and real-life data sets report that our
algorithm converges to barycenters that are qualitatively meaningful with
regard to the applications, and quantitatively comparable to previous
techniques, while offering an order of magnitude speedup when run until
convergence (without time constraint). Our algorithm can be trivially
parallelized to provide additional speedups in practice on standard
workstations. [...
Task-based Augmented Contour Trees with Fibonacci Heaps
This paper presents a new algorithm for the fast, shared memory, multi-core
computation of augmented contour trees on triangulations. In contrast to most
existing parallel algorithms our technique computes augmented trees, enabling
the full extent of contour tree based applications including data segmentation.
Our approach completely revisits the traditional, sequential contour tree
algorithm to re-formulate all the steps of the computation as a set of
independent local tasks. This includes a new computation procedure based on
Fibonacci heaps for the join and split trees, two intermediate data structures
used to compute the contour tree, whose constructions are efficiently carried
out concurrently thanks to the dynamic scheduling of task parallelism. We also
introduce a new parallel algorithm for the combination of these two trees into
the output global contour tree. Overall, this results in superior time
performance in practice, both in sequential and in parallel thanks to the
OpenMP task runtime. We report performance numbers that compare our approach to
reference sequential and multi-threaded implementations for the computation of
augmented merge and contour trees. These experiments demonstrate the run-time
efficiency of our approach and its scalability on common workstations. We
demonstrate the utility of our approach in data segmentation applications
A Mathematical Framework for Unmanned Aerial Vehicle Obstacle Avoidance
The obstacle avoidance navigation problem for Unmanned Aerial Vehicles (UAVs) is a very challenging problem. It lies at the intersection of many fields such as probability, differential geometry, optimal control, and robotics. We build a mathematical framework to solve this problem for quadrotors using both a theoretical approach through a Hamiltonian system and a machine learning approach that learns from human sub-experts\u27 multiple demonstrations in obstacle avoidance. Prior research on the machine learning approach uses an algorithm that does not incorporate geometry. We have developed tools to solve and test the obstacle avoidance problem through mathematics
- …