Paper
:
Legate NumPy: Accelerated and Distributed Array Computing
Event Type
Paper
Registration Categories
TP
Tags
Algorithms
Data Analytics
GPUs
Heterogeneous Systems
MPI
Parallel Application Frameworks
Parallel Programming Languages, Libraries, and Models
Performance
Productivity
Programming Systems
Runtime Systems
Scalable Computing
Task-based programming
Tools
TimeTuesday, 19 November 20194:30pm - 5pm
Location301-302-303
DescriptionNumPy is a popular Python library used for performing array-based numerical computations. The canonical implementation of NumPy used by most programmers runs on a single CPU core and is parallelized to use multiple cores for some operations. This restriction to a single-node CPU-only execution limits both the size of data that can be handled and the potential speed of NumPy code. In this work, we introduce Legate, a drop-in replacement for NumPy that requires only a single-line code change and can scale up to an arbitrary number of GPU accelerated nodes. Legate works by translating NumPy programs to the Legion programming model and then leverages the scalability of the Legion runtime system to distribute data and computations across an arbitrary sized machine. Compared to similar programs written in the distributed Dask array library in Python, Legate achieves speed-ups of up to 10x on 1280 CPUs and 100x on 256 GPUs.
Back To Top Button