игра брюс 2048
Главная / Программирование / Оптимизация приложений с использованием компиляторов Intel. Уровень 1 / Тест 1

Оптимизация приложений с использованием компиляторов Intel. Уровень 1 - тест 1

Упражнение 1:
Номер 1
Устройство управления (CU) предназначено для выполнения следующих функций 

Ответ:

 (1) дешифрация инструкций 

 (2) управляет ALU 

 (3) пересылка данных 

 (4) выполнение инструкций 

 (5) запуск ALU 


Номер 2
Что такое производительность ЦП?

Ответ:

 (1) передачи данных 

 (2) среднее время выполнения команд 

 (3) скорость передачи данных по шине 

 (4) число задач, выполняемых одновременно 


Номер 3
Какие факторы не влияют на производительность процессора?

Ответ:

 (1) тактовая частота процессора 

 (2) качество предсказания переходов 

 (3) используемая операционная система 


Номер 4
Современные процессоры Intel имеют архитектуру

Ответ:

 (1) CISC 

 (2) RISC 

 (3) гибрид CISC и RISC 


Номер 5
Выберете неверное утверждение

Ответ:

 (1) компилятор — часть микропроцессора, отвечающая за перевод исходной программы на язык машинных команд или ассемблер 

 (2) компилятор — транслятор, который осуществляет перевод исходной программы на язык машинных команд или ассемблер 

 (3) только с помощью компилятора можно показать рост производительности МП, связанный с новыми командами, увеличением количества регистров и т.д. 


Номер 6
Для пересылки данных между ЦП и памятью, а также между ЦП и периферийными устройствами используются:

Ответ:

 (1) системные регистры 

 (2) арифметико-логическое устройство (ALU) 

 (3) системная шина 

 (4) оперативная память (RAM) 


Упражнение 2:
Номер 1
Для чего предназначен VTune™ Performance  Analyzer?

Ответ:

 (1) для оптимизации скорости работы приложений 

 (2) для анализа производительности приложения 

 (3) для уменьшения размера приложения 

 (4) для ускорения компиляции приложения 


Номер 2
VTune поддерживает языки:

Ответ:

 (1) только C/C++ 

 (2) только языки, поддерживаемые компилятором Intel 

 (3) только языки, поддерживаемые Microsoft Visual Studio 

 (4) ни один из перечисленных ответов 


Номер 3
Какие операционные системы поддерживаются VTune?

Ответ:

 (1) OS/2 

 (2) VAX-VMS 

 (3) PDP-11 

 (4) Windows 

 (5) Linux 


Номер 4
Какие инструменты входят в VTune?

Ответ:

 (1) Hotspots 

 (2) Locks and Waits 

 (3) Valgrind 

 (4) Concurrency 


Номер 5
Что не позволяет делать VTune?

Ответ:

 (1) анализировать исходный код программы 

 (2) дополнять программу средствами защиты от копирования 

 (3) просматривать ассеблерный код программы 

 (4) отправлять программу для анализа специалистами Intel 


Номер 6
Какие процессоры подойдут для использования VTune?

Ответ:

 (1) Intel Core i7 

 (2) AMD Athlon 

 (3) AMD Phenom 

 (4) Intel Core Duo 

 (5) Intel Pentium IV 

 (6) ничего из вышеперечисленного 


Упражнение 3:
Номер 1
Компиляторы каких языков предоставляет Intel® ?

Ответ:

 (1) C/C++ 

 (2) Java 

 (3) Oberon 

 (4) Forth 

 (5) Fortran 

 (6) C# 


Номер 2
Под какие платформы предоставляются компиляторы Intel?

Ответ:

 (1) Windows 

 (2) Linux 

 (3) MacOS X 

 (4) FreeBSD 

 (5) Solaris 


Номер 3
Какая из частей компилятора в большей степени определяется входным языком?

Ответ:

 (1) Front End 

 (2) Back End 

 (3) внутреннее представление 

 (4) кодогенератор 

 (5) профилировщик 


Номер 4
Базовые блоки это

Ответ:

 (1) блоки, из которых составляется программа в визуальном программировании 

 (2) участки кода, в которых производятся основные вычисления 

 (3) участки кода без переходов и меток 

 (4) участки кода, являющиеся входными для программы 

 (5) участки кода, являющиеся входными для функций программы 


