MPLAPACK version 2.0.1 user manual
Maho Nakata

TL;DR
MPLAPACK 2.0.1 is a comprehensive, multi-precision linear algebra library based on LAPACK, supporting various precisions, accelerations, and compatible with legacy C/C++ codes, enabling high-performance numerical computations.
Contribution
It introduces a C++ version of LAPACK with multi-precision support, GPU acceleration, and compatibility with legacy codes, based on a Fortran-to-C++ translation.
Findings
Supports multiple precisions including binary64, binary128, FP80, MPFR, GMP, QD.
Includes OpenMP and CUDA acceleration with high performance.
Provides a user-friendly API similar to LAPACK for easy porting.
Abstract
The MPLAPACK (formerly MPACK) is a multiple-precision version of LAPACK (https://www.netlib.org/lapack/). MPLAPACK version 2.0.1 is based on LAPACK version 3.9.1 and translated from Fortran 90 to C++ using FABLE, a Fortran to C++ source-to-source conversion tool (https://github.com/cctbx/cctbx_project/tree/master/fable/). MPLAPACK version 2.0.1 provides the real and complex version of MPBLAS, and the real and complex versions of MPLAPACK support all LAPACK features: solvers for systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems, and related matrix factorizations except for mixed-precision routines. The MPLAPACK defines an API for numerical linear algebra, similar to LAPACK. It is easy to port legacy C/C++ numerical codes using MPLAPACK. MPLAPACK supports binary64, binary128, FP80 (extended…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsNumerical Methods and Algorithms · Matrix Theory and Algorithms · Parallel Computing and Optimization Techniques
