Реализация индексного анализа для деревьев циклов любого вида сложности Выполнил : студент 818 гр. Юдин Павел Научный руководитель : к. т. н. Муханов Л.

Презентация:



Advertisements
Похожие презентации
Программный разрыв зависимостей между операциями обращения в память в двоичном оптимизирующем компиляторе Магистерская диссертация студента 212 группы.
Advertisements

Программный разрыв зависимостей между операциями обращения в память в двоичном оптимизирующем компиляторе Магистерская диссертация студента 212 группы.
Оптимизация управляющего графа программ, имеющих избыточные условные вычисления Выполнил: Степнов Денис, 816 гр. Научный руководитель: Бучнев А.Ю. Выпускная.
Система автоматизации распараллеливания: DVM-эксперт Студент 528 группы Нгуен Минь Дык Научный руководитель: Профессор, д. ф.-м. н. Крюков Виктор Алексеевич.
Система автоматизации распараллеливания: DVM-эксперт Блюменберг Э.П. 528 Научный руководитель: профессор В.А. Крюков.
Построение тестовых программ для проверки подсистем управления памяти микропроцессоров Евгений Корныхин.
Внутреннее представление компилятора Типы представлений и их особенности.
Построение тестовых программ для проверки подсистем управления памяти микропроцессоров Корныхин Евгений Валерьевич научный руководитель: д.ф.-м.н. Петренко.
Сравнительный анализ некоторых методов композиции вычислительных подобластей студент: Данилин Александр научный руководитель: Илюшин Александр Иванович.
Параллельные алгоритмы для симплициального подразделения области с итерационным измельчением вблизи границы Кафедра параллельных алгоритмов Математико-Механический.
Распределение регистров при планировании инструкций для архитектуры Эльбрус Дипломная работа Иванова Д. С. Научный руководитель Шлыков С. Л. Москва 2008.
Московский Физико-Технический Институт Оптимизация методов умножения матриц библиотеки линейной алгебры для ВК Эльбрус-3M1 и Эльбрус-90 микро Выполнил:
Анализ вычислительной сложности алгоритмов Теория сложности вычислений.
Андрейчук Н.П. Руководитель дипломной работы Столярчук В.А. Москва 2011.
Трансляция операций с массивами в код для современных графических процессоров Сахарных Н.А., Адинец А.В. Научный руководитель Березин С.Б. Лаборатория.
Автоматизированная поддержка пользовательской документации Web-приложений, разрабатываемых в среде WebRatio Студент: Дорохов Вадим, 544 гр. Научный руководитель:
Основы алгоритмизации Алгоритмы. Типы алгоритмов. Алгоритмы. Типы алгоритмов. Блок-схемы. Вопросы и задания. Вопросы и задания.
Необхідність структурування даних. Послідовне і зв ' язне розподілення даних в пам ' яті ЕОМ. Статичні і динамічні структури даних.
Python как инструмент Data Mining Лекция 4.4 Инструменты Data Mining Зырянов Александр Олегович.
1 Система автоматизации распараллеливания. Отображение на SMP-кластер. Автор: Картавец Евгений Олегович Научные руководители: д.ф.-м.н. Крюков Виктор Алексеевич.
Транксрипт:

Реализация индексного анализа для деревьев циклов любого вида сложности Выполнил : студент 818 гр. Юдин Павел Научный руководитель : к. т. н. Муханов Л. Е.

Актуальность 1. Увеличение производительности вычислительных комплексов. Многоядерные архитектуры 2. Значительное количество существующих приложений реализовано для последовательного исполнения 3. Автоматическое распараллеливание позволяет повышать производительность приложений без изменений в исходном коде

Актуальность В большинстве вычислительных задач основное время тратится на вычисления, которые содержатся внутри циклов Автоматическое распараллеливание нацелено на работу с циклами

Основные понятия Индексный анализ – анализ, проводящийся над индексами массивов в определенном цикле, для выявления зависимостей между конкретными операциями на разных итерациях Дерево циклов – структура, выражающая отношения вложенности циклов Гнездо циклов – структура, содержащая информацию об одной ветви в дереве циклов

Распараллеливание циклов Межитерационная цикловая зависимость for (i=0;i

Проблематика Невозможность анализировать операции, принадлежащие разным гнездам for(i=0;i

Постановка задачи 1. Разбор существующих методов анализа межитерационных цикловых зависимостей 2. Разбор программной реализации существующих методов 3. Реализация анализа для деревьев циклов любого вида сложности

Математическая постановка Доказать независимость при эквивалентности множеств A и В Доказать независимость вне зависимости от A == ВНовая версия: Исходная версия:

Представление индекса массива Внутреннее представление mov 10 => Vs 3 mov 4 => Vs 0 mul Vs 0, Vs 1 => Vs 2 add Vs 2, Vs 3 => Vs 4 load a[Vs 4 ] PS- форма : 4*(Vs 1 +10) 104Vs 1 mul add ld Граф потока данных

Формирование уравнений для анализа зависимостей Линейная форма представления PS- формы : Формирование неравенств : for(i=0;i

Методы решения 1. « одно ограничение на переменную » - не охватывает все случаи 2. Ациклический - не охватывает все случаи 3. Простая проверка остатка цикла - не охватывает все случаи 4. Фурье - Моцкина - двойная экспоненциальная сложность 5. Симплекс метод - охватывает все случаи, экспоненциальная сложность

Цикловой индексный анализ ( используемый в МЦСТ алгоритм ) Создание пар операций запись / запись и чтение / запись Операции нужной формы ? Пара зависит от индуктивности ? Вызов решателя, Симплекс метод Задаем матрицы уравнений Операции одного гнезда ? Независимы ? Есть еще пары ? Нельзя определить независимость Отсутствие зависимости нет да вход

Цикловой индексный анализ ( улучшенный алгоритм ) Создание пар операций запись / запись и чтение / запись Операции нужной формы ? Пара зависит от индуктивности ? Вызов решателя, Симплекс метод Задаем матрицы уравнений Независимы ? Есть еще пары ? Нельзя определить независимость Отсутствие зависимости нет да - Улучшенные стадии вход

Экспериментальные результаты Задача wupwise168 из пакета тестов Spec2000 Время параллельного выполнения задачи сократилось на 14%

Результаты Разобраны существующие методы анализа межитерационных цикловых зависимостей Разобрана программная реализация существующих методов Реализован анализ для деревьев циклов любого вида сложности Получены экспериментальные результаты на задаче wupwise168, пакета Spec2000 Улучшения внедрены в компилятор