3–5 Jul 2006
CERN, Geneva
Europe/Zurich timezone

PyJIT: dynamic code generation from runtime data

4 Jul 2006, 10:10
30m
40-SS-D01 (CERN, Geneva)

40-SS-D01

CERN, Geneva

Refereed Papers Refereed Papers

Speaker

Mr Simon Burton (National ICT Australia)

Description

PyJIT is a framework for providing just-in-time compilation from within Python programs. The idea is to generate machine code at runtime, and inline our data as we go. This can provide significant speed-ups versus compiled code, by reducing memory bandwidth use and simplifying the executable code. At the core we use the Low Level Virtual Machine (LLVM) which has facilities for creating machine dependant code on the fly. PyJIT handles conversion to LLVM Static Single Assignment form, and has a compiler that accepts a subset of the Python syntax, including basic control flow. We demonstrate applications in: vectorized operations and numerical linear algebra, tree structures for machine learning, and optimization techniques using interval arithmetic.

Primary author

Mr Simon Burton (National ICT Australia)

Presentation materials