PyMAGMA: A Python Interface for MAGMA
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.
3626203.3670607.pdf
536.71 KB
Adobe PDF
67208883d75b92fc22c60be01171e8c5