UCL Discovery
UCL home » Library Services » Electronic resources » UCL Discovery

PyExaFMM: An Exercise in Designing High-Performance Software With Python and Numba

Kailasa, Srinath; Wang, Tingyu; Barba, Lorena A; Betcke, Timo; (2022) PyExaFMM: An Exercise in Designing High-Performance Software With Python and Numba. Computing in Science and Engineering , 24 (5) pp. 77-84. 10.1109/mcse.2023.3258288. Green open access

[thumbnail of 2303.08394.pdf]
Preview
Text
2303.08394.pdf - Accepted Version

Download (504kB) | Preview

Abstract

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 nonlinear 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.

Type: Article
Title: PyExaFMM: An Exercise in Designing High-Performance Software With Python and Numba
Open access status: An open access version is available from UCL Discovery
DOI: 10.1109/mcse.2023.3258288
Publisher version: https://doi.org/10.1109/MCSE.2023.3258288
Language: English
Additional information: This version is the author accepted manuscript. For information on re-use, please refer to the publisher’s terms and conditions.
Keywords: Codes, Scientific computing, High performance computing, Software algorithms, Ecosystems, High performance computing, Python
UCL classification: UCL
UCL > Provost and Vice Provost Offices > UCL BEAMS
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Maths and Physical Sciences
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Maths and Physical Sciences > Dept of Mathematics
URI: https://discovery.ucl.ac.uk/id/eprint/10171206
Downloads since deposit
166Downloads
Download activity - last month
Download activity - last 12 months
Downloads by country - last 12 months

Archive Staff Only

View Item View Item