University of Illinois at Urbana-Champaign
Distributed dense linear algebra operations with Charm++
Abstract
dc:descriptionArray abstractions to represent linear algebra kernels and the growing popularity of Python for Data Science have increased interest in providing support for array types as first-class citizens. Similarly, scientific codes heavily rely on linear algebra kernels which are written primarily in C/C++ and Fortran with frameworks like Message Passing Interface (MPI) and OpenMP. These presents two extremes of the modern day linear algebra kernel implementations. Array abstractions while providing readability, fails to provide distributed scalability; and scientific codes implementing linear algebra while being performant, fails to be flexible and interoperable. This thesis introduces LibCharmTyles, a C++ library on top of Charm++ that supports array types as first-class citizens. Furthermore, LibCharmTyles supports both shared and distributed memory parallelism and provides linear scaling through over-decomposition, a key asset of Charm++. LibCharmTyles is conformant to Basic Linear Algebra Subprograms (BLAS) operations and supports scalar, vector, and matrix types. The thesis goes over the design of LibCharmTyles, and then explores its performance relative to single-node NumPy and cuNumeric, a drop-in replacement for NumPy supporting distributed memory.
Degree
thesis:*- Name thesis:degree_name
- M.S.
- Level thesis:degree_level
- Thesis
- Discipline thesis:degree_discipline
- Computer Science
- Grantor
- University of Illinois at Urbana-Champaign
- Year dc:date
- 2022
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Gupta, Nikunj
- Contributors dc:contributor
-
- Kale, Laxmikant V.
Subjects
dc:subject × 3Rights
dc:rights- Statement dc:rights
-
- Copyright 2022 Nikunj Gupta
- Language dc:language
- en, eng
Identifiers
dc:identifier.*- Handle dc:identifier
- https://hdl.handle.net/2142/117684