О р д е н а Л е н и н а ИНСТИТУТ ПРИКЛАДНОЙ МАТЕМАТИКИ имени М.В.Келдыша Р о с с и й с к о й а к а д е м и и н а у к А.Н. Андрианов, Т.П. Баранова, А.Б. Бугеря, К.Н. Ефимкин Трансляция непроцедурного языка НОРМА для графических процессоров Москва-2016 Андрианов А.Н., Баранова Т.П., Бугеря А.Б., Ефимкин К.Н. Трансляция непроцедурного языка НОРМА для графических процессоров В работе рассмотрены методы автоматической трансляции непроцедурных спецификаций в исполняемые программы для графических процессоров. На примере непроцедурного языка НОРМА приведены алгоритмы и другие конструктивные решения, с использованием которых был создан компилятор программ на языке НОРМА для графических процессоров с использованием технологии NVIDIA CUDA. Оценивается эффективность исполняемых программ для графических процессоров, получаемых автоматически с помощью компилятора, созданного на основе рассмотренных методов. Приводятся результаты применения компилятора для решения трёх различных задач.
Рассмотрены методы распределения вычислительной нагрузки при трансляции программ с непроцедурного (декларативного) языка НОРМА в исполняемые программы для различных параллельных архитектур. Приведены краткие характеристики языка НОРМА и основные возможности компилятора программ на языке НОРМА. Описаны способы автоматического распределения вычислительной нагрузки при генерации исполняемых программ следующих типов: 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.
We give the results of solving a number of three-dimensional nonstationary problems of gas dynamics, whose programmatic implementation on multiprocessor computers is carried out using the NORMA language. We compare the effectiveness of different computing systems.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.