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

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

Упражнение 1:
Номер 1
Векторизация циклов - это

Ответ:

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

 (2) перевод растрового изображения в векторное 

 (3) внутренняя функция процессора 

 (4) компиляторная оптимизация 


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

Ответ:

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

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

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

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

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


Номер 3
SSE - это:

Ответ:

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

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

 (3) потоковое SIMD-расширение процессора 

 (4) расширение для конфигурации сервера 

 (5) язык программирования  


Упражнение 2:
Номер 1
SIMD - это:

Ответ:

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

 (2) система Инструкций для Многопользовательского Доступа 

 (3) "Одни данные - много инструкций"  

 (4) вид компьютерной памяти 

 (5) "Одна инструкция - много данных" 


Номер 2
Какие из следующих опций позволят программе работать на любом процессоре?

Ответ:

 (1) -QxSSE4_1 

 (2) -arch:SSE3 

 (3) -QaxSSE3_1 

 (4) -QxSSE3 

 (5) -arch:SSE2_2 

 (6) -QaxSSE4_2 

 (7) -QxSSE2 


Номер 3
Что делает возможным проведение векторизации?

Ответ:

 (1) отсутствие зависимостей в цикле 

 (2) использование специальный типов данных 

 (3) подключение модуля <vector> 

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


Упражнение 3:
Номер 1
Что является с точки зрения компилятора векторной инструкцией

Ответ:

 (1) сложение векторов 

 (2) умножение матрицы на вектор 

 (3) свёртка вектора 

 (4) вычитание векторов 

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


Номер 2
Для выполнения векторной операции требуется

Ответ:

 (1) чтобы вектора составляли базис в n-мерном пространстве 

 (2) отсутствие коллинеарности векторов 

 (3) нормировка векторов 

 (4) модуль хотя бы одного из векторов не должен быть нулевым 

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


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

Ответ:

 (1) никогда 

 (2) могут 

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

 (4) только для операции сложения 

 (5) только для операции умножения 


Упражнение 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) специальный тип, применяемый при архивировании 

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

 (5) тип данных, составляющий скаляр 


Номер 2
Что происходит с нулевыми битами в упакованном типе данных?

Ответ:

 (1) ничего особенного 

 (2) незначимые нулевые биты опускаются 

 (3) сжимаются методом Хаффмана 

 (4) векторизуются 

 (5) скаляризуются 


Номер 3
Операции с упакованными типами данных это

Ответ:

 (1) только операции упаковки и распаковки 

 (2) операции, которые могут быть удалены из кода 

 (3) векторные операции 

 (4) операции, не учитывающие нулевые биты 

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


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

Ответ:

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

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

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

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


Номер 2
Для какой цели необходим интринсик __alignof__ ?

Ответ:

 (1) для выравнивания текста 

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

 (3) для получения информации о выравнивании разных типов 

 (4) для получения информации о выравнивании разных переменных 


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

Ответ:

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

 (2) для красоты 

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


Номер 4
Векторизация – это

Ответ:

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

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

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




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