31 research outputs found

    High performance programming paradigms applied to computational fluid dynamic simulations

    Get PDF
    Most of the time spent to solve a numerical problem is taken by a linear system. There are cases in which the solution is straightforward: lower triangular, upper triangular or diagonal matrices. However, in every day life, solutions of linear systems are far for being trivial: usually partial differential equation (PDE) problems lead to complicated linear systems and it could be even worse when you have to deal with a system of PDEs. This is the situation where HPC is not enough and the starting point of my thesis. Literature and software libraries provide a huge amount of resources and it is very unlikely that you could do better than thousand of scientists and billions of lines of code improved for years. You might improve slightly your code, and not more but if you want to significantly improve your code, you will have to take into account something else: what you need is a new High Performance Point of View

    Playa: High-Performance Programmable Linear Algebra

    Get PDF

    Deal2lkit: a Toolkit Library for High Performance Programming in deal.II

    Get PDF
    We propose a software design for the efficient and flexible handling of the building blocks used in high performance finite element simulations, through the pervasive use of parameters (parsed through parameter files). In the proposed design, all the building blocks of a high performance finite element program are built according to the command and composite design patterns.We present version 1.1.0 of the deal2lkit (deal.II ToolKit) library, which is a collection of modules and classes aimed at providing high level interfaces to several deal.II classes and functions, obeying the command and composite design patterns, and controlled via parameter files. Keywords: Object-orientation, Software design, Finite element methods, C+

    Modular Regularization Algorithms

    Get PDF

    Design and optimisation of scientific programs in a categorical language

    Get PDF
    This thesis presents an investigation into the use of advanced computer languages for scientific computing, an examination of performance issues that arise from using such languages for such a task, and a step toward achieving portable performance from compilers by attacking these problems in a way that compensates for the complexity of and differences between modern computer architectures. The language employed is Aldor, a functional language from computer algebra, and the scientific computing area is a subset of the family of iterative linear equation solvers applied to sparse systems. The linear equation solvers that are considered have much common structure, and this is factored out and represented explicitly in the lan-guage as a framework, by means of categories and domains. The flexibility introduced by decomposing the algorithms and the objects they act on into separate modules has a strong performance impact due to its negative effect on temporal locality. This necessi-tates breaking the barriers between modules to perform cross-component optimisation. In this instance the task reduces to one of collective loop fusion and array contrac

    Productive and efficient computational science through domain-specific abstractions

    Get PDF
    In an ideal world, scientific applications are computationally efficient, maintainable and composable and allow scientists to work very productively. We argue that these goals are achievable for a specific application field by choosing suitable domain-specific abstractions that encapsulate domain knowledge with a high degree of expressiveness. This thesis demonstrates the design and composition of domain-specific abstractions by abstracting the stages a scientist goes through in formulating a problem of numerically solving a partial differential equation. Domain knowledge is used to transform this problem into a different, lower level representation and decompose it into parts which can be solved using existing tools. A system for the portable solution of partial differential equations using the finite element method on unstructured meshes is formulated, in which contributions from different scientific communities are composed to solve sophisticated problems. The concrete implementations of these domain-specific abstractions are Firedrake and PyOP2. Firedrake allows scientists to describe variational forms and discretisations for linear and non-linear finite element problems symbolically, in a notation very close to their mathematical models. PyOP2 abstracts the performance-portable parallel execution of local computations over the mesh on a range of hardware architectures, targeting multi-core CPUs, GPUs and accelerators. Thereby, a separation of concerns is achieved, in which Firedrake encapsulates domain knowledge about the finite element method separately from its efficient parallel execution in PyOP2, which in turn is completely agnostic to the higher abstraction layer. As a consequence of the composability of those abstractions, optimised implementations for different hardware architectures can be automatically generated without any changes to a single high-level source. Performance matches or exceeds what is realistically attainable by hand-written code. Firedrake and PyOP2 are combined to form a tool chain that is demonstrated to be competitive with or faster than available alternatives on a wide range of different finite element problems.Open Acces

    Error estimates in weighted Sobolev norms for finite element immersed interface methods

    Get PDF
    When solving elliptic partial differential equations in a region containing immersed interfaces (possibly evolving in time), it is often desirable to approximate the problem using a uniform background discretisation, not aligned with the interface itself. Optimal convergence rates are possible if the discretisation scheme is enriched by allowing the discrete solution to have jumps aligned with the surface, at the cost of a higher complexity in the implementation. A much simpler way to reformulate immersed interface problems consists in replacing the interface by a singular force field that produces the desired interface conditions, as done in immersed boundary methods. These methods are known to have inferior convergence properties, depending on the global regularity of the solution across the interface, when compared to enriched methods. In this work we prove that this detrimental effect on the convergence properties of the approximate solution is only a local phenomenon, restricted to a small neighbourhood of the interface. In particular we show that optimal approximations can be constructed in a natural and inexpensive way, simply by reformulating the problem in a distributionally consistent way, and by resorting to weighted norms when computing the global error of the approximation

    A priori error estimates of regularized elliptic problems

    Get PDF
    Approximations of the Dirac delta distribution are commonly used to create sequences of smooth functions approximating nonsmooth (generalized) functions, via convolution. In this work we show a-priori rates of convergence of this approximation process in standard Sobolev norms, with minimal regularity assumptions on the approximation of the Dirac delta distribution. The application of these estimates to the numerical solution of elliptic problems with singularly supported forcing terms allows us to provide sharp H1 and L2 error estimates for the corresponding regularized problem. As an application, we show how finite element approximations of a regularized immersed interface method results in the same rates of convergence of its non-regularized counterpart, provided that the support of the Dirac delta approximation is set to a multiple of the mesh size, at a fraction of the implementation complexity. Numerical experiments are provided to support our theories
    corecore