학술논문

Legate Sparse: Distributed Sparse Computing in Python
Document Type
Conference
Source
SC23: International Conference for High Performance Computing, Networking, Storage and Analysis High Performance Computing, Networking, Storage and Analysis, SC23: International Conference for. :1-14 Nov, 2023
Subject
Communication, Networking and Broadcast Technologies
Computing and Processing
Runtime
Scientific computing
Ecosystems
Programming
Libraries
Supercomputers
Arrays
Language
ISSN
2167-4337
Abstract
The sparse module of the popular SciPy Python library is widely used across applications in scientific computing, data analysis and machine learning. The standard implementation of SciPy is restricted to a single CPU and cannot take advantage of modern distributed and accelerated computing resources. We introduce Legate Sparse, a system that transparently distributes and accelerates unmodified sparse matrix-based SciPy programs across clusters of CPUs and GPUs, and composes with cuNumeric, a distributed NumPy library. Legate Sparse uses a combination of static and dynamic techniques to efficiently compose independently written sparse and dense array programming libraries, providing a unified Python interface for distributed sparse and dense array computations. We show that Legate Sparse is competitive with single-GPU libraries like CuPy and achieves 65% of the performance of PETSc on up to 1280 CPU cores and 192 GPUs of the Summit supercomputer, while offering the productivity benefits of idiomatic SciPy and NumPy.