Conference site » Proceedings

High-Performance Code Generation Using CorePy

Andrew Friedley
afriedle@indiana.edu - Indiana University, USA
Christopher Mueller
chemuell@indiana.edu - Indiana University, USA
Andrew Lumsdaine
lums@indiana.edu - Indiana University, USA

Abstract
Although Python is well-known for its ease of use, it lacks the performance that is often necessary for numerical applications. As a result, libraries like NumPy and SciPy implement their core operations in C for better performance. CorePy represents an alternative approach in which an assembly language is embedded in Python, allowing direct access to the low-level processor architecture. We present the CoreFunc framework, which utilizes CorePy to provide an environment for applying element-wise arithmetic operations (such as addition) to arrays and achieving high performance while doing so. To evaluate the framework, we develop and experiment with several ufunc operations of varying complexity. Our results show that CoreFunc is an excellent tool for accelerating NumPy-based applications.

Citation

A Friedley, C Mueller, A Lumsdaine, High-Performance Code Generation Using CorePy in Proceedings of the 8th Python in Science conference (SciPy 2009), G Varoquaux, S van der Walt, J Millman (Eds.), pp. 23-28

BibTeX entry

Full text PDF

Copyright The content of the articles of the Proceedings of the Python in Science Conference is copyrighted and owned by their original authors.
Terms of use For republication or other use of the material published, please contact the copyright owners to obtain permission.