BLAS-based Block Memory Accessor with Applications to Mixed Precision Sparse Direct Solvers
Résumé
Mixed precision “memory accessor” approaches decouple storage and compute precisions (data is stored and accessed in low precision, but computations are kept in higher precision) to reduce data accesses, improve accuracy, and simplify programming. In this work, we develop such a memory accessor aimed at accelerating sparse direct solvers and propose several new improvements. In particular, we propose a BLAS-based, block approach that can directly rely on BLAS libraries for efficiency and portability. When considering BLAS-2 memory-bound operations like triangular solves, we observe that the performance adequately matches the storage cost, in multiple parallel settings, provided that the conversion from storage to compute precision is efficient, and that the block size is suitably chosen. For the storage precision, we leverage custom floating-point types unsupported by hardware, and we take advantage of the recent AVX512-VBMI instruction set to reach an improved efficiency. We also consider rank-structured matrix representations such as the block low-rank (BLR) format, and explain how to optimize the memory accessor for such matrices. We present preliminary performance experiments using the sparse direct solver MUMPS with adaptive precision BLR approximations. Our results confirm the potential of these memory accessor approaches to achieve efficiency while optimizing storage.
| Origine | Fichiers produits par l'(les) auteur(s) |
|---|---|
| Licence |