Pith. sign in

REVIEW

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

Not yet reviewed by Pith; the record is open.

This paper has not been read by Pith yet. Machine review is queued; the pith claim, tier, and objections will appear here once it completes.

SPECIMEN: schema-true, not a live event

T0 review · schema-true

One-sentence machine reading of the paper's core claim.

pith:XXXXXXXX · record.json · timestamp

arxiv 2303.08394 v3 pith:LHUJN377 submitted 2023-03-15 cs.SE

classification cs.SE
keywords numbapythoncodecompileddatadesigninghigh-performancepyexafmm
verification ladder T0 review T1 audit T2 compute T3 formal
0 comments
read the original 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 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.

Discussion (0). Continue with ORCID to comment.

Pith tools