Skip to main content
Log in

The experience of using DVM and SAPFOR systems in semi automatic parallelization of an application for 3D modeling in geophysics

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Richardson H (1996) High performance Fortran: history, overview and current developments, technical report TMC-261. Think Mach Corp 14:17

    Google Scholar 

  2. 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

  3. 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

  4. Lee S, Eigenmann R (2013) OpenMPC: extended openMP for efficient programming and tuning on GPUs. Int J Comput Sci Eng 8(1):4–20

    Google Scholar 

  5. Konovalov NA, Krukov VA, Mikhajlov SN, Pogrebtsov AA (1995) Fortan DVM: a language for portable parallel program development. Program Comput Softw 21(1):3538

    MATH  Google Scholar 

  6. 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

    Google Scholar 

  7. Intel Parallel Studio. http://software.intel.com/en-us/intel-parallel-studio-home

  8. Sah S, Vaidya VG (2012) Review of parallelization tools and introduction to easypar. Int J Comput Appl 56(12):17–29

    Google Scholar 

  9. 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

    Google Scholar 

  10. 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

    Google Scholar 

  11. ParaWise-Widening accessibility to efficient and scalable parallel code. Parallel software products white paper WP-2004-01 (2004)

  12. 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

  13. 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

    Google Scholar 

  14. Graves RW (1996) Simulating seismic wave propagation in 3D elastic media using staggered grid finite differences. Bull Seismol Soc Am 86(4):1091–1106

    Google Scholar 

  15. Liseykin VD (2014) Difference grid, theory and applications. FUE Publishing House SB RAS, Novosibirsk, p 3254 (in Russian)

    Google Scholar 

  16. Khakimzyanov GS, Shokin Yu I (2005) Difference schemes on adaptive grids (in Russian). Publishing Center NGU, Patan, p 130

    Google Scholar 

  17. 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

  18. Zhiyuan L (1992) Array privatization for parallel execution of loops. In: Proceedings of the 19th international symposium on computer architecture, pp 313–322

  19. 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

    Google Scholar 

  20. 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

  21. Example of program parallelization using DVMH-model. http://dvm-system.org/en/examples/

  22. Source code. https://bitbucket.org/dvm-system/elastic-wave-3d

  23. Heterogeneous cluster K100. http://www.kiam.ru/MVS/resourses/k100.html

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nikita Kataev.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-018-2551-y

Keywords

Navigation