Simplifying non-contiguous data transfer with MPI for Python']Python

被引:1
|
作者
Noelp, Klaus [1 ]
Oden, Lena [1 ]
机构
[1] Fernuniv, Tech Comp Sci, Hagen, Germany
来源
JOURNAL OF SUPERCOMPUTING | 2023年 / 79卷 / 17期
关键词
mpi4py; Strided memory; Derived datatypes; High-performance computing; Parallel programming;
D O I
10.1007/s11227-023-05398-7
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Python is becoming increasingly popular in scientific computing. The package MPI for Python (mpi4py) allows writing efficient parallel programs that scale across multiple nodes. However, it does not support non-contiguous data via slices, which is a well-known feature of NumPy. In this work, we therefore evaluate several methods to support the direct transfer of non-contiguous arrays in mpi4py. This significantly simplifies the code, while the performance basically stays the same. In a PingPong-, Stencil- and Lattice-Boltzmann-Benchmark, we compare the common manual copying, a NumPy-Copy design and a design that is based on MPI derived datatypes. In one case, the MPI derived datatype design could achieve a speedup of 15% in a Stencil-Benchmark on four compute nodes. Our designs are superior to naive manual copies, but for maximum performance manual copies with pre-allocated buffers or MPI persistent communication will be a better choice.
引用
收藏
页码:20019 / 20040
页数:22
相关论文
共 50 条
  • [1] Simplifying non-contiguous data transfer with MPI for Python
    Klaus Nölp
    Lena Oden
    The Journal of Supercomputing, 2023, 79 : 20019 - 20040
  • [2] Performance of MPI Sends of Non-Contiguous Data
    Eijkhout, Victor
    2020 IEEE 34TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW 2020), 2020, : 889 - 895
  • [3] MPI for Python']Python
    Dalcín, L
    Paz, R
    Storti, M
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2005, 65 (09) : 1108 - 1115
  • [4] Performance Characterization of Network Mechanisms for Non-Contiguous Data Transfers in MPI
    Suresh, Kaushik Kandadi
    Ramesh, Bharath
    Ghazimirsaeed, Seyedeh Mahdieh
    Bayatpour, Mohammadreza
    Hashmi, Jahanzeb
    Subramoni, Hari
    Panda, Dhabaleswar K.
    2020 IEEE 34TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW 2020), 2020, : 896 - 905
  • [5] mpiPython']Python: A Robust Python']Python MPI Binding
    Park, Heecheon
    DeNio, Joshus
    Choi, Jeongyun
    Lee, Hanku
    2020 3RD INTERNATIONAL CONFERENCE ON INFORMATION AND COMPUTER TECHNOLOGIES (ICICT 2020), 2020, : 96 - 101
  • [6] pyBioPortal: a Python']Python package for simplifying cBioPortal data access in cancer research
    Valerio, Matteo
    Inno, Alessandro
    Gori, Stefania
    JAMIA OPEN, 2024, 8 (01)
  • [7] pupyMPI - MPI Implemented in Pure Python']Python
    Bromer, Rune
    Hantho, Frederik
    Vinter, Brian
    RECENT ADVANCES IN THE MESSAGE PASSING INTERFACE, 2011, 6960 : 130 - +
  • [8] MPI for Python']Python:: Performance improvements and MPI-2 extensions
    Dalcin, Lisandro
    Paz, Rodrigo
    Storti, Mario
    D'Elia, Jorge
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2008, 68 (05) : 655 - 662
  • [9] SPAM: Simplifying Python']Python for Approaching Machine Learning
    Rosiene, Joel A.
    Rosiene, Carolyn Pe
    2020 IEEE FRONTIERS IN EDUCATION CONFERENCE (FIE 2020), 2020,
  • [10] Leveraging STARE for Co-aligned Data Locality with netCDF and Python']Python MPI
    Kuo, Kwo-Sen
    Yu, Hongfeng
    Pan, Yu
    Rilee, Michael L.
    2019 IEEE INTERNATIONAL GEOSCIENCE AND REMOTE SENSING SYMPOSIUM (IGARSS 2019), 2019, : 10059 - 10062