## Section: New Results

### High performance solvers for large linear algebra problems

#### Exploiting Kepler architecture in sparse direct solver with runtime systems

Many works have addressed heterogeneous architectures
to exploit accelerators such as GPUs or Intel Xeon Phi with
interesting speedup. Despite researches towards generic solutions to
efficiently exploit those accelerators, their hardware evolution
requires continual adaptation of the kernels running on those
architectures. The recent Nvidia architectures, as Kepler, present a
larger number of parallel units thus requiring more data to feed every
computational units. A solution considered to supply enough
computation has been to study problems with large number of small
computations. The batched BLAS libraries proposed by Intel, Nvidia, or
the University of Tennessee are examples of this solution. We have
investigated the use of the variable size batched matrix-matrix
multiply to improve the performance of a the `PaStiX` sparse direct
solver. Indeed, this kernel suits the super-nodal method of the solver,
and the multiple updates of variable sizes that occur during the
numerical factorization.

These contributions have been presented at the PMAA'16 conference [28].

#### Blocking strategy optimizations for sparse direct linear solver on heterogeneous architectures

The preprocessing steps of sparse direct solvers, ordering and block-symbolic factorization, are two major steps that lead to a reduced amount of computation and memory and to a better task granularity to reach a good level of performance when using BLAS kernels. With the advent of GPUs, the granularity of the block computations became more important than ever. In this paper, we present a reordering strategy that increases this block granularity. This strategy relies on the block-symbolic factorization to refine the ordering produced by tools such as `METIS` or `Scotch`, but it does not impact the number of operations required to solve the problem. We integrate this algorithm in the `PaStiX` solver and show an important reduction of the number of off-diagonal blocks on a large spectrum of matrices. This improvement leads to an increase in efficiency of up to 10% on CPUs and up to 40% on GPUs.

These contributions have been presented at the SIAM PP'16 conference [35] and an extended paper has been submitted to SIAM Journal on Matrix Analysis and Applications [49].

#### Sparse supernodal solver using hierarchical compression

In the context of FastLA associate team, during the last 3 years, we are collaborating with Eric Darve, professor in the Institute for Computational and Mathematical Engineering and the Mechanical Engineering Department at Stanford, on the design of a new efficient sparse direct solvers.

Sparse direct solvers such as `PaStiX` are currently limited by their
memory requirements and computational cost. They are competitive for
small matrices but are often less efficient than iterative methods for
large matrices in terms of memory. We are currently accelerating the dense algebra
components of direct solvers using hierarchical matrices algebra. In the first
step, we are targeting an $O\left({N}^{4/3}\right)$ solver. Preliminary benchmarks
indicate that a speed up of 2x to 10x is possible (on the largest test
cases).

In the context of the FastLA team, we have been working on applying fast direct
solvers for dense matrices to the solution of sparse direct systems.
We observed that the extend-add operation (during the sparse
factorization) is the most time-consuming step. We have therefore
developed a series of algorithms to reduce this computational cost.
We presented a new implementation of the `PaStiX` solver using hierarchical compression to reduce the burden on large
blocks appearing during the nested dissection process.
To improve the efficiency of our sparse update kernel for both BLR
(block low-rank) and HODLR (hierarchically off-diagonal low-rank), we
are now investigating to BDLR (boundary distance low-rank)
approximation scheme to preselect rows and columns in the low-rank approximation algorithm.
We also have to improve our ordering strategies to enhance data locality and compressibility.
The implementation is based on runtime systems to exploit parallelism.

Some contributions have already been presented at the workshops on Fast Solvers [32], [31], [30]. This work is a joint effort between Professor Darve’s group at Stanford and the Inria HiePACS team within FastLA .

#### Hierarchical hybrid sparse linear solver for multicore platforms

The solution of large sparse linear systems is a critical operation for many numerical
simulations. To cope with the hierarchical design of modern supercomputers, hybrid solvers based
on Domain Decomposition Methods (DDM) have been been proposed. Among them, approaches
consisting of solving the problem on the interior of the domains with a sparse direct method
and the problem on their interface with a preconditioned iterative method applied to the related
Schur Complement have shown an attractive potential as they can combine the robustness of
direct methods and the low memory footprint of iterative methods. In this report, we consider an
additive Schwarz preconditioner for the Schur Complement, which represents a scalable candidate
but whose numerical robustness may decrease when the number of domains becomes too large.
We thus propose a two-level MPI/thread parallel approach to control the number of domains and
hence the numerical behaviour. We illustrate our discussion with large-scale matrices arising from
real-life applications and processed on both a modern cluster and a supercomputer. We show
that the resulting method can process matrices such as tdr455k for which we previously either ran
out of memory on few nodes or failed to converge on a larger number of nodes. Matrices such as
Nachos_4M that could not be correctly processed in the past can now be efficiently processed up to
a very large number of CPU cores (24 576 cores). The corresponding code has been incorporated
into the `MaPHyS` package.

