15,335 research outputs found
OpenACC Based GPU Parallelization of Plane Sweep Algorithm for Geometric Intersection
Line segment intersection is one of the elementary operations in computational geometry. Complex problems in Geographic Information Systems (GIS) like finding map overlays or spatial joins using polygonal data require solving segment intersections. Plane sweep paradigm is used for finding geometric intersection in an efficient manner. However, it is difficult to parallelize due to its in-order processing of spatial events. We present a new fine-grained parallel algorithm for geometric intersection and its CPU and GPU implementation using OpenMP and OpenACC. To the best of our knowledge, this is the first work demonstrating an effective parallelization of plane sweep on GPUs.
We chose compiler directive based approach for implementation because of its simplicity to parallelize sequential code. Using Nvidia Tesla P100 GPU, our implementation achieves around 40X speedup for line segment intersection problem on 40K and 80K data sets compared to sequential CGAL library
Computing low-degree factors of lacunary polynomials: a Newton-Puiseux approach
We present a new algorithm for the computation of the irreducible factors of
degree at most , with multiplicity, of multivariate lacunary polynomials
over fields of characteristic zero. The algorithm reduces this computation to
the computation of irreducible factors of degree at most of univariate
lacunary polynomials and to the factorization of low-degree multivariate
polynomials. The reduction runs in time polynomial in the size of the input
polynomial and in . As a result, we obtain a new polynomial-time algorithm
for the computation of low-degree factors, with multiplicity, of multivariate
lacunary polynomials over number fields, but our method also gives partial
results for other fields, such as the fields of -adic numbers or for
absolute or approximate factorization for instance.
The core of our reduction uses the Newton polygon of the input polynomial,
and its validity is based on the Newton-Puiseux expansion of roots of bivariate
polynomials. In particular, we bound the valuation of where is
a lacunary polynomial and a Puiseux series whose vanishing polynomial
has low degree.Comment: 22 page
Bounded-degree factors of lacunary multivariate polynomials
In this paper, we present a new method for computing bounded-degree factors
of lacunary multivariate polynomials. In particular for polynomials over number
fields, we give a new algorithm that takes as input a multivariate polynomial f
in lacunary representation and a degree bound d and computes the irreducible
factors of degree at most d of f in time polynomial in the lacunary size of f
and in d. Our algorithm, which is valid for any field of zero characteristic,
is based on a new gap theorem that enables reducing the problem to several
instances of (a) the univariate case and (b) low-degree multivariate
factorization.
The reduction algorithms we propose are elementary in that they only
manipulate the exponent vectors of the input polynomial. The proof of
correctness and the complexity bounds rely on the Newton polytope of the
polynomial, where the underlying valued field consists of Puiseux series in a
single variable.Comment: 31 pages; Long version of arXiv:1401.4720 with simplified proof
MPI-Vector-IO: Parallel I/O and Partitioning for Geospatial Vector Data
In recent times, geospatial datasets are growing in terms of size, complexity and heterogeneity. High performance systems are needed to analyze such data to produce actionable insights in an efficient manner. For polygonal a.k.a vector datasets, operations such as I/O, data partitioning, communication, and load balancing becomes challenging in a cluster environment. In this work, we present MPI-Vector-IO 1 , a parallel I/O library that we have designed using MPI-IO specifically for partitioning and reading irregular vector data formats such as Well Known Text. It makes MPI aware of spatial data, spatial primitives and provides support for spatial data types embedded within collective computation and communication using MPI message-passing library. These abstractions along with parallel I/O support are useful for parallel Geographic Information System (GIS) application development on HPC platforms
Simple and Robust Boolean Operations for Triangulated Surfaces
Boolean operations of geometric models is an essential issue in computational
geometry. In this paper, we develop a simple and robust approach to perform
Boolean operations on closed and open triangulated surfaces. Our method mainly
has two stages: (1) We firstly find out candidate intersected-triangles pairs
based on Octree and then compute the inter-section lines for all pairs of
triangles with parallel algorithm; (2) We form closed or open
intersection-loops, sub-surfaces and sub-blocks quite robustly only according
to the cleared and updated topology of meshes while without coordinate
computations for geometric enti-ties. A novel technique instead of
inside/outside classification is also proposed to distinguish the resulting
union, subtraction and intersection. Several examples have been given to
illus-trate the effectiveness of our approach.Comment: Novel method for determining Union, Subtraction and Intersectio
Parallel algorithm for the matrix chain product problem
This paper considers the problem of finding an optimal order of the multiplication chain of matrices. All parallel algorithms known use the dynamic programming approach and run in a polylogarithmic time using, in the best case, n6/log6n processors. Our algorithm uses a different approach and reduces the problem to computing some recurrence on a tree. We show that this recurrence can be optimally solved which enables us to improve the parallel bound by a few factors. Our algorithm runs in O (log3n) time using n2/log3n processors on a CREW PRAM and O(log2n log log n) time using n2/(log2n log log n)processors on a CRCW PRAM. This algorithm solves also the problem of finding an optimal triangulation in a convex polygon. We show that for a monotone polygon this result can be even improved to get an O(log2n) time and n processor algorithm on a CREW PRAM
- …