NAS Parallel Benchmarks with Python']Python: a performance and programming effort analysis focusing on GPUs

被引:1
|
作者
Di Domenico, Daniel [1 ]
Lima, Joao V. F. [2 ]
Cavalheiro, Gerson G. H. [1 ]
机构
[1] Univ Fed Pelotas, Pelotas, RS, Brazil
[2] Univ Fed Santa Maria, Santa Maria, RS, Brazil
来源
JOURNAL OF SUPERCOMPUTING | 2023年 / 79卷 / 08期
关键词
NPB; GPU; !text type='Python']Python[!/text; Numba; Programming effort;
D O I
10.1007/s11227-022-04932-3
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Compiled low-level languages, such as C/C++ and Fortran, have been employed as programming tools to implement applications to explore GPU devices. As a counterpoint to that trend, this paper presents a performance and programming effort analysis with Python, an interpreted and high-level language, which was applied to develop the kernels and applications of NAS Parallel Benchmarks targeting GPUs. We used Numba environment to enable CUDA support in Python, a tool that allows us to implement the GPU programs with pure Python code. Our experimental results showed that Python applications reached a performance similar to C++ programs employing CUDA and better than C++ using OpenACC for most NPB benchmarks. Furthermore, Python codes demanded less operations related to the GPU framework than CUDA, mainly because Python needs a lower number of statements to manage memory allocations and data transfers. Despite that, our Python implementations required more operations than OpenACC ones.
引用
下载
收藏
页码:8890 / 8911
页数:22
相关论文
共 50 条
  • [1] NAS Parallel Benchmarks with Python: a performance and programming effort analysis focusing on GPUs
    Daniel Di Domenico
    João V. F. Lima
    Gerson G. H. Cavalheiro
    The Journal of Supercomputing, 2023, 79 : 8890 - 8911
  • [2] NAS Parallel Benchmark Kernels with Python']Python: A performance and programming effort analysis focusing on GPUs
    Di Domenico, Daniel
    Cavalheiro, Gerson G. H.
    Lima, Joao V. F.
    30TH EUROMICRO INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED AND NETWORK-BASED PROCESSING (PDP 2022), 2022, : 26 - 33
  • [3] pPython']Python for Parallel Python']Python Programming
    Byun, Chansup
    Arcand, William
    Bestor, David
    Bergeron, Bill
    Gadepally, Vijay
    Houle, Michael
    Hubbell, Matthew
    Jananthan, Hayden
    Jones, Michael
    Keville, Kurt
    Klein, Anna
    Michaleas, Peter
    Milechin, Lauren
    Morales, Guillermo
    Mullen, Julie
    Prout, Andrew
    Reuther, Albert
    Rosa, Antonio
    Samsi, Siddharth
    Yee, Charles
    Kepner, Jeremy
    2022 IEEE HIGH PERFORMANCE EXTREME COMPUTING VIRTUAL CONFERENCE (HPEC), 2022,
  • [4] Performance Analysis of Parallel Python']Python Applications
    Wagner, Michael
    Llort, German
    Mercadal, Estanislao
    Gimenez, Judit
    Labarta, Jesus
    INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE (ICCS 2017), 2017, 108 : 2171 - 2179
  • [5] Parsl: Pervasive Parallel Programming in Python']Python
    Babuji, Yadu
    Woodard, Anna
    Li, Zhuozhao
    Katz, Daniel S.
    Clifford, Ben
    Kumar, Rohan
    Lacinski, Lukasz
    Chard, Ryan
    Wozniak, Justin M.
    Foster, Ian
    Wilde, Michael
    Chard, Kyle
    HPDC'19: PROCEEDINGS OF THE 28TH INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE PARALLEL AND DISTRIBUTED COMPUTING, 2019, : 25 - 36
  • [6] CharmPy: A Python']Python Parallel Programming Model
    Galvez, Juan J.
    Senthil, Karthik
    Kale, Laxmikant V.
    2018 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING (CLUSTER), 2018, : 423 - 433
  • [7] Scalable Parallel Programming in Python']Python with Parsl
    Babuji, Yadu
    Woodard, Anna
    Li, Zhuozhao
    Katz, Daniel S.
    Clifford, Ben
    Foster, Ian
    Wilde, Michael
    Chard, Kyle
    PEARC '19: PROCEEDINGS OF THE PRACTICE AND EXPERIENCE IN ADVANCED RESEARCH COMPUTING ON RISE OF THE MACHINES (LEARNING), 2019,
  • [8] PyOMP: Multithreaded Parallel Programming in Python']Python
    Mattson, Timothy G.
    Anderson, Todd A.
    Georgakoudis, Giorgis
    COMPUTING IN SCIENCE & ENGINEERING, 2021, 23 (06) : 77 - 80
  • [9] Using BSP and python']python to simplify parallel programming
    Hinsen, K
    Langtangen, HP
    Skavhaug, O
    Odegård, A
    FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF GRID COMPUTING THEORY METHODS AND APPLICATIONS, 2006, 22 (1-2): : 123 - 157
  • [10] A programming model performance study using the NAS parallel benchmarks
    Shan, Hongzhang
    Blagojevic, Filip
    Min, Seung-Jai
    Hargrove, Paul
    Jin, Haoqiang
    Fuerlinger, Karl
    Koniges, Alice
    Wright, Nicholas J.
    SCIENTIFIC PROGRAMMING, 2010, 18 (3-4) : 153 - 167