Номер 5
Зависимость это

Ответ:

 (1) связь между утверждениями программы такая, что эти утверждения вычисляют общий результат 

 (2) связь между утверждениями программы такая, что перестановка утверждений изменяет выдаваемый программой результат 

 (3) связь между утверждениями программы такая, что утверждения используют общие данные при вычислениях 

 (4) связь между утверждениями программы такая, что утверждения изменяют одну и ту-же ячейку памяти 


Номер 6
Что относится к удалению "Мёртвого кода"

Ответ:

 (1) Удаление лишних программ 

 (2) Удаление неиспользуемых переменных 

 (3) Удаление лишних файлов 

 (4) Удаление лишних разделов 


Упражнение 4:
Номер 1
Что такое инвариант цикла?

Ответ:

 (1) выражения, независящие от индексных переменных цикла 

 (2) выражение, неизменное на каждой итерации 

 (3) выражение, используемое для проверки остановки выполнения цикла 

 (4) выражение, содержащее глобальные переменные 


Номер 2
Существует ли зависимость в этом фрагменте кода и, если она есть, определите тип зависимости:
DO I=1,N
  S1 A(I+1) =F(I)
  S2 F(I+1) = A(I)
END DO

Ответ:

 (1) зависимости нет 

 (2) зависимость превносимая циклом 

 (3) зависимость независимая от цикла 


Номер 3
Выберите случай FLOW зависимости между данными?

Ответ:

 (1) READ after WRITE 

 (2) WRITE after WRITE 

 (3) READ after READ 

 (4) WRITE after READ 


Номер 4
Выберите случай OUTPUT зависимости между данными?

Ответ:

 (1) READ after WRITE 

 (2) WRITE after WRITE 

 (3) READ after READ 

 (4) WRITE after READ 


Номер 5
Что такое "горячее место" программы?

Ответ:

 (1) строка, написание которой заняло наибольшее время 

 (2) ключевое присваивание 

 (3) наиболее часто исполняемый код 

 (4) весь код, кроме внешнего 

 (5) вызов математической библиотеки 


Номер 6
Различаются ли циклы с точки зрения оптимизации?

Ответ:

 (1) нет 

 (2) да, есть те, которые лучше оптимизируются 

 (3) нет, если переменные правильно именованы 

 (4) нет, если это компилятор Intel 


Упражнение 5:
Номер 1
Какие тенденции можно заметить в развитии процессоров?

Ответ:

 (1) добавляется больше параллелизма 

 (2) параллелизма становится меньше 

 (3) понижается скорость вычислений 

 (4) ничего из перечисленного 


Номер 2
Что такое распараллеливание программы?

Ответ:

 (1) ускоренная компиляция программы 

 (2) лицензированное копирование программы 

 (3) трансформация последовательно исполняемой программы в параллельную 

 (4) одновременная компиляция и исполнение одной и той же программы 


Номер 3
Технология MMX предоставляет:

Ответ:

 (1) набор инструкций процессора для работы с пакетами целых чисел 

 (2) программный пакет для работы с мультимедиа 

 (3) дополнительные регистры 

 (4) возможность быстрой работы с числами с плавающей точкой 

 (5) дополнительный модуль процессора для конвертации аудио и видео 


Номер 4
Для чего нужна опция /Qvec-report ?

Ответ:

 (1) для управления векторизацией при компиляции 

 (2) для диагностики векторизации в процессе выполнения 

 (3) для диагностики векторизации в процессе компиляции 

 (4) для управления евристиками векторизации 


Номер 5
Какой размер имеют регистры xmm?

Ответ:

 (1) 16 бит 

 (2) 32 бита 

 (3) 64 бита 

 (4) 128 бит 

 (5) 256 бит 


Номер 6
Сколько регистров xmm поддерживается в emm64t

Ответ:

 (1)

 (2)

 (3) 16 

 (4) 32 

 (5) 64 


Упражнение 6:
Номер 1
В чем цель автоматического распараллеливания?

Ответ:

 (1) использование ресурсов многопроцессорной вычислительной системы без переписывания кода 

 (2) сделать более качественную, по сравнению с ручной, параллелизацию 

 (3) освободить программистов от ручной параллелизации 


