Свободная система математического моделирования SIMFOR на базе компилятора Gfortran

Аннотация

Данная статья посвящена разработанной авторами свободной системе математического моделирования. Обоснован выбор языка Фортран в качестве базового языка системы моделирования. Описаны особенности современных версий стандарта Фортрана: новые типы данных, современные массивы, возможности разработки конвейерных и параллельных программ. Представлены основные требования к системе моделирования. Обоснована разработка системы под свободной лицензией. Описана структура и основные модули системы: интегрированная среда разработки, основанная на текстовом редакторе Emacs; библиотека последовательных и параллельных алгоритмов численного анализа; библиотека графического вывода результатов; скрипт сборки библиотек и установки системы на локальный компьютер или вычислительный кластер. Приводятся ключевые особенности разработанной графической библиотеки: возможности вращения и перемещения построенных графических объектов. Представлены прототипы всех подпрограмм, входящих в библиотеку численного анализа. Подробно описаны принципы построения интегрированной среды на базе текстового редактора Emacs: приведён перечень внешних свободных модулей и модулей разработанных авторами. Представлена технология сборки системы. Приводится адрес программы, описания, исходных кодов в сети Интернет. Описаны возможные области применения системы. Обосновано использование системы при обучении студентов параллельному программированию и численным методам.

Сведения об авторах

Evgeniy Rostislavovich Alekseev, Кубанский государственный университет

кандидат технических наук, доцент, доцент кафедры информационных образовательных технологий

Denus Aleksandrovich Lutoshkin, Вятский государственный университет

магистрант

Vyacheslav Vladimirovich Starodumov, Вятский государственный университет

магистрант

Литература

