Show simple item record

dc.contributor.author
Akeret, Joël
dc.contributor.author
Gamper, Laurenz
dc.contributor.author
Amara, Adam
dc.contributor.author
Refregier, Alexandre
dc.date.accessioned
2019-12-02T15:46:29Z
dc.date.available
2017-06-11T16:02:07Z
dc.date.available
2019-12-02T15:46:29Z
dc.date.issued
2015-04
dc.identifier.issn
2213-1337
dc.identifier.other
10.1016/j.ascom.2014.12.001
en_US
dc.identifier.uri
http://hdl.handle.net/20.500.11850/97858
dc.identifier.doi
10.3929/ethz-b-000097858
dc.description.abstract
The Python programming language is becoming increasingly popular for scientific applications due to its simplicity, versatility, and the broad range of its libraries. A drawback of this dynamic language, however, is its low runtime performance which limits its applicability for large simulations and for the analysis of large data sets, as is common in astrophysics and cosmology. While various frameworks have been developed to address this limitation, most focus on covering the complete language set, and either force the user to alter the code or are not able to reach the full speed of an optimised native compiled language. In order to combine the ease of Python and the speed of C++, we developed HOPE, a specialised Python just-in-time (JIT) compiler designed for numerical astrophysical applications. HOPE focuses on a subset of the language and is able to translate Python code into C++ while performing numerical optimisation on mathematical expressions at runtime. To enable the JIT compilation, the user only needs to add a decorator to the function definition. We assess the performance of HOPE by performing a series of benchmarks and compare its execution speed with that of plain Python, C++ and the other existing frameworks. We find that HOPE improves the performance compared to plain Python by a factor of 2 to 120, achieves speeds comparable to that of C++, and often exceeds the speed of the existing solutions. We discuss the differences between HOPE and the other frameworks, as well as future extensions of its capabilities. The fully documented HOPE package is available at http://hope.phys.ethz.ch and is published under the GPLv3 license on PyPI and GitHub.
en_US
dc.format
application/pdf
en_US
dc.language.iso
en
en_US
dc.publisher
Elsevier
en_US
dc.rights.uri
http://creativecommons.org/licenses/by-nc-nd/3.0/
dc.subject
Python
en_US
dc.subject
Just-in-time compiler
en_US
dc.subject
Benchmark
en_US
dc.title
HOPE: A Python just-in-time compiler for astrophysical computations
en_US
dc.type
Journal Article
dc.rights.license
Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported
dc.date.published
2014-12-10
ethz.journal.title
Astronomy and Computing
ethz.journal.volume
10
en_US
ethz.pages.start
1
en_US
ethz.pages.end
8
en_US
ethz.version.deposit
publishedVersion
en_US
ethz.identifier.wos
ethz.identifier.scopus
ethz.identifier.nebis
007593519
ethz.publication.place
Amsterdam
en_US
ethz.publication.status
published
en_US
ethz.leitzahl
ETH Zürich::00002 - ETH Zürich::00012 - Lehre und Forschung::00007 - Departemente::02010 - Dep. Physik / Dep. of Physics::02532 - Institut für Teilchen- und Astrophysik / Inst. Particle Physics and Astrophysics::03928 - Refregier, Alexandre / Refregier, Alexandre
en_US
ethz.leitzahl.certified
ETH Zürich::00002 - ETH Zürich::00012 - Lehre und Forschung::00007 - Departemente::02010 - Dep. Physik / Dep. of Physics::02532 - Institut für Teilchen- und Astrophysik / Inst. Particle Physics and Astrophysics::03928 - Refregier, Alexandre / Refregier, Alexandre
ethz.date.deposited
2017-06-11T16:02:11Z
ethz.source
ECIT
ethz.identifier.importid
imp593652e8af5e854876
ethz.ecitpid
pub:153010
ethz.eth
yes
en_US
ethz.availability
Open access
en_US
ethz.rosetta.installDate
2017-07-12T14:06:22Z
ethz.rosetta.lastUpdated
2024-02-02T09:56:18Z
ethz.rosetta.versionExported
true
ethz.COinS
ctx_ver=Z39.88-2004&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.atitle=HOPE:%20A%20Python%20just-in-time%20compiler%20for%20astrophysical%20computations&rft.jtitle=Astronomy%20and%20Computing&rft.date=2015-04&rft.volume=10&rft.spage=1&rft.epage=8&rft.issn=2213-1337&rft.au=Akeret,%20Jo%C3%ABl&Gamper,%20Laurenz&Amara,%20Adam&Refregier,%20Alexandre&rft.genre=article&rft_id=info:doi/10.1016/j.ascom.2014.12.001&
 Search print copy at ETH Library

Files in this item

Thumbnail

Publication type

Show simple item record