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

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

Правильные ответы выделены зелёным цветом.
Все ответы: Данная сертификация проверяет знания оптимизации программ при помощи инструментов Intel.
Устройство управления (CU) предназначено для выполнения следующих функций
(1) дешифрация инструкций
(2) управляет ALU
(3) пересылка данных
(4) выполнение инструкций
(5) запуск ALU
Для чего предназначен VTune™ Performance Analyzer?
(1) для оптимизации скорости работы приложений
(2) для анализа производительности приложения
(3) для уменьшения размера приложения
(4) для ускорения компиляции приложения
Компиляторы каких языков предоставляет Intel® ?
(1) C/C++
(2) Java
(3) Oberon
(4) Forth
(5) Fortran
(6) C#
Что такое инвариант цикла?
(1) выражения, независящие от индексных переменных цикла
(2) выражение, неизменное на каждой итерации
(3) выражение, используемое для проверки остановки выполнения цикла
(4) выражение, содержащее глобальные переменные
Какие тенденции можно заметить в развитии процессоров?
(1) добавляется больше параллелизма
(2) параллелизма становится меньше
(3) понижается скорость вычислений
(4) ничего из перечисленного
В чем цель автоматического распараллеливания?
(1) использование ресурсов многопроцессорной вычислительной системы без переписывания кода
(2) сделать более качественную, по сравнению с ручной, параллелизацию
(3) освободить программистов от ручной параллелизации
Для распараллеливания цикла нужно использовать:
(1) #pragma omp parallel for
(2) #pragma omp parallel while
(3) #pragma omp single
(4) #pragma omp set parallel for
Что из перечисленного относят к хорошему стилю программирования?
(1) наличие безусловных переходов
(2) наличие операторов выхода из цикла
(3) модульность
(4) наличие меток
(5) короткие имена переменных
(6) ничего из перечисленного
Когда требуются динамические структуры данных?
(1) в случае, когда имеется очень часто изменяемый итератор цикла
(2) когда величина итератора может выходить за пределы типа данных
(3) для создания больших структур данных, размер которых не известен во время компиляции
(4) когда требуется в одной переменной хранить и строку и число
(5) когда отсутствует статистика запусков
Что такое производительность ЦП?
(1) передачи данных
(2) среднее время выполнения команд
(3) скорость передачи данных по шине
(4) число задач, выполняемых одновременно
Что такое производительность ЦП?
(1) передачи данных
(2) среднее время выполнения команд
(3) скорость передачи данных по шине
(4) число задач, выполняемых одновременно
VTune поддерживает языки:
(1) только C/C++
(2) только языки, поддерживаемые компилятором Intel
(3) только языки, поддерживаемые Microsoft Visual Studio
(4) ни один из перечисленных ответов
Под какие платформы предоставляются компиляторы Intel?
(1) Windows
(2) Linux
(3) MacOS X
(4) FreeBSD
(5) Solaris
Существует ли зависимость в этом фрагменте кода и, если она есть, определите тип зависимости: DO I=1,N S1 A(I+1) =F(I) S2 F(I+1) = A(I) END DO
(1) зависимости нет
(2) зависимость превносимая циклом
(3) зависимость независимая от цикла
Что такое распараллеливание программы?
(1) ускоренная компиляция программы
(2) лицензированное копирование программы
(3) трансформация последовательно исполняемой программы в параллельную
(4) одновременная компиляция и исполнение одной и той же программы
Назовите плюсы использования многопоточных приложений.
(1) объем используемой оперативной памяти уменьшается пропорционально кол-ву используемых реальных ядер
(2) вычислительные ресурсы увеличиваются пропорционально кол-ву используемых реальных ядер
(3) уменьшается общее количество инструкций процессора
Директива nowait используется для:
(1) избавления от надписи "Press any key to exit" в конце выполнения программы
(2) указания компилятору, что необходимо начинать код, не дожидаясь окончания инициализации
(3) отключения неявной синхронизации потоков в конце цикла
(4) отключения искусственных задержек в потоках
Что из перечисленного относят к плохому стилю программирования?
(1) наличие циклических конструкций
(2) использование глобальных переменных
(3) длинные имена функций
(4) наличие операторов типа if
(5) ничего из перечисленного
Динамическое выделение памяти
(1) ведет к отказу от использования статистики запусков
(2) использует менеджер памяти
(3) используется для разделения блоков программы
(4) обязательно при обработке быстроизменяющихся переменных
(5) необходимо для хранения структурированных данных
Какое событие отвечает за количество исполненных инструкций?
(1) L2_LINES_IN.SELF.DEMAND
(2) INST_RETIRED.ANY
(3) BR_INST_RETIRED.MISPRED
(4) ничего из вышеперечисленного
Какие факторы не влияют на производительность процессора?
(1) тактовая частота процессора
(2) качество предсказания переходов
(3) используемая операционная система
Какие операционные системы поддерживаются VTune?
(1) OS/2
(2) VAX-VMS
(3) PDP-11
(4) Windows
(5) Linux
Какая из частей компилятора в большей степени определяется входным языком?
(1) Front End
(2) Back End
(3) внутреннее представление
(4) кодогенератор
(5) профилировщик
Выберите случай FLOW зависимости между данными?
(1) READ after WRITE
(2) WRITE after WRITE
(3) READ after READ
(4) WRITE after READ
Технология MMX предоставляет:
(1) набор инструкций процессора для работы с пакетами целых чисел
(2) программный пакет для работы с мультимедиа
(3) дополнительные регистры
(4) возможность быстрой работы с числами с плавающей точкой
(5) дополнительный модуль процессора для конвертации аудио и видео
На какие типы по использованию памяти делятся многопроцессорные системы?
(1) системы с общей памятью
(2) системы с распределенной памятью
(3) системы со случайным доступом к памяти
(4) системы с неоднородным доступом к памяти
Сколько нитей могут находиться одновременно в критической секции?
(1) 0
(2) 1
(3) 2
(4) возможно произвольное количество, поскольку OpenMP не ограничивает число потоков
Какие цели преследует правильное форматирование кода?
(1) ускоряет инлайнинг
(2) разделяет области видимости переменных
(3) код становится проще читать
(4) компиляторные оптимизации упрощаются
(5) ничего из перечисленного
В чем особенность хранения списков в динамической памяти?
(1) элементы могут быть расположены в памяти случайным образом
(2) элементы в любой момент могут быть уничтожены сборщиком мусора
(3) в списке должно быть больше пяти элементов
Что такое продвижение (протяжка) констант?
(1) увеличение их значений для улучшения качества программы
(2) увеличение их значений для ускорения программы
(3) замена использования константы на её значение
(4) константное увеличение времени жизни переменной
Современные процессоры Intel имеют архитектуру
(1) CISC
(2) RISC
(3) гибрид CISC и RISC
Какие инструменты входят в VTune?
(1) Hotspots
(2) Locks and Waits
(3) Valgrind
(4) Concurrency
Базовые блоки это
(1) блоки, из которых составляется программа в визуальном программировании
(2) участки кода, в которых производятся основные вычисления
(3) участки кода без переходов и меток
(4) участки кода, являющиеся входными для программы
(5) участки кода, являющиеся входными для функций программы
Выберите случай OUTPUT зависимости между данными?
(1) READ after WRITE
(2) WRITE after WRITE
(3) READ after READ
(4) WRITE after READ
Для чего нужна опция /Qvec-report ?
(1) для управления векторизацией при компиляции
(2) для диагностики векторизации в процессе выполнения
(3) для диагностики векторизации в процессе компиляции
(4) для управления евристиками векторизации
Какая директива может сообщить компилятору, что вызов функции в следующем цикле безопасен для параллельного выполнения?
(1) #pragma concurrent call
(2) #pragma concurrentize
(3) #pragma prefer serial
(4) #pragma serial
Какая директива используется для того, чтобы обозначить участок кода, исполняемый только главным потоком?
(1) SOLO
(2) MASTER
(3) ONLYONE
(4) OWNER
(5) SUPER
(6) CREATOR
Какие недостатки имеют оптимизации процедурного уровня?
(1) могут быть использованы для процедур, но не для функций
(2) они лишены недостатков
(3) не учитываются переменные типа указатель
(4) неизвестны свойства глобальных переменных
(5) не производится векторизация
Каким образом можно улучшить размещение элементов списка в динамической памяти
(1) отказавшись от сборщика мусора
(2) при помощи инлайнинга
(3) при помощи контейнеров
(4) используя несколько процессоров
Что может стать причиной непременимости оптимизации цикла?
(1) ничего
(2) одновременный запуск компилятора и среды Visual Studio
(3) неудачная форма записи цикла
(4) длинное имя переменной
(5) длинное имя переменной, только если это итератор
Выберете неверное утверждение
(1) компилятор — часть микропроцессора, отвечающая за перевод исходной программы на язык машинных команд или ассемблер
(2) компилятор — транслятор, который осуществляет перевод исходной программы на язык машинных команд или ассемблер
(3) только с помощью компилятора можно показать рост производительности МП, связанный с новыми командами, увеличением количества регистров и т.д.
Что не позволяет делать VTune?
(1) анализировать исходный код программы
(2) дополнять программу средствами защиты от копирования
(3) просматривать ассеблерный код программы
(4) отправлять программу для анализа специалистами Intel
Зависимость это
(1) связь между утверждениями программы такая, что эти утверждения вычисляют общий результат
(2) связь между утверждениями программы такая, что перестановка утверждений изменяет выдаваемый программой результат
(3) связь между утверждениями программы такая, что утверждения используют общие данные при вычислениях
(4) связь между утверждениями программы такая, что утверждения изменяют одну и ту-же ячейку памяти
Что такое "горячее место" программы?
(1) строка, написание которой заняло наибольшее время
(2) ключевое присваивание
(3) наиболее часто исполняемый код
(4) весь код, кроме внешнего
(5) вызов математической библиотеки
Какой размер имеют регистры xmm?
(1) 16 бит
(2) 32 бита
(3) 64 бита
(4) 128 бит
(5) 256 бит
Что сообщает /Qpar-report3?
(1) сообщает какие зависимости препятствуют векторизации
(2) сообщает порядок выполнения итераций
(3) сообщает причины по которым компилятор не параллелизует тот или иной цикл
(4) информирует, если параллелизация невыгодна
Какая директива означает последовательное исполнение?
(1) SERIAL
(2) ORDERED
(3) SOLO
(4) MASTER
(5) guided
Для включения межфайловой оптимизации необходимо использовать ключ компилятора
(1) /Qipf
(2) /Qmulti-file
(3) /Qipo
(4) /Om
Связанный динамический список хуже линейного потому что
(1) снижается вероятность попадания в кэш при последовательном обходе элементов
(2) множество возможных типов данных меньше
(3) добавляются накладные расходы на хранение ссылки
(4) данные ссылок постоянно меняются, а элементы перемещаются друг относительно друга
Есть ли определённые требования к записи циклов?
(1) никаких требований не существует
(2) существуют требования, но их невозможно сформулировать
(3) требования есть только на старых языках программирования
(4) есть определённый набор требований к "хорошим" циклам для оптимизации
Для пересылки данных между ЦП и памятью, а также между ЦП и периферийными устройствами используются:
(1) системные регистры
(2) арифметико-логическое устройство (ALU)
(3) системная шина
(4) оперативная память (RAM)
Какие процессоры подойдут для использования VTune?
(1) Intel Core i7
(2) AMD Athlon
(3) AMD Phenom
(4) Intel Core Duo
(5) Intel Pentium IV
(6) ничего из вышеперечисленного
Что относится к удалению "Мёртвого кода"
(1) Удаление лишних программ
(2) Удаление неиспользуемых переменных
(3) Удаление лишних файлов
(4) Удаление лишних разделов
Различаются ли циклы с точки зрения оптимизации?
(1) нет
(2) да, есть те, которые лучше оптимизируются
(3) нет, если переменные правильно именованы
(4) нет, если это компилятор Intel
Сколько регистров xmm поддерживается в emm64t
(1) 4
(2) 8
(3) 16
(4) 32
(5) 64
Что такое OpenMP?
(1) это программный интерфейс, который поддерживает многопроцессорное программирование с общей памятью
(2) это программный интерфейс, который проверяет корректность параллелизации
(3) это программный интерфейс, который рассчитывает выгоду от применения параллелизации
Какие из перечисленных идентификаторов могут обозначать тип диспецеризации?
(1) dispatch
(2) nodispatch
(3) runtime
(4) static
(5) serial
(6) ordered
Для выключения межпроцедурных оптимизаций используется ключ компилятора
(1) /Qip-
(2) /Qip-disable
(3) /Qipo-disable
(4) /Qno-ipo
Статический список лучше динамического потому что
(1) не требует накладных расходов по выделению памяти
(2) может содержать элементы произвольного размера
(3) моделируется на основе статистики
(4) может содержать данные типа "запись"
На какие типы по использованию памяти делятся многопроцессорные системы?
(1) системы с общей памятью
(2) системы с распределенной памятью
(3) системы со случайным доступом к памяти
(4) системы с неоднородным доступом к памяти