Обзор методов оптимизации кода для процессоров с поддержкой параллелизма на уровне команд
Состав работы
|
|
|
|
Необходимые программы
Работа представляет собой 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-процессоров.
Другие работы
Зачет по МОР. Билет №12
max23
: 1 ноября 2016
В цехе предприятия имеются 5 универсальных станков, которые могут выполнять четыре вида работ. Производительность каждого станка при выполнении каждой работы задается матрицей С. Найти наиболее рациональное распределение работ между станками, максимизирующее суммарную производительность станков, если каждый станок можно загружать только одной работой.
((8&12&6&4@7&13&5&4@8&4&14&3@11&7&7&6@8&1&3&6))
Решить графически игру, заданную платежной матрицей:
((8&5&3&6&7@4&7&9&5&8))
200 руб.
Контрольная работа №1 по дисциплине: Физика (часть 1). Вариант №1
Учеба "Под ключ"
: 30 июня 2017
Задача №1
При горизонтальном полёте со скоростью 250 м/с снаряд массой 8 кг разорвался на две части. Большая часть массой 6 кг получила скорость 400 м/с в направлении полёта снаряда. Вычислите модуль и определите направление скорости меньшей части снаряда.
Задача №2
В деревянный шар массой 8 кг, подвешенный на нити длиной 1,8 м, попадает горизонтально летящая пуля массой 4 г. С какой скоростью летела пуля, если нить с шаром и застрявшей в нем пулей отклонилась от вертикали на угол 3 град? Разме
800 руб.
Контрольная работа по дисциплине: Исследование операций. Вариант №2. Многокритериальная оптимизация в принятии решений: постановка задачи, методы решения
IT-STUDHELP
: 11 июля 2020
Контрольная работа в виде реферата.
Вариант 2
Многокритериальная оптимизация в принятии решений: постановка задачи, методы решения
Оглавление
Введение 3
1. Основные понятия исследования операций 4
2. Теоретические основы принятия решений 6
2.1. Основные понятия теория принятия решений в рамках теории полезности 6
2.2. Классификация и виды задач принятия решений 8
3. Многокритериальная оптимизация в принятии решений 11
4. Методы решения задачи многокритериальной оптимизации 14
Заключение 19
Спи
300 руб.
Будівництво 16-ти поверхового будинку житлового масиву «Оболонь» м. Київ
GnobYTEL
: 21 мая 2012
1 Архітектурно-будівельний розділ ___
1.1 Адміністративно-географічне положення ____
1.2 Загальна характеристика району будівництва і об’єкту ___
1.3 Ґрунти основи ___
1.4 Об’ємно – планувальні рішення будівлі ___
1.5 Зовнішні інженерні мережі ___
1.5.1 Водопостачання ___
1.5.2 Каналізація ___
1.5.3 Газопостачання ___
1.5.4 Енергопостачання ___
1.5.5 Теплопостачання ___
1.6 Телефонізація, радіофікація й телебачення ___
1.7
450 руб.