Efficiently Mapping Linear Algebra to High-Performance Code

dc.creatorPsarras, Christos
dc.creatorBarthels, Henrik
dc.creatorBientinesi, Paolo
dc.date.accessioned2020-01-15T21:46:34Z
dc.date.available2020-01-15T21:46:34Z
dc.date.issued2019
dc.description.abstractAware of the role that linear algebra plays in scientific applications, we investigate if/how matrix expressions can be efficiently evaluated with current high-level languages. On the one hand, the numerical linear algebra community has put a lot of effort in developing and optimizing a relatively small set of “universally” useful operations. These are packaged in libraries such as BLAS and LAPACK, and serve as building blocks for more complex computa- tions. On the other hand, the linear algebra expressions that arise in many domains are significantly more complex than those building blocks. We refer to the problem of expressing a linear algebra expression in terms of a set of available building blocks as the ”Linear Algebra Mapping Problem” (LAMP). In practice, users have two alternatives to solve a given LAMP: 1) either “manually”, by using C/C++ or FORTRAN in combination with explicit calls to BLAS & LAPACK 2) or “automatically” by using one of the high-level languages (or libraries) with an API that directly captures the expressions. In this presentation, we focus only on the latter. Specifically, we consider 6 languages (or libraries): Matlab, Julia, R, NumPy (Python), Eigen (C++), and Armadillo (C++), and carefully assess how effectively they translate linear algebra expressions to code, i.e., how well they solve LAMPs. We investigate a number of aspects that are critical for the efficient solution of a LAMP. These range from the most basic mapping problem “Given the expression A*B, does the language map it to a call to GEMM?”, to the optimal parenthesization, to the exploitation of properties, to the identification & elimination -if advantageous- of common sub-expressions, and more. Ultimately, the purpose of this study is to exhibit the core challenges related to the effective computation of linear algebra expressions, and to help the development of languages and libraries.
dc.description.departmentTexas Advanced Computing Center (TACC)
dc.identifier.urihttps://hdl.handle.net/2152/79815
dc.identifier.urihttp://dx.doi.org/10.26153/tsw/6841
dc.language.isoeng
dc.relation.ispartofTACCSTER 2019 Proceedings
dc.relation.ispartofseriesTACCSTER Proceedings 2019
dc.rights.restrictionOpen
dc.subjectlinear algebra expressions
dc.subjectcode
dc.subjectLinear Algebra Mapping Problem
dc.titleEfficiently Mapping Linear Algebra to High-Performance Code
dc.typePoster

Access full-text files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Psarras_Poster.pdf
Size:
133.07 KB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
Psarras_SLA.pdf
Size:
172.91 KB
Format:
Adobe Portable Document Format
Description:
TSW License Agreement