BLAS/LAPACK packaging
Briefly

BLAS/LAPACK packaging
"The original implementation, often called Netlib LAPACK, developed since the 1980s, nowadays serves primarily as the origin of the standard interface, the reference implementation and a conformance test suite. The end users usually use optimized implementations of the same interfaces. The choice ranges from generically tuned libraries such as OpenBLAS and BLIS, through libraries focused on specific hardware such as Intel® oneMKL, Arm Performance Libraries or the Accelerate framework on macOS, to ATLAS that aims to automatically optimize for a specific system."
"The diversity of available libraries, developed in parallel with the standard interfaces, along with vendor-specific extensions and further downstream changes, adds quite a bit of complexity around using these libraries in software, and distributing such software afterwards. This problem entangles implementation authors, consumer software authors, build system maintainers and distribution maintainers. Software authors generally wish to distribute their packages built against a generically optimized BLAS/LAPACK implementation."
BLAS and LAPACK are standard linear algebra libraries with an original Netlib LAPACK reference implementation that defines the standard interface and conformance tests. End users typically use optimized implementations such as OpenBLAS, BLIS, Intel oneMKL, Arm Performance Libraries, macOS Accelerate, or ATLAS. The variety of parallel implementations, vendor extensions, and downstream packaging introduces complexity for software usage and distribution. Software authors prefer distributing packages linked against generic optimized libraries while advanced users may require different implementations. Linux distributions aim for consistent system-library builds and user-switchable implementations. Build systems must provide dependency discovery and scaffolding to support these needs.
Read at Quansight
Unable to calculate read time
[
|
]