4,234 research outputs found

    One machine, one minute, three billion tetrahedra

    Full text link
    This paper presents a new scalable parallelization scheme to generate the 3D Delaunay triangulation of a given set of points. Our first contribution is an efficient serial implementation of the incremental Delaunay insertion algorithm. A simple dedicated data structure, an efficient sorting of the points and the optimization of the insertion algorithm have permitted to accelerate reference implementations by a factor three. Our second contribution is a multi-threaded version of the Delaunay kernel that is able to concurrently insert vertices. Moore curve coordinates are used to partition the point set, avoiding heavy synchronization overheads. Conflicts are managed by modifying the partitions with a simple rescaling of the space-filling curve. The performances of our implementation have been measured on three different processors, an Intel core-i7, an Intel Xeon Phi and an AMD EPYC, on which we have been able to compute 3 billion tetrahedra in 53 seconds. This corresponds to a generation rate of over 55 million tetrahedra per second. We finally show how this very efficient parallel Delaunay triangulation can be integrated in a Delaunay refinement mesh generator which takes as input the triangulated surface boundary of the volume to mesh

    Hardware-aware block size tailoring on adaptive spacetree grids for shallow water waves.

    Get PDF
    Spacetrees are a popular formalism to describe dynamically adaptive Cartesian grids. Though they directly yield an adaptive spatial discretisation, i.e. a mesh, it is often more efficient to augment them by regular Cartesian blocks embedded into the spacetree leaves. This facilitates stencil kernels working efficiently on homogeneous data chunks. The choice of a proper block size, however, is delicate. While large block sizes foster simple loop parallelism, vectorisation, and lead to branch-free compute kernels, they bring along disadvantages. Large blocks restrict the granularity of adaptivity and hence increase the memory footprint and lower the numerical-accuracy-per-byte efficiency. Large block sizes also reduce the block-level concurrency that can be used for dynamic load balancing. In the present paper, we therefore propose a spacetree-block coupling that can dynamically tailor the block size to the compute characteristics. For that purpose, we allow different block sizes per spacetree node. Groups of blocks of the same size are identied automatically throughout the simulation iterations, and a predictor function triggers the replacement of these blocks by one huge, regularly rened block. This predictor can pick up hardware characteristics while the dynamic adaptivity of the fine grid mesh is not constrained. We study such characteristics with a state-of-the-art shallow water solver and examine proper block size choices on AMD Bulldozer and Intel Sandy Bridge processors

    Probabilistic Guarantees for Safe Deep Reinforcement Learning

    Full text link
    Deep reinforcement learning has been successfully applied to many control tasks, but the application of such agents in safety-critical scenarios has been limited due to safety concerns. Rigorous testing of these controllers is challenging, particularly when they operate in probabilistic environments due to, for example, hardware faults or noisy sensors. We propose MOSAIC, an algorithm for measuring the safety of deep reinforcement learning agents in stochastic settings. Our approach is based on the iterative construction of a formal abstraction of a controller's execution in an environment, and leverages probabilistic model checking of Markov decision processes to produce probabilistic guarantees on safe behaviour over a finite time horizon. It produces bounds on the probability of safe operation of the controller for different initial configurations and identifies regions where correct behaviour can be guaranteed. We implement and evaluate our approach on agents trained for several benchmark control problems

    Abstraction-Based Data-Driven Control

    Get PDF
    Our world is living a paradigm shift in technology policy, often referred to as the Cyber-Physical Revolution or Industry 4.0. Nowadays, Cyber-Physical Systems are ubiquitous in modern control engineering, including automobiles, aircraft, building control systems, chemical plants, transportation systems, and so on. The interactions of the physical processes with the machines that control them are becoming increasingly complex, and in a growing number of situations either the model of the system is unavailable, or it is too difficult to describe accurately. Therefore, embedded computers need to "learn" the optimal way to control the systems by the mere observation of data. What seems the best approach to control these complex systems is often by discretizing the different variables, thus transforming the model into a combinatorial problem on a finite-state automaton, which is called an abstraction of the real system. Until now, this approach, often referred to as "abstraction-based control" or "symbolic control", has not been proved useful beyond small academic examples. In this project I aim to show the potential of this approach by implementing a novel data-driven approach based on a probabilistic interpretation of the discretization error. I have developed a toolbox (github.com/davidedl-ucl/master-thesis) implementing this kind of control with the aim of integrating it in the Dionysos software github.com/dionysos-dev). With this software, I succeeded in efficiently solving problems for non-linear control systems such as a path planning for an autonomous vehicle and a cart-pole balancing problem. The long-term objective of this project is to improve the methods implemented in my current software by employing a variable discretization of the state space and to consider complex specifications such as LTL formulas.Our world is living a paradigm shift in technology policy, often referred to as the Cyber-Physical Revolution or Industry 4.0. Nowadays, Cyber-Physical Systems are ubiquitous in modern control engineering, including automobiles, aircraft, building control systems, chemical plants, transportation systems, and so on. The interactions of the physical processes with the machines that control them are becoming increasingly complex, and in a growing number of situations either the model of the system is unavailable, or it is too difficult to describe accurately. Therefore, embedded computers need to "learn" the optimal way to control the systems by the mere observation of data. What seems the best approach to control these complex systems is often by discretizing the different variables, thus transforming the model into a combinatorial problem on a finite-state automaton, which is called an abstraction of the real system. Until now, this approach, often referred to as "abstraction-based control" or "symbolic control", has not been proved useful beyond small academic examples. In this project I aim to show the potential of this approach by implementing a novel data-driven approach based on a probabilistic interpretation of the discretization error. I have developed a toolbox (github.com/davidedl-ucl/master-thesis) implementing this kind of control with the aim of integrating it in the Dionysos software github.com/dionysos-dev). With this software, I succeeded in efficiently solving problems for non-linear control systems such as a path planning for an autonomous vehicle and a cart-pole balancing problem. The long-term objective of this project is to improve the methods implemented in my current software by employing a variable discretization of the state space and to consider complex specifications such as LTL formulas

    Adaptive Data Migration in Load-Imbalanced HPC Applications

    Get PDF
    Distributed parallel applications need to maximize and maintain computer resource utilization and be portable across different machines. Balanced execution of some applications requires more effort than others because their data distribution changes over time. Data re-distribution at runtime requires elaborate schemes that are expensive and may benefit particular applications. This dissertation discusses a solution for HPX applications to monitor application execution with APEX and use AGAS migration to adaptively redistribute data and load balance applications at runtime to improve application performance and scaling behavior. This dissertation provides evidence for the practicality of using the Active Global Address Space as is proposed by the ParalleX model and implemented in HPX. It does so by using migration for the transparent moving of objects at runtime and using the Autonomic Performance Environment for eXascale library with experiments that run on homogeneous and heterogeneous machines at Louisiana State University, CSCS Swiss National Supercomputing Centre, and National Energy Research Scientific Computing Center

    Parallel software tool for decomposing and meshing of 3d structures

    Get PDF
    An algorithm for automatic parallel generation of three-dimensional unstructured computational meshes based on geometrical domain decomposition is proposed in this paper. Software package build upon proposed algorithm is described. Several practical examples of mesh generation on multiprocessor computational systems are given. It is shown that developed parallel algorithm enables us to reduce mesh generation time significantly (dozens of times). Moreover, it easily produces meshes with number of elements of order 5 · 107, construction of those on a single CPU is problematic. Questions of time consumption, efficiency of computations and quality of generated meshes are also considered
    corecore