Legate NumPy: Accelerated and Distributed Array Computing

被引:27
作者
Bauer, Michael [1 ]
Garland, Michael [1 ]
机构
[1] NVIDIA, Santa Clara, CA 95051 USA
来源
PROCEEDINGS OF SC19: THE INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS | 2019年
关键词
Legate; NumPy; Legion; !text type='Python']Python[!/text; HPC; Distributed Execution; GPU; Control Replication; Logical Regions; Thsk-Based Runtimes;
D O I
10.1145/3295500.3356175
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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.
引用
收藏
页数:23
相关论文
共 28 条
  • [1] Agency, 2019, AG EX PRIM C
  • [2] Aiken A., 2014, PARALLEL ARCHITECTUR
  • [3] Bauer M., 2012, SUPERCOMPUTING SC
  • [4] Daily Jeff, 2010, P 9 PYTH SCI C
  • [5] Pulse Wave Velocity Measurement in Healthy and Diseased Carotid Arteries In Vivo
    Huang, Chengwu
    Su, Yuan
    Zhang, Hong
    Qian, Lin-Xue
    Luo, Jianwen
    [J]. 2015 IEEE INTERNATIONAL ULTRASONICS SYMPOSIUM (IUS), 2015,
  • [6] JAX, 2019, JAX AUTOGR XLA
  • [7] Integrating External Resources with a Task-Based Programming Model
    Jia, Zhihao
    Treichler, Sean
    Shipman, Galen
    Bauer, Michael
    Watkins, Noah
    Maltzahn, Carlos
    McCormick, Patrick
    Aiken, Alex
    [J]. 2017 IEEE 24TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING (HIPC), 2017, : 307 - 316
  • [8] Jones Eric, 2001, SciPy: Open source scientific tools for Python
  • [9] Kristensen Mads RB, 2013, BOHRIUM UNMODIFIED N
  • [10] Lam S.K., 2015, P 2 WORKSHOP LLVM CO, P1, DOI [10.1145/2833157.2833162, DOI 10.1145/2833157.2833162]