Transparent GPU Execution of NumPy Applications

被引:4
|
作者
Blum, Troels [1 ]
Kristensen, Mads R. B. [1 ]
Vinter, Brian [1 ]
机构
[1] Univ Copenhagen, Niels Bohr Inst, Copenhagen, Denmark
关键词
D O I
10.1109/IPDPSW.2014.114
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
In this work, we present a back-end for the Python library NumPy that utilizes the GPU seamlessly. We use dynamic code generation to generate kernels, and data is moved transparently to and from the GPU. For the integration into NumPy, we use the Bohrium runtime system. Bohrium hooks into NumPy through the implicit data parallelization of array operations, this approach requires no annotations or other code modifications. The key motivation for our GPU computation back-end is to transform high-level Python/NumPy applications to the low-level GPU executable kernels, with the goal of obtaining high-performance, high-productivity and high-portability, HP3. We provide a performance study of the GPU back-end that includes four well-known benchmark applications, Black-Scholes, Successive Over-relaxation, Shallow Water, and N-body, implemented in pure Python/NumPy. We demonstrate an impressive 834 times speed up for the Black-Scholes application, and an average speedup of 124 times across the four benchmarks.
引用
收藏
页码:1003 / 1011
页数:9
相关论文
共 50 条
  • [1] Transparent dataflow execution for embedded applications
    Rutzig, Mateus B.
    Beck, Antonio Carlos S.
    Carro, Luigi
    IEEE COMPUTER SOCIETY ANNUAL SYMPOSIUM ON VLSI, PROCEEDINGS: EMERGING VLSI TECHNOLOGIES AND ARCHITECTURES, 2007, : 47 - +
  • [2] Heterogeneous CPU-GPU Execution of Stencil Applications
    Siklosi, Balint
    Reguly, Istvan Z.
    Mudalige, Gihan R.
    PROCEEDINGS OF 2018 IEEE/ACM INTERNATIONAL WORKSHOP ON PERFORMANCE, PORTABILITY AND PRODUCTIVITY IN HPC (P3HPC 2018), 2018, : 71 - 80
  • [3] Transparent serverless execution of Python']Python multiprocessing applications
    Arjona, Aitor
    Finol, Gerard
    Lopez, Pedro Garcia
    FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2023, 140 : 436 - 449
  • [4] Supporting the transparent execution of high performance applications on grids
    de Mello, Rodrigo Fernandes
    Andrade Filho, Jose Augusto
    Dodonov, Evgueni
    Li, Kuan-Ching
    Yang, Laurence Tianruo
    TENCON 2007 - 2007 IEEE REGION 10 CONFERENCE, VOLS 1-3, 2007, : 543 - +
  • [5] Evaluating the Impact of Execution Parameters on Program Vulnerability in GPU Applications
    Previlon, Fritz G.
    Kalra, Charu
    Kaeli, David R.
    Rech, Paolo
    PROCEEDINGS OF THE 2018 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE), 2018, : 809 - 814
  • [6] BlockMaestro: Enabling Programmer-Transparent Task-based Execution in GPU Systems
    Abdolrashidi, AmirAli
    Esfeden, Hodjat Asghari
    Jahanshahi, Ali
    Singh, Kaustubh
    Abu-Ghazaleh, Nael
    Wong, Daniel
    2021 ACM/IEEE 48TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA 2021), 2021, : 333 - 346
  • [7] A mechanism to reduce energy waste in the post-execution of GPU applications
    Carreno, Emmanuel D.
    Sarates, Adiel S., Jr.
    Navaux, Philippe O. A.
    XV BRAZILIAN SYMPOSIUM ON HIGH PERFORMANCE COMPUTATIONAL SYSTEMS (WSCAD 2014), 2015, 649
  • [8] Two-phase execution of binary applications on CPU/GPU machines
    Zhu, Erzhou
    Ma, Ruhui
    Hou, Yang
    Yang, Yindong
    Liu, Feng
    Guan, Haibing
    COMPUTERS & ELECTRICAL ENGINEERING, 2014, 40 (05) : 1567 - 1579
  • [9] A Simple BSP-based Model to Predict Execution Time in GPU Applications
    Amaris, Marcos
    Cordeiro, Daniel
    Goldman, Alfredo
    de Camargo, Raphael Y.
    2015 IEEE 22ND INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING (HIPC), 2015, : 285 - 294
  • [10] Towards the Transparent Execution of Compound OpenCL Computations in Multi-CPU/Multi-GPU Environments
    Soldado, Fabio
    Alexandre, Fernando
    Paulino, Herve
    EURO-PAR 2014: PARALLEL PROCESSING WORKSHOPS, PT I, 2014, 8805 : 177 - 188