Главная / Программирование /
Оптимизация приложений с использованием компиляторов Intel / Тест 2
Оптимизация приложений с использованием компиляторов Intel - тест 2
Упражнение 1:
Номер 1
Для чего предназначен VTune™ Performance Analyzer?
Ответ:
 (1) для оптимизации скорости работы приложений 
 (2) для анализа производительности приложения 
 (3) для уменьшения размера приложения 
 (4) для ускорения компиляции приложения 
Номер 2
Какую информацию позволяет получить VTune?
Ответ:
 (1) где тратится основное время 
 (2) почему программа недостаточно эффективна 
 (3) где находится лишний код 
 (4) где код неправильно отформатирован 
 (5) где нужно улучшать производительность приложения 
Номер 3
Какие требования к программам, анализируемым VTune?
Ответ:
 (1) использовать только язык С++ 
 (2) каждый исходный файл должен занимать не более 150 килобайт 
 (3) заголовочные файлы должны соответствовать стандарту VTune 
 (4) ни один из перечисленных ответов 
Упражнение 2:
Номер 1
VTune поддерживает языки:
Ответ:
 (1) только C/C++ 
 (2) только языки, поддерживаемые компилятором Intel 
 (3) только языки, поддерживаемые Microsoft Visual Studio 
 (4) ни один из перечисленных ответов 
Номер 2
Какие операционные системы поддерживаются VTune?
Ответ:
 (1) OS/2 
 (2) VAX-VMS 
 (3) PDP-11 
 (4) Windows 
 (5) Linux 
Номер 3
Какие возможности предоставляет VTune?
Ответ:
 (1) интеграция в Microsoft Visual Studio 
 (2) поддержка многоядерности и многопоточности 
 (3) обнаружение некорректной работы с памятью 
 (4) сбор и привязка к коду основных событий процессора 
 (5) учет энергопотребления процессора 
Упражнение 3:
Номер 1
Какие инструменты входят в VTune?
Ответ:
 (1) Hotspots 
 (2) Locks and Waits 
 (3) Valgrind 
 (4) Concurrency 
Номер 2
Какие функции выполняет Sampling?
Ответ:
 (1) определение проблемных мест в коде программы 
 (2) показывает распределение работы по потокам 
 (3) определение проблем производительности на уровне микроархитектуры 
 (4) производит бинарную инструментацию пользовательской программы 
Номер 3
Что такое профилирование программы?
Ответ:
 (1) бинарная инструментация 
 (2) сбор различных характеристик 
 (3) пересборка программы 
 (4) составление документации пользователя 
Упражнение 4:
Номер 1
За что отвечает Counter monitor?
Ответ:
 (1) за обнаружение критических участков памяти и соотнесение их с критическими участками кода 
 (2) за подсчет общего количества событий, без привязки к месту в программе, их вызвавших 
 (3) за сбор данных о последовательности вызовов функций 
Номер 2
Какое событие отвечает за количество тактов
процессора?
Ответ:
 (1) L2_LINES_IN.SELF.DEMAND
 
 (2) BUS_TRANS_ANY.ALL_AGENTS
 
 (3) CPU_CLK_UNHALTED.CORE
 
 (4) ничего из вышеперечисленного 
Номер 3
Какое событие отвечает за неправильно предсказанные ветвления?
Ответ:
 (1) L2_LINES_IN.SELF.DEMAND
 
 (2) INST_RETIRED.ANY
 
 (3) BR_INST_RETIRED.MISPRED
 
 (4) ничего из вышеперечисленного 
Упражнение 5:
Номер 1
Что может являться причиной плохого использования ресурсов программой?
Ответ:
 (1) конкуренция за ресурсы 
 (2) «Узкие места» - bottlenecks 
 (3) большое количество зависимостей по данным 
 (4) однопоточность 
Номер 2
Что такое критический код?
Ответ:
 (1) наиболее часто исполняемый участок программы 
 (2) код, удаление которого не приводит к изменениям 
 (3) код, который не может достоверно воспроизвести результат 
 (4) код, правильность которого не доказана 
 (5) участок программы, который не содержит комментариев разработчика 
Номер 3
Какие условия могут помешать векторизации?
Ответ:
 (1) никакие 
 (2) наличие зависимостей по итерациям 
 (3) наличие зависимостей по данным 
 (4) отсутствие зависимостей по данным 
 (5) отсутствие зависимостей по итерациям 
Упражнение 6:
Номер 1
Выберите случай FLOW
зависимости между данными?
Ответ:
 (1) READ after WRITE
 
 (2) WRITE after WRITE
 
 (3) READ after READ
 
 (4) WRITE after READ
 
Номер 2
Выберите случай OUTPUT
зависимости между данными?
Ответ:
 (1) READ after WRITE
 
 (2) WRITE after WRITE
 
 (3) READ after READ
 
 (4) WRITE after READ
 
Номер 3
Выберите случай ANTI
зависимости между данными?
Ответ:
 (1) READ after WRITE
 
 (2) WRITE after WRITE
 
 (3) READ after READ
 
 (4) WRITE after READ