Abstract
The DVM and SAPFOR systems were primary designed to simplify the development of parallel programs of scientific-technical calculations. DVM includes CDVMH and Fortran-DVMH programming languages which are the extensions of standard C and Fortran languages by parallelism specifications. The DVMH programs can be efficiently executed on heterogeneous computational clusters with accelerators. SAPFOR is a software development suit that can be used to produce a parallel version of a sequential program in a semiautomatic way, according to DVMH model of the parallel programming. The paper considers the application of DVM and SAPFOR systems at all stages of the program parallelization on the example of mapping of 3D elastic waves simulation method on high-performance heterogeneous clusters with GPUs. SAPFOR enables us to investigate original sequential program. Then, Fortran-DVMH language is used to exploit parallelism. Tools for functional and performance debugging, that are part of the DVM system, allow to resolve errors in the parallel program and to improve its performance. The paper also compares the DVMH-based program with a program obtained after manual parallelization using MPI programming technology.
Similar content being viewed by others
References
Richardson H (1996) High performance Fortran: history, overview and current developments, technical report TMC-261. Think Mach Corp 14:17
Bihan S, Moulard G, Dolbeau R, Calandra H, Abdelkhalek R (2009) Directive-based heterogeneous programming A GPU-accelerated RTM use case. In: Proceeding 7th international conference on computing, communications and control technologies
Han TD, Abdelrahman TS (2009) hiCUDA: a high-level directive-based language for GPU programming. In: Proceedings of 2nd workshop on general purpose processing on graphics processing units, GPGPU-2, ACM, New York, pp 52–61
Lee S, Eigenmann R (2013) OpenMPC: extended openMP for efficient programming and tuning on GPUs. Int J Comput Sci Eng 8(1):4–20
Konovalov NA, Krukov VA, Mikhajlov SN, Pogrebtsov AA (1995) Fortan DVM: a language for portable parallel program development. Program Comput Softw 21(1):3538
Bakhtin VA, Klinov MS, Krukov VA, Podderugina NV, Pritula MN, Sazanov YL (2012) Extension of the DVM-model of parallel programming for clusters with heterogeneous nodes (in Russian). Bulletin of South Ural State University. Series: mathematical modeling, programming & computer software. South Ural State University, Chelyabinsk, pp 82–92
Intel Parallel Studio. http://software.intel.com/en-us/intel-parallel-studio-home
Sah S, Vaidya VG (2012) Review of parallelization tools and introduction to easypar. Int J Comput Appl 56(12):17–29
Klinov MS, Krukov VA (2009) Automatic parallelization of fortran programs. Mapping to cluster (in Russian). Vestnik of Lobachevsky University of Nizhni Novgorod. Nizhni Novgorod State University Press, Nizhni Novgorod, pp 128–134
Bakhtin VA, Borodich IG, Kataev NA, Klinov MS, Kovaleva NV, Krukov VA, Podderugina NV (2012) Interaction with the programmer in the system for automation parallelization SAPFOR (in Russian). Vestnik of Lobachevsky State University of Nizhni Novgorod. Nizhni Novgorod State University Press, Nizhni Novgorod, pp 242–245
ParaWise-Widening accessibility to efficient and scalable parallel code. Parallel software products white paper WP-2004-01 (2004)
Titov PA (2016) Technology of simulation of elastic wave propagation in media with complex 3D geometry surface on high-performance clusters (in Russian). Russian supercomputing days. In: Proceedings of the international scientific conference (26th–27th Sept 2016, Moscow), pp 1020–1031
Glinskiy BM, Karavaev DA, Kovalevskiy VV, Martynov VN (2010) Numerical modeling and experimental research of the “Karabetov Mountain” mud volcano by vibroseismic methods (in Russian). Numer Methods Program 11:95–104
Graves RW (1996) Simulating seismic wave propagation in 3D elastic media using staggered grid finite differences. Bull Seismol Soc Am 86(4):1091–1106
Liseykin VD (2014) Difference grid, theory and applications. FUE Publishing House SB RAS, Novosibirsk, p 3254 (in Russian)
Khakimzyanov GS, Shokin Yu I (2005) Difference schemes on adaptive grids (in Russian). Publishing Center NGU, Patan, p 130
Peng T, Padua D (1993) Automatic array privatization. In: International workshop on languages and compilers for parallel computing. Lecture notes in computer science, vol 768, pp 500–521
Zhiyuan L (1992) Array privatization for parallel execution of loops. In: Proceedings of the 19th international symposium on computer architecture, pp 313–322
Kataev NA (2012) Static analysis of sequential programs in the automatic parallelization environment SAPFOR (in Russian). Vestnik of Lobachevsky University of Nizhni Novgorod. Nizhni Novgorod State University Press, Nizhni Novgorod, pp 359–366
Kolganov AS, Korolev NN (2018) Static analysis of private variables in the system for automated parallelization of Fortran programs (in Russian). Parallel computational technologies (PCT) 2018. In: Proceedings of the international scientific conference, pp 286–294
Example of program parallelization using DVMH-model. http://dvm-system.org/en/examples/
Source code. https://bitbucket.org/dvm-system/elastic-wave-3d
Heterogeneous cluster K100. http://www.kiam.ru/MVS/resourses/k100.html
Author information
Authors and Affiliations
Corresponding author
Additional information
The reported study was funded by the program of the Presidium of RAS 26 “fundamental basis for creating algorithms and software for perspective ultrahigh-performance computing”.
Rights and permissions
About this article
Cite this article
Kataev, N., Kolganov, A. The experience of using DVM and SAPFOR systems in semi automatic parallelization of an application for 3D modeling in geophysics. J Supercomput 75, 7833–7843 (2019). https://doi.org/10.1007/s11227-018-2551-y
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-018-2551-y