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.
Author
Mr
Simon Burton
(National ICT Australia)