Введение в оптимизацию производительности ПО
Материал из Computer Engineering Faculty.
Введение в оптимизацию производительности программного обеспечения — дисциплина по выбору для студентов третьего курса специальности специализированные компьютерные системы.
Разработка курса "Введение в оптимизацию производительности ПО" была инициирована и поддержана корпорацией Интел в рамках проекта "Multi-core Curriculum". Подробная информация о программе на сайте фирмы: http://www.intel.com/cd/software/university/asmo-na/eng/index.htm.
Лектор: Владимир Обризан, ассистент кафедры АПВТ.
После успешного завершения курса студенты будут знать:
- цикл оптимизации производительности последовательных и параллельных программ
- базовые сведения об микроархитектуре процессоров Intel
- основные проблемы производительности приложений и способы их решения
После успешного завершения курса студенты будут уметь:
- анализировать производительность приложений и обнаруживать проблемные места с использованием приложений Intel VTune Performance Analyzer, Intel Thread Checker, Intel Thread Profiler
- оптимизировать производительность приложений
Содержание |
Лекции
- Введение. Цикл оптимизации производительности. Конспект лекций. Слайды лекции (869 КБ).
- Базовые сведения об архитектуре микропроцессоров. Слайды лекции (407 КБ).
- Инструменты анализа производительности: Intel VTune Performance Analyzer. Слайды лекции на сайте Интел: [1].
- Доступ к памяти. Слайды лекции (242 КБ).
- Ветвления. Слайды лекции (698 КБ).
- Оптимизация циклов. Слайды лекции (67 КБ).
- Single Instruction Multiple Data: векторные операции. Слайды лекции (175 КБ).
- Оптимизирующие компиляторы. Слайды лекции (53 КБ).
- Инструменты отладки и оптимизации параллельных приложений: Intel VTune Thread Checker и Thread Profiler. Слайды лекции на сайте Интел: [2].
- Оптимизация параллельных приложений. Слайды лекции на сайте Интел: [3].
Лабораторные работы
- Инструмент анализа производительности Intel VTune Performance Analyzer: Sampling, Call Graph.
- Оптимизация доступа к памяти.
- Оптимизация ветвлений и циклов.
- Оптимизация параллельных приложений.
Расписание
См. расписание курса на сайте университета.
Литература
- The Software Optimization Cookbook. High-Performance Recipes for IA-32 Platforms. Second Edition, by Richard Gerber, Aart J.C. Bik, Kevin B. Smith, Xinmin Tian. Intel Press, 2006. P. 404. http://www.intel.com/intelpress
Смежные курсы
Ссылки
На английском
- http://www.intel.com/products/processor/manuals/, руководства по архитектурам и оптимизации для микропроцессоров Intel
- http://www.agner.org/optimize/, сайт Агнера Фога (Agner Fog), руководства по оптимизации С/С++, ассемблера для микропроцессоров Intel и AMD
- http://en.wikipedia.org/wiki/Category:Compiler_optimizations, коллекция статей по оптимизации
На русском
- Dr. Joseph M. Newcomer. Оптимизация – ваш злейший враг. RSDN Magazine #6-2004. http://rsdn.ru/?article/philosophy/Optimization.xml
- Сергей Сацкий, Роман Плеханов. Производительность компиляторов С++. RSDN Magazine #2-2007. http://rsdn.ru/article/devtools/CppPerformance.xml
MIT OpenCourseWare
На сайте Массачусетского технологического института доступны следующие открытые курсы по архитектурам компьютеров и оптимизации:
