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 条
  • [41] SeisAug: A data augmentation python']python toolkit
    Pragnath, D.
    Srijayanthi, G.
    Kumar, Santosh
    Chopra, Sumer
    APPLIED COMPUTING AND GEOSCIENCES, 2025, 25
  • [42] Making Python']Python Code Idiomatic by Automatic Refactoring Non-idiomatic Python']Python Code with Python']Pythonic Idioms
    Zhang, Zejun
    Xing, Zhenchang
    Xia, Xin
    Xu, Xiwei
    Zhu, Liming
    PROCEEDINGS OF THE 30TH ACM JOINT MEETING EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, ESEC/FSE 2022, 2022, : 696 - 708
  • [43] Python']Python and pipelines: Python']Python interfaces for ESO's CPL & HDRL data reduction libraries
    Horton, Anthony
    Heng, Anthony
    Farrell, Aidan
    Deshpande, Mrunmayi
    Miszalski, Brent
    Fernando, Nuwanthika
    Lorente, Nuria
    Palsa, Ralf
    Lundin, Lars
    Gabasch, Armin
    SOFTWARE AND CYBERINFRASTRUCTURE FOR ASTRONOMY VIII, 2024, 13101
  • [44] COFFEE-An MPI-parallelized Python']Python package for the numerical evolution of differential equations
    Doulis, Georgios
    Frauendiener, Jorg
    Stevens, Chris
    Whale, Ben
    SOFTWAREX, 2019, 10
  • [45] PRMS-Python']Python: A Python']Python framework for programmatic PRMS modeling and access to its data structures
    Volk, John M.
    Turner, Matthew A.
    ENVIRONMENTAL MODELLING & SOFTWARE, 2019, 114 : 152 - 165
  • [46] Productivity, Portability, Performance: Data -Centric Python']Python
    Ziogas, Alexandros Nikolaos
    Schneider, Timo
    Ben-Nun, Tal
    Calotoiu, Alexandru
    De Matteis, Tiziano
    Licht, Johannes de Fine
    Lavarini, Luca
    Hoefler, Torsten
    SC21: INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS, 2021,
  • [48] pyjeo: A Python']Python Package for the Analysis of Geospatial Data
    Kempeneers, Pieter
    Pesek, Ondrej
    De Marchi, Davide
    Soille, Pierre
    ISPRS INTERNATIONAL JOURNAL OF GEO-INFORMATION, 2019, 8 (10)
  • [49] A Python']Python framework for microphone array data processing
    Sarradj, Ennes
    Herold, Gert
    APPLIED ACOUSTICS, 2017, 116 : 50 - 58
  • [50] Towards Scalable Data Processing in Python']Python with CLIPPy
    Pirkelbauer, Peter
    Bromberger, Seth
    Iwabuchi, Keita
    Pearce, Roger
    PROCEEDINGS OF IA3 2021: 2021 IEEE/ACM 11TH WORKSHOP ON IRREGULAR APPLICATIONS: ARCHITECTURES AND ALGORITHMS, 2021, : 43 - 52