14-18 October 2013
Amsterdam, Beurs van Berlage
Europe/Amsterdam timezone

Parallelization of Common HEP patterns with PyPy (cancelled)

14 Oct 2013, 16:50
Effectenbeurszaal (Amsterdam, Beurs van Berlage)


Amsterdam, Beurs van Berlage

Oral presentation to parallel session Software Engineering, Parallelism & Multi-Core Software Engineering, Parallelism & Multi-Core


Wim Lavrijsen (Lawrence Berkeley National Lab. (US))


The Python programming language brings a dynamic, interactive environment to physics analysis. With PyPy high performance can be delivered as well, when making use of its tracing just in time compiler (JIT) and cppyy for C++ bindings, as cppyy is able to exploit common HEP coding patterns. For example, ROOT I/O with cppyy runs at speeds equal to that of optimized, hand-tuned C++. Python does not, however, offer an easy way to exploit computational parallelization, because of the global interpreter lock (GIL). In PyPy this could be solved using software transactional memory (STM). With STM in place, the patterns in cppyy can be employed to automatically parallelize user code when the interpreter deems them, and the underlying libraries, safe. The work described in this paper takes the existing ROOT I/O patterns in cppyy and shows how they can be parallelized using STM.

Primary author

Wim Lavrijsen (Lawrence Berkeley National Lab. (US))

Presentation Materials

There are no materials yet.