игра брюс 2048
Главная / Программирование / Введение в оптимизацию приложений с использованием компиляторов 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)

 (2)

 (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) это программный интерфейс, который рассчитывает выгоду от применения параллелизации 




Главная / Программирование / Введение в оптимизацию приложений с использованием компиляторов Intel / Тест 5