Statistically significant comparative performance testing of julia and fortran languages in case of runge–kutta methods

In this paper we compare the performance of classical Runge–Kutta methods implemented in Fortran and Julia languages. We use the technique described in technical report by Tomas Kalibera and Richard E. Jones from University of Kent. This technique allows to solve the following problems. 1. The determination of the number of runs required by the program to pass the warm-up stage (e.g. JIT-compilation, memory buffers filling). 2. The determination of the optimal number of levels of the experiment and the number of repetitions at each level for robust testing. 3. The construction of the confidence interval for the resulting average run time. For the numerical experiment we implement 6-th order classical Runge–Kutta methods in both languages in the most similar way. We also study unvectorized versions of our functions. For Julia we tested not only built-in vectorization capabilities, but also external library. For processing the results of measurements Python 3 with Matplotlib, NumPy and SciPy (stats module) were used. We carried out experiments for variety of ODE dimensions (from 2 to 64) and different types of processors. Our work may be interesting not only for the results of comparison of the new Julia language with Fortran, but also for the robust testing method demonstration. © Springer Nature Switzerland AG 2019.

Язык
Английский
Страницы
400-407
Статус
Опубликовано
Том
11189 LNCS
Год
2019
Организации
  • 1 Department of Applied Probability and Informatics, Peoples’ Friendship University of Russia (RUDN University), 6 Miklukho-Maklaya St, Moscow, 117198, Russian Federation
  • 2 Laboratory of Information Technologies, Joint Institute for Nuclear Research, 6 Joliot-Curie St., Moscow region, Dubna, 141980, Russian Federation
Ключевые слова
Fortran language; Julia language; Performance; Runge–Kutta scheme
Дата создания
19.07.2019
Дата изменения
01.03.2021
Постоянная ссылка
https://repository.rudn.ru/ru/records/article/record/39028/
Поделиться

Другие записи