Treffer: PyExaFMM: an exercise in designing high-performance software with Python and Numba

Title:
PyExaFMM: an exercise in designing high-performance software with Python and Numba
Source:
Computing in Science & Engineering, vol. 24, no. 05, pp. 77-84, 2022
Publication Year:
2023
Collection:
Computer Science
Document Type:
Report Working Paper
DOI:
10.1109/MCSE.2023.3258288
Accession Number:
edsarx.2303.08394
Database:
arXiv

Weitere Informationen

Numba is a game-changing compiler for high-performance computing with Python. It produces machine code that runs outside of the single-threaded Python interpreter and that fully utilizes the resources of modern CPUs. This means support for parallel multithreading and auto vectorization if available, as with compiled languages such as C++ or Fortran. In this article we document our experience developing PyExaFMM, a multithreaded Numba implementation of the Fast Multipole Method, an algorithm with a non-linear data structure and a large amount of data organization. We find that designing performant Numba code for complex algorithms can be as challenging as writing in a compiled language.
Comment: 10 pages, 3 figures