Автоматизоване проектування OpenCL програм на основі алгебро-алгоритмічного підходу - Дорошенко, А.Ю.; Бондаренко, М.М.; Яценко, О.А. (Проблеми програмування, 2019)
Подальший прогрес у покращенні показників якості створення паралельних програм пов'язаний з використанням гетерогенних архітектур обчислювальних систем. Неоднорідні паралельні системи включають у себе, зокрема, гібридні обчислювальні платформи, що поєднують використання центральних процесорів і графічних прискорювачів. Одним з інструментальних засобів програмування таких систем є OpenCL. У статті виконане налаштування раніше створеного алгебро-алгоритмічного інструментарію проектування і синтезу на автоматизовану разробку OpenCL-програм. Особливістю запропонованого підходу до проектування є використання мови, що ґрунтується на системах алгоритмічних алгебр Глушкова. Підхід продемонстровано на проектуванні програми інтерполяції для задачі метеорологічного прогнозування. Проведено експеримент з виконання згенерованої за допомогою розробленого інструментарію паралельної програми на графічному прискорювачі. Виконане порівняння з реалізацією програми на CUDA. Дальнейший прогресс в улучшении показателей качества создания параллельных программ связан с использованием гетерогенных архитектур вычислительных систем. Неоднородные параллельные системы включают у себя, в частности, гибридные вычислительные платформы, сочетающие использование центральных процессоров и графических ускорителей. Одним из инструментальных средств программирования таких систем является OpenCL. В статье выполнена настройка ранее созданного алгебро-алгоритмического инструментария проектирования и синтеза на автоматизированную разработку OpenCL программ. Особенностью предложенного подхода к проектированию является использование высокоуровневого языка, основывающегося на системах алгоритмических алгебр Глушкова. Подход продемонстрирован на разработке программы интерполяции для задачи метеорологического прогнозирования. Проведен эксперимент по выполнению сгенерированной с помощью разработанного инструментария параллельной программы на графическом ускорителе. Выполнено сравнение с реализацией программы на платформе CUDA. Further progress in improving the quality of parallel software development is linked to the use of heterogeneous architectures of parallel computing systems. Heterogeneous parallel systems, in particular, include hybrid computing platforms combining the use of central and graphics processing units. One of the facilities for programming such systems is OpenCL. The paper proposes the further development of previously developed algebra-algorithmic tools in the direction of automated design and synthesis of OpenCL programs. The particular feature of the proposed approach consists in using a high-level language based on Glushkov’s system of algorithmic algebra. The approach is illustrated on the development of a parallel interpolation algorithm, which is the part of the numerical weather forecasting program. The results of the experiment consisting in executing of the generated OpenCL program on a graphics processing unit are given. The program is compared with the implementation for CUDA platform.