More details on this work can be found in [44]

#### Task-based conjugate gradient: from multi-GPU towards heterogeneous architectures

Whereas most parallel High Performance Computing (HPC) numerical libaries have been written as highly tuned and mostly monolithic codes, the increased complexity of modern architectures led the computational science and engineering community to consider more mod- ular programming paradigms such as task-based paradigms to design new generation of parallel simulation code; this enables to delegate part of the work to a third party software such as a runtime system. That latter approach has been shown to be very productive and efficient with compute-intensive algorithms, such as dense linear algebra and sparse direct solvers. In this study, we consider a much more irregular, and synchronizing algorithm, namely the Conjugate Gradient (CG) algorithm. We propose a task-based formulation of the algorithm together with a very ne instrumentation of the runtime system. We show that almost optimum speed up may be reached on a multi-GPU platform (relatively to the mono-GPU case) and, as a very preliminary but promising result, that the approach can be e ectively used to handle heterogenous architectures composed of a multicore chip and multiple GPUs. We expect that these results will pave the way for investigating the design of new advanced, irregular numerical algorithms on top of runtime systems.

More details on this work can be found in [42]

#### Analysis of rounding error accumulation in conjugate gradients to improve the maximal attainable accuracy of pipelined CG

Pipelined Krylov solvers typically offer better scalability in the strong scaling limit compared to standard Krylov methods. The synchronization bottleneck is mitigated by overlap- ping time-consuming global communications with useful computations in the algorithm. However, to achieve this communication hiding strategy, pipelined methods feature multiple recurrence re- lations on additional auxiliary variables to update the guess for the solution. This paper aims at studying the influence of rounding errors on the convergence of the pipelined Conjugate Gradient method. It is analyzed why rounding effects have a significantly larger impact on the maximal attainable accuracy of the pipelined CG algorithm compared to the traditional CG method. Fur- thermore, an algebraic model for the accumulation of rounding errors throughout the (pipelined) CG algorithm is derived. Based on this rounding error model, we then propose an automated residual replacement strategy to reduce the effect of rounding errors on the final iterative solution. The resulting pipelined CG method with automated residual replacement improves the maximal attainable accuracy of pipelined CG to a precision comparable to that of standard CG, while maintaining the efficient parallel performance of the pipelined method.

More details on this work can be found in [46].

#### Nearly optimal fast preconditioning of symmetric positive definite matrices

We consider the hierarchical off-diagonal low-rank preconditioning of symmetric positive definite matrices arising from second order elliptic boundary value problems. When the scale of such problems becomes large combined with possibly complex geometry or unstable of boundary conditions, the representing matrix is large and typically ill-conditioned. Multilevel methods such as the hierarchical matrix approximation are often a necessity to obtain an efficient solution. We propose a novel hierarchical preconditioner that attempts to minimize the condition number of the preconditioned system. The method is based on approximating the low-rank off-diagonal blocks in a norm adapted to the hierarchical structure. Our analysis shows that the new preconditioner effectively maps both small and large eigenvalues of the system approximately to 1. Finally through numerical experiments, we illustrate the effectiveness of the new designed scheme which outperforms more classical techniques based on regular SVD to approximate the off-diagonal blocks and SVD with filtering.

This work is a joint effort between Professor Darve’s group at Stanford and the Inria HiePACS team within FastLA . More details on this work can be found in [41].

#### Robust coarse spaces for abstract Schwarz preconditioners via generalized eigenproblems

The solution of large sparse linear systems is one of the most important kernels in many numerical simulations. The domain decomposition methods (DDM) community has de- veloped many efficient and robust solvers in the last decades. While many of these solvers fall in Abstract Schwarz (AS) framework, their robustness has often been demonstrated on a case-by-case basis. In this paper, we propose a bound for the condition number of all deflated AS methods pro- vided that the coarse grid consists of the assembly of local components that contain the kernel of some local operators. We show that classical results from the literature on particular instances of AS methods can be retrieved from this bound. We then show that such a coarse grid correction can be explicitly obtained algebraically via generalized eigenproblems, leading to a condition number independent of the number of domains. This result can be readily applied to retrieve the bounds previously obtained via generalized eigenproblems in the particular cases of Neumann-Neumann (NN), additive Schwarz (aS) and optimized Robin but also generalizes them when applied with approximate local solvers. Interestingly, the proposed methodology turns out to be a comparison of the considered particular AS method with generalized versions of both NN and aS for tackling the lower and upper part of the spectrum, respectively. We furthermore show that the application of the considered grid corrections in an additive fashion is robust in the aS case although it is not robust for AS methods in general. In particular, the proposed framework allows for ensuring the robustness of the aS method applied on the Schur complement (aS/S), either with deflation or additively, and with the freedom of relying on an approximate local Schur complement, leading to a new powerful and versatile substructuring method. Numerical experiments illustrate these statements.

More details on this work can be found in [45]