Содержание
Введение
Глава 1. Использование параллельности на уровне операций для
получения эффективного кода
1.1. Архитектурная поддержка параллельности на уровне операций
1.1.1. Широкое командное слово, статическое планирование операций
1.1.2. Предикатный и спекулятивный режим исполнения операций.
1.1.3. Аппаратные ресурсы архитектур с явно выраженной параллельностью.
1.1.4. Краткое описание архитектуры Эл ьбрусЗМ
1.2. Задачи оптимизирующего компилятора для архитектуры с явно
выраженной параллельностью.
1.2.1. Промежуточное представление программы и отображение параллельности.
1.2.2. Разбиение программы на участки и граф управления
ЛР 1.2.3. Методы анализа и оптимизирующие преобразования программы
1.2.4. Генерация кода из промежуточного представления
1.3. Постановка задачи.
1.4. Выводы
Глава 2. Предикатное промежуточное представление как
совокупность расширенных скалярных участков.
2.1. Переход к предикатному представлению ivi
2.1.1. Преобразование зависимостей по управлению к предикатным зависимостям, использование свойства спекулятивности для оптимизации предикатных зависимостей
2.1.2. Базовый регион предикатного промежуточного представления расширенный скалярный участок РСУ.
2.2. Алгоритм построения РСУ.
2.2.1. Построение полных условий относительно точки входа в РСУ
2.2.2. Применение базовых преобразований контекстных операций
на границах линейных участков.
2.2.3. Установление необходимых зависимостей по памяти, управляющих зависимостей и перевод операций с побочным
4Ц эффектом в предикатную форму.
2.2.4. Сложность алгоритма.
2.3. Оптимальное использование совместного спекулятивного исполнения операций из нескольких альтернатив условных предложений
2.3.1. Использование профиля программы, взаимодействие с построением гиперблоков.
2.3.2. Усложнение предикатного преобразования.
2.4. Результаты, полученные на тестовых пакетах 8РЕСЫ и
2.4.1. Наборы тестовых программ
2.4.2. Экспериментальные результаты
2.5. Выводы
Глава 3. Использование стратегии критического пути в
оптимизациях на основе предикатного представления программы.
3.1. Разметка операций временем раннего н позднего запуска и
критический путь участка.
3.2. Оптимизирующие преобразования для предикатного представления программы, направленные на сокращение критического пути участка.
3.2.1. Исключение условия с критического пути.
3.2.2. Удаление с критических путей потенциально зависимых последовательностей запись в память считывание из памяти
путем вставления динамического сравнения адресов
3.2.3. Балансировка критических путей РСУ, зависящих от условия.
3.3. Результаты, полученные на тестовых пакетах 8РЕСш2 и
вРЕСдп 5.
3.4. Вывод
Заключение.
Литература
- Київ+380960830922