No. 18 (277), issue 12Pages 82 - 92

Extension of DVM Parallel Programming Model for Clusters with Heterogeneous Nodes

V.A. Bakhtin, M.S. Klinov, V.A. Krukov, N.V. Podderyugina, M.N. Pritula, Y.L. Sazanov
The principles of DVM model extension and the principles of Fortran DVMH language for clusters with heterogeneous nodes are presented. New language features allow you: to define program fragments to be executed on a particular accelerator, to define the data required for execution of a particular program fragment, to set the rules for mapping loop iterations to an accelerator, to control data movement between CPU memory and accelerators memory. We describe the principles of Fortran DVMH compiler implementation and new Lib-DVMH runtime system functions, and present efficiency characteristics for test programs on GPUs of K-100 cluster. The implementation of Fortran DVMH compiler will not only simplify programming for clusters with heterogeneous nodes, but also accelerate the implementation for such clusters automatically parallelizing compiler for Fortran programs that uses Fortran DVMH language as the output language on which the programmer can perform additional manual program optimization.
Full text
parallel programming languages, hybrid multiprocessor computer systems, graphic accelerators.
1. Mattson T.G., Van der Wijngaart R.F., Riepen M., Lehnig T., Brett P., Haas W., Kennedy P., Howard J., Vangal S., Borkar N., Ruhl G., Dighe S. The 48-core SCC Processor: the Programmer's View. shape SC'10 Proceedings of the 2010 ACM/IEEE International Conference for HPC, Networking, Storage and Analysis. Washington, DC, 2010, pp. 1 - 11.
2. shape High Performance Fortran Forum. High Performance Fortran Language Specification, Version 2.0 (1997). Available at: (accessed 30 October 2011).
3. Konovalov N.A., Krukov V.A., Mihailov S.N., Pogrebtsov A.A. Fortran DVM - a Language for Portable Parallel Program Development. shape Proceedings of Software For Multiprocessors & Supercomputers: Theory, Practice, Experience. Moscow, 1994.
4. Bodin F., Bihan S. Heterogeneous Multicore Parallel Programming for Graphics Processing Units. shape Scientific Programming - Software Development for Multi-core Computing Systems. 2009, vol. 17, no. 4, pp. 325 - 336.
5. Abdelrahman T.S., Han T.D. HiCUDA: a High-Level Directive-Based Language for GPU Programming. shape GPGPU-2 Proceedings of 2nd Workshop on General Purpose Processing on Graphics Processing Units. NY, 2009, pp. 52 - 61.
6. Wolfe M. Design and Implementation of a High Level Programming Model for GPUs. shape GPGPU'10 Proceedings of the 3rd Workshop on General-Purpose Computation on Graphics Processing Units. N.Y., 2010, pp. 43 - 50.
7. Ayguade E., Badia R.M., Cabrera D., Duran A., Gonzalez M., Igual F., Jimenez D., Labarta J., Martorell X., Mayo R., Perez J.M., Quintana-Orti E.S. A Proposal to Extend the Openmp Tasking Model for Heterogeneous Architectures. shape IWOMP'09 Proceedings of the 5th International Workshop on OpenMP: Evolving OpenMP in an Age of Extreme Parallelism. Berlin: Springer-Verlag, 2009, pp. 154 - 167.
8. Gray A., Hart A., Richardson H., Sivalingham K. shape Accelerator directives: a user's perspective. Available at: (accessed 11 March 2012).
9. Bakhtin V.A., Konovalov N.A., Krukov V.A. Extension of OpenMP Fortran Language for Distributed Systems [Rasshirenie jazyka OpenMP Fortran dlja raspredelennyh sistem]. shape Voprosy atomnoj nauki i tehniki. Ser. Matematicheskoe modelirovanie fizicheskih processov [Problems of Atomic Science and Technology. Vol. Mathematical Modeling of Physical Processes]. 2002, no. 4, pp. 65 - 70.