[1] Alexeev E.R., Rychkov S.L., Shatrov A.V. High-performance calculations for modeling of processes of transfer of pollution in an atmospheric boundary layer from superficial sources. CEUR Workshop Proceedings. 2018; 2254:131-138. Available at: http://ceur-ws.org/Vol-2254/10000131.pdf (accessed 10.08.2019). (In Eng.)
[2] Zaytseva N.V. Mathematical modeling boundary-value problem for elliptic equation with bessel operator in the program Maple. Fundamental research. 2016; (4-1):41-46. Available at: https://elibrary.ru/item.asp?id=25953299 (accessed 10.08.2019). (In Russ. abstract in Eng.)
[3] Zaryankin A.E., Padashmoghanlo T. Development and research of vibration irregularity in piping systems and paths of turbomachines on the basis of mathematical modeling. Proceedings of the higer educational institutions. Energy Sector Problems. 2019; 21(1-2):93-110. (In Russ. abstract in Eng.) DOI: 10.30724/1998-9903-2019-21-1-2-93-110
[4] Kozinov E.A., Linev A.V., Volokitin V.D., Ivanchenko M.V., Meerov I.B., Denisov S.V. Parallel'nyj algoritm issledovaniya dinamiki otkrytyh kvantovyh sistem: reshenie osnovnogo kineticheskogo uravneniya v bazise obobshchennyh matric Gell-Manna [A parallel algorithm for studying the dynamics of open quantum systems: solving the basic kinetic equation in the basis of generalized Gell-Mann matrices]. In: Parallel computational technologies (PCT’2019). SUSU, Chelyabinsk, 2019, pp. 263-274. Available at: https://elibrary.ru/item.asp?id=37327272 (accessed 10.08.2019). (In Russ.)
[5] Panova E.A., Bastrakov S.I., Efimenko E.S., Volokitin V.D., Gonoskov A.A., Meerov I.B. Parallel'naya realizaciya psevdospektral'nogo reshatelya uravnenij Maksvella [Parallel implementation of the pseudo-spectral solver of Maxwell's equations]. In: Parallel computational technologies (PCT’2019). SUSU, Chelyabinsk, 2019, pp. 263-274. Available at: https://elibrary.ru/item.asp?id=37327283 (accessed 10.08.2019). (In Russ.)
[6] Pirova A.YU., Meerov I.B., Kozinov E.A. Programmnyj kompleks DMORSy dlya pereuporyadocheniya razrezhennyh matric na klasternyh sistemah [DMORSy software package for reordering sparse matrices on cluster systems]. In: Russian Supercomputing Days 2018. MSU, Moscow, 2018, pp. 749-757. Available at: https://elibrary.ru/item.asp?id=36548928 (accessed 10.08.2019). (In Russ.)
[7] Sohor Yu.N. Primenenie coarray Fortran dlya realizacii metodov tenzornogo analiza setej [Using coarray Fortran to implement tensor network analysis methods]. In: Parallel computational technologies (PCT’2011). SUSU, Chelyabinsk, 2011, p. 711. Available at: https://elibrary.ru/item.asp?id=22641278 (accessed 10.08.2019). (In Russ.)
[8] Stepanov M.F, Stepanov A.M., Mikhailova L.S., Jeronkina A.A. The automated system of mathematical modelling of control processes of non-stationary nonlinear plants by intellectual selforganized control systems. H&ES Research. 2015; 7(6):8-14. Available at: https://elibrary.ru/item.asp?id=25412239 (accessed 10.08.2019). (In Russ. abstract in Eng.)
[9] Suhinov A.I., Nikitina A.V., CHistyakov A.E., Semenov I.S., Semenyakina A.A., Hachunc D.S. Matematicheskoe modelirovanie processov evtrofikacii v melkovodnyh vodoemah na mnogoprocessornoj vychislitel'noj sisteme [Mathematical modeling of eutrophication processes in shallow water bodies on a multiprocessor computing system]. In: Parallel computational technologies (PCT’2016). SUSU, Chelyabinsk, 2016, pp. 320-333. Available at: https://elibrary.ru/item.asp?id=25804441 (accessed 10.08.2019). (In Russ.)
[10] Suhinov A.I., CHistyakov A.E., Savickij O.A., Nikitina A.V., Semenyakina A.A. Matematicheskoe modelirovanie izlucheniya akusticheskoj antennoj na mnogoprocessornoj sisteme [Mathematical modeling of acoustic antenna radiation on a multiprocessor system]. In: Parallel computational technologies (PCT’2016). SUSU, Chelyabinsk, 2016, pp. 699-709. Available at: https://elibrary.ru/item.asp?id=25804518 (accessed 10.08.2019). (In Russ.)
[11] Danilov A.A., Terekhov K.M. Konshin I.N., Vassilevski Yu.V. Parallel Software Platform INMOST: A Framework for Numerical Modeling. Supercomputing Frontiers and Innovations. 2015; 2(4):55-66. (In Eng.) DOI: 10.14529/jsfi150404
[12] Jalas S., Dornmair I., Lehe R., Vincenti H., Vay J.-L., Kirchen M., Maier A. R. Accurate modeling of plasma acceleration with arbitrary order pseudo-spectral particle-in-cell methods. Physics of Plasmas. 2017; 24(3):033115. (In Eng.) DOI: 10.1063/1.4978569
[13] Kouetcha D.N., Ramézani H., Cohaut N. Ultrafast scalable parallel algorithm for the radial distribution function histogramming using MPI maps. The Journal of Supercomputing. 2017; 73(4):1629-1653. (In Eng.) DOI: 10.1007/s11227-016-1854-0
[14] Laptyeva T.V., Kozinov E.A., Meyerov I.B., Ivanchenko M.V., Denisov S.V., Hänggi P. Calculating Floquet states of large quantum systems: A parallelization strategy and its cluster implementation. Computer Physics Communications. 2016; 201:85-94. (In Eng.) DOI: 10.1016/j.cpc.2015.12.024
[15] LaSalle D., Karypis G. Efficient Nested Dissection for Multicore Architectures. In: Träff J., Hunold S., Versaci F. (Eds.) Euro-Par 2015: Parallel Processing. Euro-Par 2015. Lecture Notes in Computer Science, vol. 9233. Springer, Berlin, Heidelberg, 2015, pp. 467-478. (In Eng.) DOI: 10.1007/978-3-662-48096-0_36
[16] Mirams G.R., Arthurs C.J., Bernabeu M.O., Bordas R., Cooper J., Corrias A. et al. Chaste: An Open Source C++ Library for Computational Physiology and Biology. PLOS Computational Biology. 2013; 9(3):e1002970. (In Eng.) DOI: 10.1371/journal.pcbi.1002970
[17] Pravdin S., Ushenin K., Sozykin A., Solovyova O. Human Heart Simulation Software for Parallel Computing Systems. Procedia Computer Science. 2015; 66:402-411. (In Eng.) DOI: 10.1016/j.procs.2015.11.046
[18] Anenkov A.D. Metody realizacii odnostoronnih obmenov standarta MPI [Methods for implementing unilateral MPI standard exchanges]. In: Information Processing and Mathematical Modeling. Proceedings. SIBSUTIS, Novosibirsk, 2017, pp. 277-287. Available at: https://elibrary.ru/item.asp?id=29796791 (accessed 10.08.2019). (In Russ.)
[19] Archimaev A.S. Analiz effektivnosti odnostoronnih i dvustoronnih MPI-obmenov na primere umnozheniya matric [Analysis of the efficiency of one-way and two-way MPI exchanges using the example of matrix multiplication]. In: Information Processing and Mathematical Modeling. Proceedings. SIBSUTIS, Novosibirsk, 2017, pp. 288-294. Available at: https://elibrary.ru/item.asp?id=29796795 (accessed 10.08.2019). (In Russ.)
[20] Kadyrov P.A. Comparison of acceleration the parallel version of the bitonic sort algorithm on the CUDA architecture and MPI standard. Mirovaya Nauka. 2017; (3):29-32. Available at: https://elibrary.ru/item.asp?id=29818718 (accessed 10.08.2019). (In Russ.)
[21] Pirova A., Meyerov I., Kozinov E., Lebedev S. PMORSy: parallel sparse matrix ordering software for fill-in minimization. Optimization Methods and Software. 2017; 32(2):274-289. (In Eng.) DOI: 10.1080/10556788.2016.1193177
[22] Pirova A., Meyerov I. MORSy – a new tool for sparse matrix reordering. In: Papadrakakis M., Karlaftis M.G., Lagaros N.D. (Eds.) An International Conference on Engineering and Applied Sciences Optimization, Kos Island, Greece, 4-6 June 2014. Kos Island, 2014, pp. 1952-1964. Available at: https://elibrary.ru/item.asp?id=24006757 (accessed 10.08.2019). (In Eng.)
[23] Alekseev E.R., Soboleva O.V. The Modern Language of Programming Fortran in Education and scientific Research. Sovremennye informacionnye tehnologii i IT-obrazovanie = Modern Information Technologies and IT-Education. 2016; 12(4):110-116. Available at: https://www.elibrary.ru/item.asp?id=28151067 (accessed 10.08.2019). (In Russ. abstract in Eng.)
[24] Gorelik A.M. Programmirovanie na sovremennom Fortrane [Programming in Modern Fortran]. Finansy i Statistika, Moscow, 2006. (In Russ.)
[25] Gorelik A.M. The Fortran Standards Comparison. Informacionnye tekhnologii I I vichslitel’nye sistemy = Journal of Information Technologies and Computing Systems. 2015; (3):45-64. Available at: https://www.elibrary.ru/item.asp?id=25032419 (accessed 10.08.2019). (In Eng.)
[26] Gorelik A.M. Evolution of the Fortran language. Decremental features of the language and means for their replacement. Keldysh Institute PREPRINTS. 2018; (130):1-13. (In Eng.) DOI: 10.20948/prepr-2018-130
[27] Markus A. Modern Fortran in Practice. Cambridge University Press, 2012. (In Eng.)
[28] Alekseev E., Demin P., Boltacheva N. New technologies for developing high-performance and parallel applications on modern Fortran. Journal of Applied Informatics. 2018; 13(1):103-120. Available at: https://www.elibrary.ru/item.asp?id=32601828 (accessed 10.08.2019). (In Russ. abstract in Eng.)
[29] Alekseev E.R., Demin P.A., Lutoshkin D.A., Starodumov V.V. The Free and Proprietary Compilers C(C++) and Fortran at Development of Effective Computing Applications. Sovremennye informacionnye tehnologii i IT-obrazovanie = Modern Information Technologies and IT-Education. 2017; 13(4):232-240. (In Russ. abstract in Eng.) DOI: 10.25559/SITITO.2017.4.446
[30] Alekseev E., Lutoshkin D., Ogorodov A., Starodumov V. Ispol'zovanie kompilyatorov yazyka Fortran pri reshenii vychislitel'nyh zadach [Using Fortran Language Compilators For Solving Computational Problems]. In: Free Software in High School. Proceedings. MAKS Press, Moscow, 2018, pp. 9-14. Available at: https://www.elibrary.ru/item.asp?id=32528474 (accessed 10.08.2019). (In Russ.)
[31] Demin P.A., Alekseev E.R. Matrichnye operacii yazyka Fortran [Fortran Matrix Operations]. In: Society. The science. Innovation (NPK-2017). Proceedings. VyatSU, Kirov, 2017, pp. 979-990. Available at: https://www.elibrary.ru/item.asp?id=32630537 (accessed 10.08.2019). (In Russ.)
[32] Uvanov M.I., Krasnoruckij D.A. O sozdanii mnogopotokovogo prilozheniya v Fortran 90 dlya rasparallelivaniya vypolneniya procedur [About creating a multi-threaded application in Fortran 90 for parallelizing the execution of procedures]. In: The Science. Industry. Defense. Proceedings. NSTU, Novosibirsk, 2015, pp. 786-790. Available at: https://www.elibrary.ru/item.asp?id=24084273 (accessed 10.08.2019). (In Russ.)
[33] Alekseev E.R., Demin P.A. Primenenie bibliotek proizvol'noj tochnosti v vychislitel'nyh zadachah [The use of libraries of arbitrary accuracy in computational problems]. In: Society. The science. Innovation (NPK-2016). Proceedings. VyatSU, Kirov, 2016, pp. 2670-2677. Available at: https://www.elibrary.ru/item.asp?id=26898214 (accessed 10.08.2019). (In Russ.)
[34] Gorelik A.M. Mixed Language Programming for Fortran and C. Informacionnye tekhnologii I I vichslitel’nye sistemy = Journal of Information Technologies and Computing Systems. 2016; (2):62-67. Available at: https://www.elibrary.ru/item.asp?id=26336696 (accessed 10.08.2019). (In Russ. abstract in Eng.)
[35] Alekseev E.R., Demin P.A., Kostyuk D.A. Vozmozhnosti graficheskogo vyvoda rezul'tatov v posledovatel'nyh i parallel'nyh krossplatformennyh vychislitel'nyh prilozheniyah na Fortrane i S(S++) [Possibilities of graphical conclusion of results in sequential and parallel cross-platform computer applications on Fortran and C(C ++)]. Advanced science. 2017; (3):143-167. Available at: https://www.elibrary.ru/item.asp?id=30450009 (accessed 10.08.2019). (In Russ.)
[36] Alekseev E., Lutoshkin D., Starodumov V. Razrabotka krossplatformennyh bibliotek na yazyke Fortran i S++ postroeniya grafikov funkcij [Development of cross-platform libraries in Fortran and C ++ for graphing functions]. In: Free Software in High School. Proceedings. MAKS Press, Moscow, 2018, pp. 15-19. Available at: https://www.elibrary.ru/item.asp?id=32528475 (accessed 10.08.2019). (In Russ.)
[37] Gergel V.P., Kozinov E.A., Linev A.V., Shtanyuk A.A. Uchebno-issledovatel'skie sistemy dlya izucheniya parallel'nyh metodov [Educational and Research Systems for Studying of Parallel Methods]. CEUR Workshop Proceedings. 2015; 1482:779-786. Available at: http://ceur-ws.org/Vol-1482/779.pdf (accessed 10.08.2019). (In Russ.)
Опубликована
2019-12-23
Как цитировать
ALEKSEEV, Evgeniy Rostislavovich; LUTOSHKIN, Denus Aleksandrovich; STARODUMOV, Vyacheslav Vladimirovich. Свободная система математического моделирования SIMFOR на базе компилятора Gfortran. Международный научный журнал «Современные информационные технологии и ИТ-образование», [S.l.], v. 15, n. 4, p. 1003-1012, dec. 2019. ISSN 2411-1473. Доступно на: <http://sitito.cs.msu.ru/index.php/SITITO/article/view/585>. Дата доступа: 30 oct. 2020 doi: https://doi.org/10.25559/SITITO.15.201904.1003-1012.
Раздел
Научное программное обеспечение в образовании и науке