|
||||||||||||||||||
Видеоролик с демонстрацией возможностей ОРС ОРС Оптимизирующая распараллеливающая система программная инструментальная система, ориентированная на разработку
ОРС ориентирована на различные целевые параллельные архитектуры. В ОРС преобразования программ используют как традиционный граф программных зависимостей, так и решетчатый граф программ. Группа разработчиков ОРС помимо работы над программным продуктом
занимается поиском новых оптимизирующих преобразований и новых возможностей компиляции.
Структура ОРСПарсеры.
Генерация выходного кода.
Графовые модели программ.
Внутреннее представление. Внутреннее представление ориентируется на многоязыковый вход (фортран, паскаль. си), на удобство разработки преобразований программ и на возможность генерации кода различных целевых архитектур. Библиотека преобразований. Написанные преобразования автоматически проверяют условия эквивалентности, основанные на графе информационных связей или на решетчатом графе. В ОРС постоянно обновляются или дописываются новые функции. Пока не для всех преобразований написаны проверки семантической корректности преобразований и распознавание специфических условий, при которых преобразование может быть применено. Это может приводить к сбоям системы и со временем в конечных продуктах будет устранено. Дело в том, что некоторые из таких проверок корректности оказываются общими для многих преобразований и будут выполнены централизовано (чтобы разработчики отдельных преобразований не дублировали друг друга), а некоторые проверки ограничений на преобразуемые фрагменты программ не пишутся, поскольку предполагается расширение области применения преобразований или предполагается использование преобразований на заведомо подходящих для этого фрагментах. Преобразование выражений и линейных участков программ.
Преобразования одномерных циклов.
Преобразования циклов с линейной рекуррентной зависимостью.
Преобразование гнезд циклов.
Преобразования одномерного цикла в гнездо циклов.
Преобразования ОРС используют СЕРВИСНЫЕ ФУНКЦИИ:
Исследовательские интересы группы ОРС
Система визуализации ОРССистема визуализации демонстрирует некоторые возможности Оптимизирующей распараллеливающей системы. Эта система предназначена для автоматических расчетов синхронизации конвейерных устройств, для диалогового распараллеливания, для анализа возможностей распараллеливания последовательных программ, для обучения теории преобразования программ. Ниже приводятся копии экранных форм системы визуализации ОРС2.
(Система визуализации ОРС3 ожидается в сентябре 2005 г.)
Граф информационных зависивостей ОРС: Отображение цикла на реконфигурируемый конвейер средствами ОРС: Решетчатый граф ОРС, постороенный по двум выделенным вхождениям (используется для переименования и подстановки индексных переменных): Выделяются два исходных цикла, выбирается "слияние циклов": Выполнено преобразование "слияние циклов": Команда разработчиков ОРС и участников семинара ОРС (лето 2004):
(Слева направо верхний ряд) Зиновий Нис, Константин Гуфан, Александр Шульженко, Роман Морылев, Виктор Петренко, Михаил Шилов, Милена Еремеева, Мария Цибулина, Сергей Науменко, Александр Бутов, Полина Шатерникова. (Нижний ряд) Олег Штейнберг, Александр Тузаев, Роман Штейнберг, Денис Черданцев, Людмила Миронова. Еще в 2003 году наша команда была значительно меньше: (Слева направо) Виктор Петренко, Роман Штейнберг, Сергей Науменко, Борис Яковлевич Штейнберг,
Денис Черданцев, Александр Шульженко, Александр Бутов.
| ||||||||||||||||||
© Optimizing Parallelizing System Group 2001-2017 |