Pythran: enabling static optimization of scientific Python programs. (16th March 2015)
- Record Type:
- Journal Article
- Title:
- Pythran: enabling static optimization of scientific Python programs. (16th March 2015)
- Main Title:
- Pythran: enabling static optimization of scientific Python programs
- Authors:
- Guelton, Serge
Brunet, Pierrick
Amini, Mehdi
Merlini, Adrien
Corbillon, Xavier
Raynaud, Alan - Abstract:
- Abstract: Pythran is an open source static compiler that turns modules written in a subset of Python language into native ones. Assuming that scientific modules do not rely much on the dynamic features of the language, it trades them for powerful, possibly inter-procedural, optimizations. These optimizations include detection of pure functions, temporary allocation removal, constant folding, Numpyufunc fusion and parallelization, explicit thread-level parallelism through OpenMP annotations, false variable polymorphism pruning, and automatic vector instruction generation such as AVX or SSE. In addition to these compilation steps, Pythran provides a C++ runtime library that leverages the C++ STL to provide generic containers, and the Numeric Template Toolbox for Numpy support. It takes advantage of modern C++11 features such as variadic templates, type inference, move semantics and perfect forwarding, as well as classical idioms such as expression templates. Unlike the Cython approach, Pythran input code remains compatible with the Python interpreter. Output code is generally as efficient as the annotated Cython equivalent, if not more, but without the backward compatibility loss.
- Is Part Of:
- Computational science & discovery. Volume 8:Number 1(2015)
- Journal:
- Computational science & discovery
- Issue:
- Volume 8:Number 1(2015)
- Issue Display:
- Volume 8, Issue 1 (2015)
- Year:
- 2015
- Volume:
- 8
- Issue:
- 1
- Issue Sort Value:
- 2015-0008-0001-0000
- Page Start:
- Page End:
- Publication Date:
- 2015-03-16
- Subjects:
- static compilation -- parallelisation -- Python -- C++
Science -- Computer simulation -- Periodicals
Technology -- Computer simulation -- Periodicals
Science -- Data processing -- Periodicals
Technology -- Data processing -- Periodicals
Research -- Methodology -- Periodicals
Research -- Periodicals
Periodicals
501.13 - Journal URLs:
- http://iopscience.iop.org/1749-4699 ↗
http://www.iop.org/EJ/journal/CSD ↗
http://ioppublishing.org/ ↗ - DOI:
- 10.1088/1749-4680/8/1/014001 ↗
- Languages:
- English
- ISSNs:
- 1749-4699
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - BLDSS-3PM
British Library HMNTS - ELD Digital store - Ingest File:
- 6905.xml