Abstract:
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.