GSoC/GCI Archive
Google Summer of Code 2015 Python Software Foundation

PyPy: Exploit superword parallelism on Array and NumPy traces

by Richard Plangger for Python Software Foundation

The goal of this project is to enhance the trace optimizer of PyPy. By definition NumPy arrays are unboxed, homogeneously typed and continuous in memory (despite certain exceptions). The same is true for the array module in the standard library. The new optimizer will use this opportunity and exploit a SIMD instruction set (such as SSE,AVX) present on modern CISC processors (e.g. x86). This should lead to enhanced execution speed for arithmetic intensive applications that run on top of PyPy.