Open Access
Distribution of computations in hybrid computing systems when translating NORMA language programs
Author(s) -
А Н Андрианов,
Т П Баранова,
A B Bugerya,
К Н Ефимкин
Publication year - 2019
Publication title -
vyčislitelʹnye metody i programmirovanie
Language(s) - English
Resource type - Journals
eISSN - 1726-3522
pISSN - 0507-5386
DOI - 10.26089/nummet.v20r321
Subject(s) - cuda , executable , compiler , computer science , parallel computing , programming language , computation
Рассмотрены методы распределения вычислительной нагрузки при трансляции программ с непроцедурного (декларативного) языка НОРМА в исполняемые программы для различных параллельных архитектур. Приведены краткие характеристики языка НОРМА и основные возможности компилятора программ на языке НОРМА. Описаны способы автоматического распределения вычислительной нагрузки при генерации исполняемых программ следующих типов: OpenMP, NVIDIA CUDA, MPIOpenMP и MPIOpenMPNVIDIA CUDA. Рассмотрена задача динамической балансировки вычислительной нагрузки, возникающая в случае неоднородной вычислительной среды MPIOpenMPNVIDIA CUDA, и предложен метод ее решения. Приведены результаты практического применения компилятора программ на языке НОРМА для решения двух различных задач и оценена скорость выполнения получаемых при этом исполняемых программ для различных параллельных архитектур. The methods of computational load distribution when translating programs from the nonprocedural (declarative) NORMA language into executable programs for various parallel architectures are discussed. Some brief characteristics of the NORMA language and the main features of the compiler for programs in NORMA language are given. The methods of automatic distribution of computational load when generating executable programs of the following types are described: OpenMP, NVIDIA CUDA, MPIOpenMP, and MPIOpenMPNVIDIA CUDA. The problem of dynamic computational load balancing arising in the case of the heterogeneous computing environment MPIOpenMPNVIDIA CUDA is considered and a method of solving it is proposed. The results of practical application of the compiler for the programs in NORMA language for solving two different mathematical problems are given and the performance of the resulting executable programs is estimated for various parallel architectures.