Performance of Modern Programming Languages

Begin Anytime
Supervisor Dr. Julian Kunkel
Collaboration ECMWF

This work will be embedded in the ACES research group and conducted in tight collaboration with ECMWF.

If you are interested in this topic or similar topics, contact Dr. Julian Kunkel.

In computational science, many applications are still written in Fortran and C(++). While this typically results in performant code, the productivity of scientists dealing with such low-level programming languages is low. In this work, we will explore the usage of various recent languages like Scala or Go in regards to efficiency and single node performance. We have a short prototype code in C that can be rewritten in these languages.

Firstly, a measurement protocol and metrics are designed to quantify the impact of a programming language. Then, the test application (a 2D shallow water model) is implemented in several programming languages and the performance is analyzed. Finally, the outcome is discussed with scientists from the field of climate/weather.

While all skills needed to complete this project can be obtained during the time of the project, some skills are beneficial:

  • Programming languages: knowledge in a rich variety of languages
  • Knowledge about Parallel computing

An MSc candidate is expected to bring soft skills (in decreasing order of importance):

  • Communication
  • Problem-Solving
  • Time management
  • research/open-theses/msc/performance-languages-environmental-science.txt
  • Last modified: 2019-02-24 12:20
  • (external edit)