Главная / Программирование /
Оптимизация приложений с использованием компиляторов 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) 4 
 (2) 8 
 (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) процесс конвертации компьютерной программы из скалярного представления, в котором одна операция выполняется над парой операндов, в векторное представление, в котором одна операция выполняется над парой векторных операндов