Hostname: page-component-8448b6f56d-xtgtn Total loading time: 0 Render date: 2024-04-18T10:16:24.918Z Has data issue: false hasContentIssue false

What can the programming language Rust do for astrophysics?

Published online by Cambridge University Press:  30 May 2017

Sergi Blanco-Cuaresma
Affiliation:
Observatoire de Genève, Université de Genève, CH-1290 Versoix, Switzerland. email: Sergi.Blanco@unige.ch
Emeline Bolmont
Affiliation:
NaXys, Department of Mathematics, University of Namur, 8 Rempart de la Vierge, 5000 Namur, Belgium. email: emeline.bolmont@unamur.be
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

The astrophysics community uses different tools for computational tasks such as complex systems simulations, radiative transfer calculations or big data. Programming languages like Fortran, C or C++ are commonly present in these tools and, generally, the language choice was made based on the need for performance. However, this comes at a cost: safety. For instance, a common source of error is the access to invalid memory regions, which produces random execution behaviors and affects the scientific interpretation of the results.

In 2015, Mozilla Research released the first stable version of a new programming language named Rust. Many features make this new language attractive for the scientific community, it is open source and it guarantees memory safety while offering zero-cost abstraction.

We explore the advantages and drawbacks of Rust for astrophysics by re-implementing the fundamental parts of Mercury-T, a Fortran code that simulates the dynamical and tidal evolution of multi-planet systems.

Type
Contributed Papers
Copyright
Copyright © International Astronomical Union 2017 

References

Anderson, B., Herman, D., Matthews, J., McAllister, K., Goregaokar, M., Moffitt, J., & Sapin, S. 2015, arXiv, 1505.07383Google Scholar
Bolmont, E., Raymond, S. N., Leconte, J., Hersant, F., & Correia, A. C. M. 2015, A&A, 583, A116 Google Scholar
Köster, J. 2015, Bioinformatics, 32, 444 Google Scholar
Poss, R. 2014, arXiv, 1407.5670Google Scholar
Rein, H. & Tamayo, D. 2015, MNRAS, 452, 376388 Google Scholar