Главная / Программирование /
Введение в оптимизацию приложений с использованием компиляторов Intel / Тест 5
Введение в оптимизацию приложений с использованием компиляторов Intel - тест 5
Упражнение 1:
Номер 1
Какие тенденции можно заметить в развитии процессоров?
Ответ:
 (1) добавляется больше параллелизма 
 (2) параллелизма становится меньше 
 (3) понижается скорость вычислений 
 (4) ничего из перечисленного 
Номер 2
Что можно отнести к параллельному исполнению?
Ответ:
 (1) векторные операции 
 (2) скалярные операции 
 (3) безусловный переход 
 (4) конвейеризацию 
Номер 3
Что такое распараллеливание программы?
Ответ:
 (1) ускоренная компиляция программы 
 (2) лицензированное копирование программы 
 (3) трансформация последовательно исполняемой программы в параллельную 
 (4) одновременная компиляция и исполнение одной и той же программы 
Упражнение 2:
Номер 1
Векторизация циклов - это
Ответ:
 (1) замена операций над скалярами на операции над векторами 
 (2) перевод растрового изображения в векторное 
 (3) внутренняя функция процессора 
 (4) компиляторная оптимизация 
Номер 2
Технология MMX предоставляет:
Ответ:
 (1) набор инструкций процессора для работы с пакетами целых чисел 
 (2) программный пакет для работы с мультимедиа 
 (3) дополнительные регистры 
 (4) возможность быстрой работы с числами с плавающей точкой 
 (5) дополнительный модуль процессора для конвертации аудио и видео 
Номер 3
SSE - это:
Ответ:
 (1) технология, позволяющая одновременно применять одну инструкцию к множеству данных 
 (2) технология, позволяющая выполнять код на стороне сервера 
 (3) потоковое SIMD-расширение процессора 
 (4) расширение для конфигурации сервера 
 (5) язык программирования
 
Упражнение 3:
Номер 1
SIMD - это:
Ответ:
 (1) принцип вычислений, позволяющий обеспечить параллелизм на уровне данных 
 (2) система Инструкций для Многопользовательского Доступа 
 (3) "Одни данные - много инструкций"  
 (4) вид компьютерной памяти 
 (5) "Одна инструкция - много данных" 
Номер 3
Для чего рекомендуется располагать поля структуры по убыванию размера?
Ответ:
 (1) для увеличения производительности 
 (2) для красоты 
 (3) для уменьшения размеров структуры в результате выравнивания 
Номер 4
Для чего нужна опция /Qvec-report ?
Ответ:
 (1) для управления векторизацией при компиляции 
 (2) для диагностики векторизации в процессе выполнения 
 (3) для диагностики векторизации в процессе компиляции 
 (4) для управления евристиками векторизации 
Упражнение 4:
Номер 1
Какой размер имеют регистры xmm?
Ответ:
 (1) 16 бит 
 (2) 32 бита 
 (3) 64 бита 
 (4) 128 бит 
 (5) 256 бит 
Номер 2
Какой размер имеют регистры ymm?
Ответ:
 (1) 16 бит 
 (2) 32 бита 
 (3) 64 бита 
 (4) 128 бит 
 (5) 256 бит 
Номер 3
Сколько регистров xmm поддерживается в emm64t
Ответ:
 (1) 4 
 (2) 8 
 (3) 16 
 (4) 32 
 (5) 64 
Упражнение 5:
Номер 1
Что такое ядро процессора?
Ответ:
 (1) часть процессора, которая извлекает из памяти и исполняет инструкции 
 (2) часть процессора, которая работает с общим кэшем 
 (3) часть процессора, которая выполняет арифметические операции над данными 
Номер 2
Что является серьезным ограничением производительности современных вычислительных систем?
Ответ:
 (1) количеством памяти 
 (2) тактовая частота процессоров 
 (3) скоростью взаимодействия с памятью 
 (4) наличие кэша второго уровня 
Номер 3
В чем цель автоматического распараллеливания?
Ответ:
 (1) использование ресурсов многопроцессорной вычислительной системы без переписывания кода 
 (2) сделать более качественную, по сравнению с ручной, параллелизацию 
 (3) освободить программистов от ручной параллелизации 
Упражнение 6:
Номер 1
Назовите плюсы использования многопоточных приложений.
Ответ:
 (1) объем используемой оперативной памяти уменьшается пропорционально кол-ву используемых реальных ядер 
 (2) вычислительные ресурсы увеличиваются пропорционально кол-ву используемых реальных ядер 
 (3) уменьшается общее количество инструкций процессора 
Номер 2
Назовите минусы использования многопоточных приложений.
Ответ:
 (1) усложнение разработки 
 (2) создание потоков имеет свою цену 
 (3) объем используемой оперативной памяти увеличивается пропорционально кол-ву используемых ядер 
 (4) потоки конкурируют за ресурсы 
 (5) необходимость синхронизировать потоки 
Номер 3
На какие типы по использованию памяти делятся многопроцессорные системы?
Ответ:
 (1) системы с общей памятью 
 (2) системы с распределенной памятью 
 (3) системы со случайным доступом к памяти 
 (4) системы с неоднородным доступом к памяти 
Упражнение 7:
Номер 1
Какая директива может сообщить компилятору, что вызов функции в следующем цикле безопасен для параллельного выполнения?
Ответ:
 (1) #pragma concurrent call
 
 (2) #pragma concurrentize
 
 (3) #pragma prefer serial
 
 (4) #pragma serial
 
Номер 2
Какая директива может заставить компилятор параллелизовать следующий цикл, если это безопасно?
Ответ:
 (1) #pragma prefer concurrent
 
 (2) #pragma concurrentize
 
 (3) #pragma prefer serial
 
 (4) #pragma serial
 
Номер 3
Какая директива предлагает компилятору не параллелизировать следующий цикл?
Ответ:
 (1) #pragma prefer concurrent
 
 (2) #pragma no concurrentize
 
 (3) #pragma prefer serial
 
 (4) #pragma serial
 
Упражнение 8:
Номер 1
Что сообщает /Qpar-report3?
Ответ:
 (1) сообщает какие зависимости препятствуют векторизации 
 (2) сообщает порядок выполнения итераций 
 (3) сообщает причины по которым компилятор не параллелизует тот или иной цикл 
 (4) информирует, если параллелизация невыгодна 
Номер 2
Что такое "предвыборка"?
Ответ:
 (1) загрузка данных из относительно медленной памяти в кэш после того, как эта память непосредственно потребовалась процессору 
 (2) загрузка данных из кэша в память до того, как эти данные непосредственно потребовались процессору 
 (3) загрузка данных из относительно медленной памяти в кэш до того, как эта память непосредственно потребовалась процессору 
 (4) чтение адресов памяти с данными для последующей загрузки в кэш 
Номер 3
Что такое OpenMP?
Ответ:
 (1) это программный интерфейс, который поддерживает многопроцессорное программирование с общей памятью 
 (2) это программный интерфейс, который проверяет корректность параллелизации 
 (3) это программный интерфейс, который рассчитывает выгоду от применения параллелизации