Automated generation of parallel programs for graphics processing units based on algorithm schemes

А.Yu. Doroshenko, O.G. Beketov, R.B. Ivaniv, V.O. Iovchev, I.O. Mironenko, O.A. Yatsenko

Abstract


The algebra-algorithmic approach to automated designing and generation of programs for graphics processor units is proposed. The particular feature of our approach consists in using high-level specifications, represented in algebra of algorithms, and applying a method, ensuring the syntactical regularity of algorithms and programs being designed. The approach was implemented in the online toolkit for interactive design of algorithm schemes and generation of programs in target programming languages. The usage of the toolkit is illustrated on development of parallel program for convection-diffusion problem.


Keywords


generation of parallel program

References


Андон Ф.И., Дорошенко А.Е., Цейтлин Г.Е., Яценко Е.А. Алгеброалгоритмические модели и методы параллельного программирования. – Киев: Академпериодика, 2007. – 631 с.

Дорошенко А.Е., Жереб К.А., Яценко Е.А. Формализованное проектирование эффективных многопоточных программ // Проблеми програмування. – 2007. – № 1. – С. 17–30.

Яценко Е.А. Интеграция инструментальных средств алгебры алгоритмов и переписывания термов для разработки эффективных параллельных программ // Проблеми програмування. – 2013. – № 2. – С. 62–70.

Иовчев В.А., Мохница А.С. Инструментальные средства алгебры алгоритмики на платформе Web 2.0 // Проблеми програмування. – 2010. – № 2–3. – С. 547–555.

Дорошенко А.Е., Цейтлин Г.Е., Иовчев В.А. Высокоуровневые средства автоматизации проектирования параллельных алгоритмов // Проблеми програмування. – 2009. – № 3. – С. 19–29.

Wilt N. The CUDA handbook. A Comprehensive Guide to GPU Programming. – Boston: Addison-Wesley, 2013. – 528 p.

Ueng S. et al. CUDA-lite: Reducing GPU Programming Complexity // Proc. 21st Int. Workshop on Languages and Compilers for Parallel Computing (LCPC’2008). – 2008. – P. 1–15.

Haid W. et al. Efficient Execution of Kahn Process Networks on Multi-Processor Systems Using Protothreads and Windowed FIFOs // Proc. Workshop on Embedded Sys-tems for Real-Time Multimedia (ES-TImedia’09). – 2009. – P. 35–44.

Han T.D., Abdelrahman T.S. hiCUDA: A High-level Language for GPU programming // IEEE Transactions on Parallel and Distributed systems. – 2011. – Vol. 22, N 1. – P. 78–90.

Jung H., Yi Y., Ha S. Automatic CUDA Code Synthesis Framework for Multicore CPU and GPU architectures // Lecture Notes in Com-puter Science. – 2012. – Vol. 7203. – P. 579–588.

Dubach C., Cheng P., Rabbah R., Bacon D.F., Fink S.J. Compiling a High-Level Language for GPUs (via Language Support for Architectures and Compilers) // Proc. 33rd ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI’12). – 2012. – P. 1–12.

Прусов В.А., Дорошенко А.Ю., Кацалова Л.М., Бекетов О.Г. Паралельні обчислення двовимірної задачі конвективної дифузії на відеокарті // Комп’ютерне моделювання в хімії, технологіях і системах сталого розвитку – КМХТ-2014: збірник наукових статей IV Міжнар. наук.-практ. конф. – К.: НТУУ "КПІ", 2014. – С. 42–47.

Прусов В.А., Дорошенко А.Е., Черныш Р.И. Метод численного решения многомерной задачи конвективной диффузии // Кибернетика и системный анализ. – 2009. – № 1. – С. 100 –107.

Суперкомп’ютер Інституту кібернетики НАН України [Електронний ресурс]. – Режим доступу: http://icybcluster.org.ua. – 01.10.2014 р.


Refbacks

  • There are currently no refbacks.