Document Type

Article

Publication Date

7-2024

DOI

https://doi.org/10.1145/3626203.3670607

Abstract

The Matrix Algebra for GPU and Multicore Architectures (MAGMA) library is used for dense linear algebra computations on both CPUs and GPUs. MAGMA offers an extensive selection of linear algebra routines similar to those found in BLAS and LAPACK, but optimized and specifically designed for GPU acceleration. However, as MAGMA is a C library, C/C++ and MAGMA’s C function interfaces can be challenging for non-computer scientists to learn and use. To address this problem, PyMAGMA provides a user-friendly Python interface. PyMAGMA employs C++ object-oriented programming methodologies to simplify the interfaces, particularly by reducing the number of arguments required for routines and eliminating the need for specifying the floating-point data format and arithmetic precision used. In particular, function overloading is employed to abstract routines and avoid precision specification. We show that the PyMAGMA library provides access to high-performance linear algebra using GPUs, while offering the typical benefits of Python, including ease of learning, versatility of use, extensive access to external libraries, large community and support, cross-platform compatibility, and capability for interactive work.

Files over 3MB may be slow to open. For best results, right-click and select "save as..."

Share

COinS