УДК 004.432.4
АРХИТЕКТУРНО-НЕЗАВИСИМАЯ ПРОГРАММА БЫСТРОГО ПРЕОБРАЗОВАНИЯ ФУРЬЕ НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ SET@L
И. И. Левин, д.т.н., профессор, и.о. заведующего кафедрой ИМС, ИКТИБ ЮФУ, Таганрог, Россия; Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
А. И. Дордопуло, к.т.н., начальник отдела МАО, НИЦ СЭ и НК, Таганрог, Россия; Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
И. В. Писаренко, младший научный сотрудник отдела МАО, НИЦ СЭ и НК, Таганрог, Россия; Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
А. К. Мельников, к.т.н., старший научный сотрудник, ЗАО «ИнформИнвестГрупп», Москва, Россия; Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
Традиционные средства параллельного программирования не позволяют разделить описания алгоритма решения прикладной задачи и особенностей его реализации на вычислительной системе, поэтому портирование программы на систему с другой архитектурой или конфигурацией, как правило, требует существенной переработки кода. Для решения проблемы портирования прикладного программного обеспечения был предложен язык архитектурно-независимого программирования Set@l, основанный на теории множеств и аспектно-ориентированной парадигме. Формируя различные комбинации из совокупностей, признаков, разбиений и отношений в единой аспектно-ориентированной программе на языке Set@l, возможно описать любые способы распараллеливания и
преобразования алгоритма для различных вычислительных архитектур. Данная возможность языка программирования Set@l проиллюстрирована на примере вычисления комплексных поворотных коэффициентов для алгоритма быстрого преобразования Фурье. Показано, что, в отличие от процедурной программы, код быстрого преобразования Фурье на языке Set@l задает не только два граничных случая реализации алгоритма с минимальными и максимальными затратами памяти, но и множество промежуточных вариантов, обеспечивая непрерывность описания модели вычислений с разным объемом памяти. Предлагаемый подход к параллельному программированию позволяет синтезировать множество вариантов решения задачи, которое неразличимо с точки зрения процедурного подхода, и осуществлять переход между реализациями в зависимости от архитектуры и параметров конфигурации вычислительной системы.
Ключевые слова: архитектурно-независимое программирование; язык программирования Set@l; аспектно-ориентированная методология; быстрое преобразование Фурье.