Note: The official CorePy website is now online. This page is the original synthetic programming site.
Synthetic Programming is a new approach to generating high-performance computational kernels directly from scripting languages. Bypassing the traditional compiler tool-chain, synthetic programming provides low level access to the processor instruction sets and the basic tools required to build and execute highly specialized instruction sequences on data managed by scripting languages.
CorePy is a synthetic programming environment for Python running on PowerPC and Cell processors with Linux or OS X. Using CorePy, developers can create kernels using the complete PowerPC, AltiVec/VMX, and Cell SPU instruction sets and execute them serially or in parallel on all available processing cores.
CorePy is under active development and we are seeking input from potential users to help guide future development efforts. If you are interested in using CorePy, or have suggestions that would make CorePy an attractive solution for your applications, do not hesitate to contact Chris with your feedback!
While much more than a replacement for assembly programming, one user's comment sums up most people's reaction to a few hours with CorePy:
"CorePy makes assembly fun again!" (Alex Breuer)
CorePy 1.0 - Alpha Release
CorePy is now available via anonymous subversion access. It is currently available for evaluation purposes only.
The alpha release contains full support for programming PowerPC and Cell processors directly from Python on Linux and OS X.
Download/installation instructions and user's guide
BLAST on IBM's Cell BE with Synthetic Programming at SuperComputing 2006
(formatted for 16x9 displays)
Slides/Poster: BLAST on the Cell
Poster: Synthetic Programming Overview
(good intro to SP)
Synthetic Programming at SciPy
Talk Abstract: Synthetic Programming with Python
Talk Slides: Synthetic Programming with Python
Synthetic Programming Environment Research Papers
Paper Preprints:
Runtime Synthesis of High-Performance Code from Scripting Languages
Christopher Mueller and Andrew Lumsdaine. Dynamic Language Symposium 2006
Expression and Loop Libraries for High-Performance Code Synthesis
Christopher Mueller and Andrew Lumsdaine. LCPC2006
CorePy: Synthetic Programming in Python
Synthetic Programming is a new approach to generating high-performance computational kernels directly from scripting languages. Bypassing the traditional compiler tool-chain, synthetic programming provides low level access to the processor instruction sets and the basic tools required to build and execute highly specialized instruction sequences on data managed by scripting languages.
CorePy is a synthetic programming environment for Python running on PowerPC and Cell processors with Linux or OS X. Using CorePy, developers can create kernels using the complete PowerPC, AltiVec/VMX, and Cell SPU instruction sets and execute them serially or in parallel on all available processing cores.
CorePy is under active development and we are seeking input from potential users to help guide future development efforts. If you are interested in using CorePy, or have suggestions that would make CorePy an attractive solution for your applications, do not hesitate to contact Chris with your feedback!
While much more than a replacement for assembly programming, one user's comment sums up most people's reaction to a few hours with CorePy:
"CorePy makes assembly fun again!" (Alex Breuer)
CorePy 1.0 - Alpha Release
CorePy is now available via anonymous subversion access. It is currently available for evaluation purposes only.
The alpha release contains full support for programming PowerPC and Cell processors directly from Python on Linux and OS X.
Download/installation instructions and user's guide
BLAST on IBM's Cell BE with Synthetic Programming at SuperComputing 2006
(formatted for 16x9 displays)
Slides/Poster: BLAST on the Cell
Poster: Synthetic Programming Overview
Synthetic Programming at SciPy
Talk Abstract: Synthetic Programming with Python
Talk Slides: Synthetic Programming with Python
Synthetic Programming Environment Research Papers
Paper Preprints:
Runtime Synthesis of High-Performance Code from Scripting Languages
Christopher Mueller and Andrew Lumsdaine. Dynamic Language Symposium 2006
Expression and Loop Libraries for High-Performance Code Synthesis
Christopher Mueller and Andrew Lumsdaine. LCPC2006

