Обзор методов оптимизации кода для процессоров с поддержкой параллелизма на уровне команд
Состав работы
|
|
|
|
Необходимые программы
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Процессоры, способные одновременно и независимо выполнять несколько команд, обладают исключительно высоким потенциалом производительности и находят все более широкое применение. О процессорах такого типа говорят, что они поддерживают параллелизм на уровне команд (Instruction Level Parallelism, ILP). Далее для краткости они будут называться ILP-процессорами. Класс ILP-процессоров включает суперскалярные процессоры и процессоры с очень длинным командным словом (Very Large Instruction Word, VLIW), к числу которых относятся, в частности, многие модели цифровых процессоров обработки сигналов (ЦПОС).
Важное преимущество ILP по сравнению с параллелизмом многопроцессорных архитектур заключается в том, что программный параллелизм на уровне команд извлекается (аппаратурой или компилятором) автоматически, без дополнительных усилий со стороны прикладных программистов, в то время как использование параллелизма многопроцессорных архитектур подразумевает переписывание приложений.
Для реального использования высокой производительности ILP-процессоров необходимы компиляторы с языков высокого уровня, способные генерировать эффективный код. Применение одних лишь традиционных методов оптимизации кода оказывается совершенно недостаточным. Например, согласно [3] или [41], типичный компилятор для ЦПОС (поддерживающий только традиционные оптимизации) генерирует код, который по времени выполнения может уступать оптимальному в 5-10 и более раз.
В течение последних лет прилагаются значительные усилия по разработке специальных методов оптимизации программ для ILP-процессоров, направленных на выявление и расширение программного параллелизма на уровне команд. Настоящая работа содержит обзор таких методов.
В разделе 2 дается краткий обзор ILP-процессоров и их основных характеристик. Раздел 3 посвящен критериям оптимизации кода для ILP-процессоров. В разделе 4 представлена примерная схема работы компилятора, характеризуются основные задачи, связанные с оптимизацией кода для ILP-процессоров. В разделе 5 дается обзор способов формирования областей (фрагментов компилируемой программы), в рамках которых возможно эффективное распараллеливание. В разделе 6 описываются методы оптимизации, направленные на усиление внутреннего программного параллелизма в рамках выделенных областей. В разделе 7 рассматриваются методы распараллеливания кода в предварительно выделенных областях. Раздел 8 посвящен специфике оптимизации кода для ЦПОС. В разделе 9 приводится информация о языковых расширениях и их роли в увеличении эффективности процессоров. В заключении (раздел 10) представлены некоторые из актуальных нерешенных до настоящего время проблем оптимизации кода для ILP-процессоров.
Важное преимущество ILP по сравнению с параллелизмом многопроцессорных архитектур заключается в том, что программный параллелизм на уровне команд извлекается (аппаратурой или компилятором) автоматически, без дополнительных усилий со стороны прикладных программистов, в то время как использование параллелизма многопроцессорных архитектур подразумевает переписывание приложений.
Для реального использования высокой производительности ILP-процессоров необходимы компиляторы с языков высокого уровня, способные генерировать эффективный код. Применение одних лишь традиционных методов оптимизации кода оказывается совершенно недостаточным. Например, согласно [3] или [41], типичный компилятор для ЦПОС (поддерживающий только традиционные оптимизации) генерирует код, который по времени выполнения может уступать оптимальному в 5-10 и более раз.
В течение последних лет прилагаются значительные усилия по разработке специальных методов оптимизации программ для ILP-процессоров, направленных на выявление и расширение программного параллелизма на уровне команд. Настоящая работа содержит обзор таких методов.
В разделе 2 дается краткий обзор ILP-процессоров и их основных характеристик. Раздел 3 посвящен критериям оптимизации кода для ILP-процессоров. В разделе 4 представлена примерная схема работы компилятора, характеризуются основные задачи, связанные с оптимизацией кода для ILP-процессоров. В разделе 5 дается обзор способов формирования областей (фрагментов компилируемой программы), в рамках которых возможно эффективное распараллеливание. В разделе 6 описываются методы оптимизации, направленные на усиление внутреннего программного параллелизма в рамках выделенных областей. В разделе 7 рассматриваются методы распараллеливания кода в предварительно выделенных областях. Раздел 8 посвящен специфике оптимизации кода для ЦПОС. В разделе 9 приводится информация о языковых расширениях и их роли в увеличении эффективности процессоров. В заключении (раздел 10) представлены некоторые из актуальных нерешенных до настоящего время проблем оптимизации кода для ILP-процессоров.
Другие работы
Подъемник гидравлический грузоподъемностью 15 т
proekt-sto
: 21 января 2022
3 Конструктивная разработка подъемника
3.1 Общие сведения
3.2 Обзор существующих конструкций
3.3 Назначение конструкции
3.4 Устройство конструкции
3.5 Принцип действия конструкции
3.6 Расчет гидропривода
3.7 Расчет подшипников
3.8 Расчёт посадки подшипника
3.9 Техника безопасности при работе с подъёмником
1000 руб.
Программное обеспечение схемотехнических устройств. Билет 25 (1)
tatacava1982
: 21 октября 2020
1. Назначение программ моделирования.
2. Назначение опции EDITORS?
3. Как обеспечить на поле схемы индикацию номеров узлов?
4. Какие параметры могут быть рассчитаны при временном анализе?
5. Какую форму имеет сигнал пульсирующего источника?
100 руб.
Теплотехника 5 задач Задача 2 Вариант 54
Z24
: 3 января 2026
Определить индикаторную Ni и эффективную Ne мощность четырехтактного двигателя внутреннего сгорания по его конструктивным параметрам и среднему индикаторному давлению рi. Диаметр цилиндра двигателя D, ход поршня S, угловая скорость коленчатого вала Ω, мин-1, число цилиндров Z, среднее индикаторное давление рi и механический КПД ηм выбрать из табл. 2.
Ответить на вопросы:
Каковы основные различия в работе двухтактного и четырехтактного двигателей внутреннего сгорания?
Каковы преимущества и
200 руб.
Итоговая работа По дисциплине: «Специальные главы математики» билет № 6
opa154
: 18 октября 2019
Билет № 6
1. Вычислить интеграл с точностью 0,001, раскладывая подынтегральную функцию в степенной ряд:
2. Разложить функцию в ряд Фурье на данном отрезке (период Т):
3. Вычислить :
а) ; б) .)
4. Вычислить интеграл по замкнутому контуру с помощью вычетов:
150 руб.