Автоматическая векторизация выражений оптимизирующим компилятором Ермолицкий Александр, 112 группа Научный руководитель: Шлыков Сергей Московский Физико-Технический.

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



Advertisements
Похожие презентации
1. a=? b=? c=? {int a, b, c; a=(b=2+3)/2 - 4+(c=5%2); printf("%d %d %d \n", a, b, c); }
Advertisements

Оптимизация алгоритмов сигнальной обработки для процессоров с архитектуройЭльбрус Московский Физико-Технический Институт Автор : Павлов Антон Научный руководитель.
Программный разрыв зависимостей между операциями обращения в память в двоичном оптимизирующем компиляторе Магистерская диссертация студента 212 группы.
Элементы языка СИ Средства для написания простейших программ.
Некоторые вопросы оптимизации.
Программный разрыв зависимостей между операциями обращения в память в двоичном оптимизирующем компиляторе Магистерская диссертация студента 212 группы.
Сошников Дмитрий Валерьевич к.ф.-м.н., доцент Факультет инноваций и высоких технологий Московский физико-технический институт.
Реализация индексного анализа для деревьев циклов любого вида сложности Выполнил : студент 818 гр. Юдин Павел Научный руководитель : к. т. н. Муханов Л.
Развитие технологии динамического сравнения трасс Научный руководитель: Ермолович Александр Владленович Московский Физико-Технический Институт Роман А.
1. a=? b=? c=? {int a, b, c; a=(b=2+3)/2 - 4+(c=5%2); printf("%d %d %d \n", a, b, c); }
Лекция 2Лекция 2Структура программы Директивы препроцессора main () { Описания переменных Операторы }
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ МОСКОВСКИЙ ФИЗИКО - ТЕХНИЧЕСКИЙ ИНСТИТУТ (государственный университет) Решение задачи восстановления профильной.
Преобразования типов В языке C/C++ имеется несколько операций преобразования типов. Они используются в случае, если переменная одного типа должна рассматриваться.
©ρŧą Базовые конструкции языка.
Московский Физико-Технический Институт Оптимизация методов умножения матриц библиотеки линейной алгебры для ВК Эльбрус-3M1 и Эльбрус-90 микро Выполнил:
Развитие механизмов долговременного хранения двоично- транслированных кодов Научный руководитель: Ермолович Александр Владленович Московский Физико-Технический.
Развитие технологии динамического сравнения трасс Научный руководитель: Ермолович Александр Владленович Московский Физико-Технический Институт Роман А.
О конформности Си-программ Михаил Посыпкин ИСП РАН.
Студент: Битнер Вильгельм, 518 гр. Научный руководитель: Степанов П.А.
ПОТОКО-ЧУВСТВИТЕЛЬНЫЙ АНАЛИЗ УКАЗАТЕЛЕЙ ЯЗЫКА С, ОСНОВАННЫЙ НА ДИАГРАММАХ ДВОИЧНЫХ РЕШЕНИЙ Санкт-Петербургский Государственный Университет Математико-Механический.
Транксрипт:

Автоматическая векторизация выражений оптимизирующим компилятором Ермолицкий Александр, 112 группа Научный руководитель: Шлыков Сергей Московский Физико-Технический Институт (государственный университет) Москва 2007

Пример векторизации цикла unsigned char a[N], b[N], c[N]; int x;... for( i=0; i 255 ) x = 255; c[i] = x; } for( i=0; i

Реализованная функциональность for( i=0; i

Схема векторизации циклов for( i=0; i

Ограничения for( i=0; i

Выравнивающие преобразования float a[N], b[N];... for( i=0; i

Алгоритм выравнивания операций анализ выровненности операций чтения/записи разбиение операций на группы с одинаковой выровненностью выравнивание наибольшей группы пилингом выравнивание остальных групп динамическими проверками for( i=0; i

Невыровненные операции ld insf st getf insf scr ld

Рекуррентные выражения int a[N];... for( i=0; i

Условные выражения char a[N], b[N], c[N], x;... for( i=0; i b[i] ) x = a[i]; else x = b[i]; c[i] = x; } for( i=0; i

Циклы с боковым выходом LD a[i] Vs1 ST b[i] Vs1 CMPEs Vs1, 0 постцикл ADDs Vs0, 1 Vs0 CMPLs Vs0, N LD a[i:i+7] Vd1 CMPEd Vd1, 0 постцикл ST b[i:i+7] Vd1 ADDs Vs0, 8 Vs0 CMPLs Vs0, N LD a[i] Vs1 ST b[i] Vs1 CMPEs Vs1, 0 ADDs Vs0, 1 Vs0 CMPLs Vs0, N char a[N], b[N];... for( i=0; i

Раскрученные циклы float a[N], b[N], c[N];... for( i=0; i

Результаты

Результаты

Результаты

Вопросы?