Номер 2
Назовите плюсы использования многопоточных приложений.

Ответ:

 (1) объем используемой оперативной памяти уменьшается пропорционально кол-ву используемых реальных ядер 

 (2) вычислительные ресурсы увеличиваются пропорционально кол-ву используемых реальных ядер 

 (3) уменьшается общее количество инструкций процессора 


Номер 3
На какие типы по использованию памяти делятся многопроцессорные системы?

Ответ:

 (1) системы с общей памятью 

 (2) системы с распределенной памятью 

 (3) системы со случайным доступом к памяти 

 (4) системы с неоднородным доступом к памяти 


Номер 4
Какая директива может сообщить компилятору, что вызов функции в следующем цикле безопасен для параллельного выполнения?

Ответ:

 (1) #pragma concurrent call 

 (2) #pragma concurrentize 

 (3) #pragma prefer serial 

 (4) #pragma serial 


Номер 5
Что сообщает /Qpar-report3?

Ответ:

 (1) сообщает какие зависимости препятствуют векторизации 

 (2) сообщает порядок выполнения итераций 

 (3) сообщает причины по которым компилятор не параллелизует тот или иной цикл 

 (4) информирует, если параллелизация невыгодна 


Номер 6
Что такое OpenMP?

Ответ:

 (1) это программный интерфейс, который поддерживает многопроцессорное программирование с общей памятью 

 (2) это программный интерфейс, который проверяет корректность параллелизации 

 (3) это программный интерфейс, который рассчитывает выгоду от применения параллелизации 


Упражнение 7:
Номер 1
Для распараллеливания цикла нужно использовать:

Ответ:

 (1) #pragma omp parallel for 

 (2) #pragma omp parallel while 

 (3) #pragma omp single 

 (4) #pragma omp set parallel for 


Номер 2
Директива nowait используется для:

Ответ:

 (1) избавления от надписи "Press any key to exit" в конце выполнения программы 

 (2) указания компилятору, что необходимо начинать код, не дожидаясь окончания инициализации 

 (3) отключения неявной синхронизации потоков в конце цикла 

 (4) отключения искусственных задержек в потоках 


Номер 3
Сколько нитей могут находиться одновременно в критической секции?

Ответ:

 (1)

 (2)

 (3)

 (4) возможно произвольное количество, поскольку OpenMP не ограничивает число потоков 


Номер 4
Какая директива используется для того, чтобы обозначить участок кода, исполняемый только главным потоком?

Ответ:

 (1) SOLO 

 (2) MASTER 

 (3) ONLYONE 

 (4) OWNER 

 (5) SUPER 

 (6) CREATOR 


Номер 5
Какая директива означает последовательное исполнение?

Ответ:

 (1) SERIAL 

 (2) ORDERED 

 (3) SOLO 

 (4) MASTER 

 (5) guided 


Номер 6
Какие из перечисленных идентификаторов могут обозначать тип диспецеризации?

Ответ:

 (1) dispatch 

 (2) nodispatch 

 (3) runtime 

 (4) static 

 (5) serial 

 (6) ordered 


Упражнение 8:
Номер 1
Что из перечисленного относят к хорошему стилю программирования?

Ответ:

 (1) наличие безусловных переходов 

 (2) наличие операторов выхода из цикла 

 (3) модульность 

 (4) наличие меток 

 (5) короткие имена переменных 

 (6) ничего из перечисленного 


Номер 2
Что из перечисленного относят к плохому стилю программирования?

Ответ:

 (1) наличие циклических конструкций 

 (2) использование глобальных переменных 

 (3) длинные имена функций 

 (4) наличие операторов типа if 

 (5) ничего из перечисленного 


Номер 3
Какие цели преследует правильное форматирование кода?

Ответ:

 (1) ускоряет инлайнинг 

 (2) разделяет области видимости переменных 

 (3) код становится проще читать 

 (4) компиляторные оптимизации упрощаются 

 (5) ничего из перечисленного 


Номер 4
Какие недостатки имеют оптимизации процедурного уровня?

Ответ:

 (1) могут быть использованы для процедур, но не для функций 

 (2) они лишены недостатков 

 (3) не учитываются переменные типа указатель 

 (4) неизвестны свойства глобальных переменных 

 (5) не производится векторизация 


