The National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute"
Abstract
We justify the necessity of providing formalized methods for designing GPGPU algorithms, implementing them in software, and studying the fine structure of programs for massively parallel systems that contain video cards. Four approaches for designing applications for GPGPU technology were considered: the algebra-algorithmic; using colored Petri nets; using object-oriented programming patterns; and using functional programming methods. We analyze the advantages of Glushkov’s modified system of algorithmic algebras (SAA-M) and the real time process algebra (RTPA) in GPGPU-application developing process. Modifications of common object-oriented patterns were developed taking into account GPU features. Another approach is a declarative way of building GPU-computations based on MapReduce pattern and functional programming languages. Recommendations were given for practical use of these approaches.Обоснована необходимость создания формализованных методов проектирования алгоритмов, их программных реализаций и исследования тонкой информационной структуры программ для систем с массовым параллелизмом, которые содержат видеоадаптеры. Предложено и обосновано использование четырех подходов к формализации проектирования приложений технологии GPGPU: алгеброалгоритмического; с использованием цветных сетей Петри; с использованием объектно-ориентированных шаблонов программирования; с использованием, распространенных методов функционального программирования. Проведен анализ преимуществ использования модифицированной системы алгоритмических алгебр Глушкова (САА-М) и алгебры реального времени (RTPA) в разработке GPGPU-приложений. Разработано модификации распространенных шаблонов объектно-ориентированного программирования с учетом особенностей роботы видеоадаптера. Предложен декларативный способ построения GPU-вычисления на основе шаблона MapReduce и функциональных языков программирования. Дана рекомендация относительно практического использования указанных подходов.Обґрунтовано необхідність створення формалізованих методів проектування алгоритмів, їх програмних реалізацій та дослідження тонкої інформаційної структури програм для систем з масовим паралелізмом, які містять відеоадаптери. Запропоновано та обґрунтовано застосування чотирьох підходів до формалізації проектування застосувань у технології GPGPU: алгеброалгоритмічного, з використанням кольорових мереж Петрі, з використанням об’єктно-орієнтованих шаблонів програмування та з використанням поширених методів функціонального програмування. Проаналізовано переваги застосування модифікованої системи алгоритмічних ал-гебр Глушкова (САА-М) та алгебри реального часу (RTPA) до розробки GPGPU-застосувань. Розроблено модифікації поширених шаблонів об’єктно-орієнтованого програмування, що враховують специфіку роботи відеоадаптера. Запропоновано декларативний спосіб визначення GPU-обчислення з використанням шаблону MapReduce та функціональних мов програмування. Надано рекомендації щодо практичного використання цих підходів