Automation of programming for promising high-performance computing systems
V. A. Bakhtin, N.A. Kataev, A.S. Kolganov, M.V. Yakobovskiy, D.A. Zaharov
Automation of parallel programming may focus on various tasks the programmer is burdened while developing a parallel program. Related tools assist the program profiling and aid the programmer with transforming the program to a form suitable for the efficient parallelization. Finally, these tools express an implicit program parallelism using a chosen programming model and optimize the parallel program for target architectures. However, the choice of the target Application Programming Interfaces (API) is of great importance in the development of interactive parallelization tools. On the one hand, the perfect choice of API should ensure the programming of the variety of modern and promising architectures. On the other hand, API must simplify the development of assistant tools and allow the programmer to explore the decisions made by the automated parallelization system. System FOR Automated Parallelization (SAPFOR) is an umbrella of assistant tools designed to automate parallel programming. It accomplishes various tasks and allows the user to take an advantage of the interactive semi-automatic parallelization. SAPFOR expresses parallelism using the DVMH directive-based programming model, which aims at developing efficient parallel programs for heterogeneous and hybrid computing clusters. The paper presents an empirical study that examines the capability of SAPFOR to assist parallel programming on the example of development of a parallel program for numerical simulation of hydrodynamic instabilities.
This work was supported by Moscow Center of Fundamental and Applied Mathematics, Agreement with the Ministry of Science and Higher Education of the Russian Federation, No. 075-15-2019-1623.
Automation of parallelization, Heterogeneous computational clusters, GPUs, Directive-based programming models, DVMH, SAPFOR.
V. A. Bakhtin, N.A. Kataev, A.S. Kolganov, M.V. Yakobovskiy, D.A. Zaharov. Automation of programming for promising high-performance computing systems // Malyshkin, V. (eds) Parallel Computing Technologies. PaCT 2023. Lecture Notes in Computer Science, Cham: Springer, 2023, Vol. 14098, P. 3-17