Номер 5
Для включения межфайловой оптимизации необходимо использовать ключ компилятора

Ответ:

 (1) /Qipf 

 (2) /Qmulti-file 

 (3) /Qipo 

 (4) /Om 


Номер 6
Для выключения межпроцедурных оптимизаций используется ключ компилятора

Ответ:

 (1) /Qip- 

 (2) /Qip-disable 

 (3) /Qipo-disable 

 (4) /Qno-ipo 


Упражнение 9:
Номер 1
Когда требуются динамические структуры данных?

Ответ:

 (1) в случае, когда имеется очень часто изменяемый итератор цикла 

 (2) когда величина итератора может выходить за пределы типа данных  

 (3) для создания больших структур данных, размер которых не известен во время компиляции 

 (4) когда требуется в одной переменной хранить и строку и число 

 (5) когда отсутствует статистика запусков 


Номер 2
Динамическое выделение памяти

Ответ:

 (1) ведет к отказу от использования статистики запусков 

 (2) использует менеджер памяти  

 (3) используется для разделения блоков программы 

 (4) обязательно при обработке быстроизменяющихся переменных 

 (5) необходимо для хранения структурированных данных 


Номер 3
В чем особенность хранения списков в динамической памяти?

Ответ:

 (1) элементы могут быть расположены в памяти случайным образом 

 (2) элементы в любой момент могут быть уничтожены сборщиком мусора 

 (3) в списке должно быть больше пяти элементов 


Номер 4
Каким образом можно улучшить размещение элементов списка в динамической памяти

Ответ:

 (1) отказавшись от сборщика мусора 

 (2) при помощи инлайнинга 

 (3) при помощи контейнеров 

 (4) используя несколько процессоров 


Номер 5
Связанный динамический список хуже линейного потому что

Ответ:

 (1) снижается вероятность попадания в кэш при последовательном обходе элементов 

 (2) множество возможных типов данных меньше 

 (3) добавляются накладные расходы на хранение ссылки 

 (4) данные ссылок постоянно меняются, а элементы перемещаются друг относительно друга 


Номер 6
Статический список лучше динамического потому что

Ответ:

 (1) не требует накладных расходов по выделению памяти 

 (2) может содержать элементы произвольного размера 

 (3) моделируется на основе статистики 

 (4) может содержать данные типа "запись" 


Упражнение 10:
Номер 1
Что такое производительность ЦП?

Ответ:

 (1) передачи данных 

 (2) среднее время выполнения команд 

 (3) скорость передачи данных по шине 

 (4) число задач, выполняемых одновременно 


Номер 2
Какое событие отвечает за количество исполненных инструкций?

Ответ:

 (1) L2_LINES_IN.SELF.DEMAND 

 (2) INST_RETIRED.ANY 

 (3) BR_INST_RETIRED.MISPRED 

 (4) ничего из вышеперечисленного 


Номер 3
Что такое продвижение (протяжка) констант?

Ответ:

 (1) увеличение их значений для улучшения качества программы 

 (2) увеличение их значений для ускорения программы 

 (3) замена использования константы на её значение 

 (4) константное увеличение времени жизни переменной 


Номер 4
Что может стать причиной непременимости оптимизации цикла?

Ответ:

 (1) ничего 

 (2) одновременный запуск компилятора и среды Visual Studio 

 (3) неудачная форма записи цикла 

 (4) длинное имя переменной 

 (5) длинное имя переменной, только если это итератор 


Номер 5
Есть ли определённые требования к записи циклов?

Ответ:

 (1) никаких требований не существует 

 (2) существуют требования, но их невозможно сформулировать 

 (3) требования есть только на старых языках программирования 

 (4) есть определённый набор требований к "хорошим" циклам для оптимизации 


Номер 6
На какие типы по использованию памяти делятся многопроцессорные системы?

Ответ:

 (1) системы с общей памятью 

 (2) системы с распределенной памятью 

 (3) системы со случайным доступом к памяти 

 (4) системы с неоднородным доступом к памяти 




Главная / Программирование / Оптимизация приложений с использованием компиляторов Intel. Уровень 1 / Тест 1