Legate NumPy: accelerated and distributed array computing
Legate NumPy: accelerated and distributed array computing
复制标题
DOI:
10.1145/3295500.3356175
复制
发表时间:
2019-11
期刊:
影响因子:
--
通讯作者:
Michael A. Bauer;M. Garland
中科院分区:
文献类型:
--
作者:
Michael A. Bauer;M. Garland
NumPy 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.