|
|||||||
|
|
Авторы: А.В. Ануфриенко, Н.В. Панов, В.Н. Касьянов, Р.И. Идрисов
Информация о курсе
Курс направлен на изучение основ оптимизации программ при помощи инструментов Intel. Для понимания лекционных материалов требуются базовые навыки программирования на языках C и Fortran. На первой лекции приводится краткий обзор эволюции возможностей массовых процессоров, затем обозначаются основные оптимизационные моменты и роль компилятора в процессе оптимизации. На последующих лекциях оптимизационные преобразования рассматриваются как с точки зрения улучшения производительности программ вручную, так и при помощи компилятора Intel в автоматическом режиме. Кроме простых скалярных оптимизаций рассматриваются векторизация, распараллеливание и межпроцедурные оптимизации. В качестве инструмента для анализа производительности и оценки эффективности программы используется VTune. Записаться на обучение
просмотров: 0
|
загрузок: 0
1.
На лекции рассматривается упрощённая модель процессора, составляющие его компоненты. Рассматривается многоуровневая модель памяти, использование регистров и оперативной памяти, механизм упреждающей выборки, предсказание переходов. Конвейер. Векторные инструкции. Многоядерность и параллельное выполнение инструкций. Место и роль компилятора в процессе создания эффективного приложения.
просмотров: 0
|
загрузок: 0
2.
Рассматривается анализ производительности приложения при помощи VTune. Выявление критических участков кода, сбор информации о таких событиях как промахи кэширования, неправильное предсказание переходов. Оценка эффективности использования системных ресурсов. Общие рекомендации по использованию VTune в процессе оптимизации работы приложения.
просмотров: 0
|
загрузок: 0
3.
Архитектура компилятора Intel, его основные компоненты. Синтаксический анализ, дерево разбора. Внутреннее представление компилятора. Вводится понятие информационной зависимости и графов, которые используются при оптимизации программ. Форма с однократным присваиванием. Рассматриваются простейшие операции, позволяющие улучшить производительность кода.
просмотров: 0
|
загрузок: 0
4.
Рассматриваются простые оптимизации циклов, выполняемые в автоматическом режиме компилятором Intel. Распознание и классификация циклов. Вынос инвариантов и условных переходов. Разбиение, объединение, развёртка, расщепление и перестановка циклов. Особенности анализа зависимостей в циклических конструкциях. Нормализация циклов и распознание индукционных переменных.
просмотров: 0
|
загрузок: 0
5.
История возникновения и развития векторного расширения в массовых процессорах Intel. Способы использования векторных инструкций и их набор. Векторизация, осуществляемая явным образом при помощи вызова специфических инструкций и автоматическая векторизация при помощи компилятора Intel.
просмотров: 0
|
загрузок: 0
6.
История развития многоядерных процессоров Intel и актуальность создания параллельных программ. Различные модели использования памяти в многопроцессорных системах. Плюсы и минусы многопоточных программ. Возможности компилятора Intel по автоматическому распараллеливанию программ.
7.
Использование OpenMP для создания параллельных приложений. Достоинства и недостатки модели, используемой в рамках OpenMP. Основные возможности и директивы управления параллельными вычислениями. Синхронизация и накладные расходы.
просмотров: 0
|
загрузок: 0
8.
Хороший стиль программирования и актуальность различных типов межпроцедурных оптимизаций. Анализ совмещений и распространение информации между процедурами. Управление процессом подстановки при помощи директив и опций командной строки. Частичная подстановка и клонирование процедур. Специфические оптимизации объектно-ориентированных языков программирования.
просмотров: 0
|
загрузок: 0
9.
Компиляция приложения, снабженного механизмом сбора информации для динамического профилирования. Плюсы и минусы использования динамической памяти. Способы улучшения работы с динамической памятью. Кодогенератор, задачи и особенности, возникающие в процессе генерации кода. Планирование инструкций.
|
![]() |
|
|||||||||||||||||||||||||||||||||||||||||
|
|||
|
|||
|
Курсы |
Учебные программы |
Учебники |
Вопросы и Ответы |
Форум |
Новости |
Помощь
Телефон: +7 (499) 253-9312, 253-9313, факс: +7 (499) 253-9310, email: info@intuit.ru © INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование, 2003-2011 |
|
Проект Издательства "Открытые Системы". Партнеры: РМ Телеком, KRAFTWAY COMPUTERS. |
|