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

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

Упражнение 1:
Номер 1
 Что такое ядро процессора?

Ответ:

 (1) часть процессора, которая извлекает из памяти и исполняет инструкции 

 (2) часть процессора, которая работает с общим кэшем 

 (3) часть процессора, которая выполняет арифметические операции над данными 


Номер 2
 Что является серьезным ограничением производительности современных вычислительных систем?

Ответ:

 (1) количеством памяти 

 (2) тактовая частота процессоров 

 (3) скоростью взаимодействия с памятью 

 (4) наличие кэша второго уровня 


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

Ответ:

 (1) системы с общей памятью 

 (2) системы с распределенной памятью 

 (3) системы со случайным доступом к памяти 

 (4) системы с неоднородным доступом к памяти 


Упражнение 2:
Номер 1
 Выберите свойство, характеризующее вычислительную систему с распределенной памятью:

Ответ:

 (1) каждый процессор полностью автономен. Существует некоторая коммуникационная среда 

 (2) все процессоры равноудалены от памяти. Связь с памятью осуществляется через общую шину данных 

 (3) память физически распределена между процессорами. Единое адресное пространство поддерживается на аппаратном уровне 


Номер 2
 Выберите свойство характеризующее вычислительную систему с общей памятью:

Ответ:

 (1) каждый процессор полностью автономен. Существует некоторая коммуникационная среда 

 (2) все процессоры равноудалены от памяти. Связь с памятью осуществляется через общую шину данных 

 (3) память физически распределена между процессорами. Единое адресное пространство поддерживается на аппаратном уровне 


Номер 3
 Выберите свойство характеризующее вычислительную систему с неоднородным доступом к памяти:

Ответ:

 (1) каждый процессор полностью автономен. Существует некоторая коммуникационная среда 

 (2) все процессоры равноудалены от памяти. Связь с памятью осуществляется через общую шину данных 

 (3) память физически распределена между процессорами. Единое адресное пространство поддерживается на аппаратном уровне 


Упражнение 3:
Номер 1
 Какие свойства есть у вычислительных систем с распределенной памятью?

Ответ:

 (1) хорошая масштабируемость 

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

 (3) хорошее межпроцессорное взаимодействие 

 (4) необходимость синхронизации подсистемы кэшей 


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

Ответ:

 (1) хорошая масштабируемость 

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

 (3) хорошее межпроцессорное взаимодействие 

 (4) необходимость синхронизации подсистемы кэшей 


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

Ответ:

 (1) хорошая масштабируемость 

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

 (3) хорошее межпроцессорное взаимодействие 

 (4) необходимость синхронизации подсистемы кэшей 


Упражнение 4:
Номер 1
 Какие недостатки есть у системы с распределенной памятью?

Ответ:

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

 (2) плохая масштабируемость 

 (3) большие затраты на синхронизацию подсистем кэшей 

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


Номер 2
 Какие недостатки есть у системы с общей памятью?

Ответ:

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

 (2) плохая масштабируемость 

 (3) большие затраты на синхронизацию подсистем кэшей 

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


Номер 3
 Какие недостатки есть у системы с неоднородным доступом к памяти?

Ответ:

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

 (2) плохая масштабируемость 

 (3) большие затраты на синхронизацию подсистем кэшей 

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


Упражнение 5:
Номер 1
 Назовите плюсы использования многопоточных приложений.

Ответ:

 (1) объем используемой оперативной памяти уменьшается пропорционально кол-ву используемых реальных ядер 

 (2) вычислительные ресурсы увеличиваются пропорционально кол-ву используемых реальных ядер 

 (3) уменьшается общее количество инструкций процессора 


Номер 2
 Назовите минусы использования многопоточных приложений.

Ответ:

 (1) усложнение разработки 

 (2) создание потоков имеет свою цену 

 (3) объем используемой оперативной памяти увеличивается пропорционально кол-ву используемых ядер 

 (4) потоки конкурируют за ресурсы 

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


Упражнение 6:
Номер 1
 В чем цель автоматической параллелизации?

Ответ:

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

 (2) сделать более качественную, по сравнению с ручной, параллелизацию 

 (3) освободить программистов от ручной параллелизации 


Номер 2
 Что сообщает /Qpar-report3?

Ответ:

 (1) сообщает какие зависимости препятствуют векторизации 

 (2) сообщает порядок выполнения итераций 

 (3) сообщает причины по которым компилятор не параллелизует тот или иной цикл 

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


Номер 3
 Какой оптимизацией является автопараллелизация в компиляторе Интел?

Ответ:

 (1) цикловой неперестановочной 

 (2) нецикловой перестановочной 

 (3) цикловой перестановочной 

 (4) нецикловой неперестановочной 


Упражнение 7:
Номер 1
Назовите условие необходимое для применения автопараллелизации?

Ответ:

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

 (2) отсутствие вложенных циклов 

 (3) необходима специальная подготовка программы человеком 


Номер 2
 Действительно ли определение выгодности автопараллелизации – сложная задача?

Ответ:

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

 (2) да, потому что компилятор может не иметь представления о количестве итераций в цикле 

 (3) нет, потому что автопараллелизация – цикловая неперестановочная оптимизация 

 (4) нет, потому что все необходимые данные для принятия решения доступны во время компиляции 


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

Ответ:

 (1) #pragma prefer concurrent 

 (2) #pragma no concurrentize 

 (3) #pragma prefer serial 

 (4) #pragma serial 


Упражнение 8:
Номер 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) с помощью библиотек OpenMP 

 (2) с помощью VTune 

 (3) с помощью шаблонов проектирования 


Упражнение 9:
Номер 1
 Что такое OpenMP?

Ответ:

 (1) это программный интерфейс, который поддерживает многопроцессорное программирование с общей памятью 

 (2) это программный интерфейс, который проверяет корректность параллелизации 

 (3) это программный интерфейс, который рассчитывает выгоду от применения параллелизации 


Номер 2
 Какие аргументы передаются в функцию, реализующую параллелизацию цикла в компиляторе Intel?

Ответ:

 (1) границы цикла 

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

 (3) все используемые объекты 


Номер 3
 Как выглядит функция, реализующая параллелизацию цикла в компиляторе Intel?

Ответ:

 (1) внутри находится исходный цикл и его исходные границы 

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

 (3) внутри находится одна итерация исходного цикла 


Упражнение 10:
Номер 1
 Как реализуется параллелизация цикла с помощью функции в компиляторе Intel?

Ответ:

 (1) запускаются несколько экземпляров функции в разных потоках с различными значениями границ цикла 

 (2) итерационное пространство цикла разбивается на несколько частей и каждый поток обрабатывает свою часть итерационного пространства 

 (3) запускаются несколько экземпляров функции в одном потоке с различными значениями границ цикла 

 (4) итерационное пространство цикла разбивается на несколько частей и каждый поток последовательно обрабатывает части итерационного пространства 


Номер 2
 Как происходит взаимодействие параллелизации цикла с другими цикловыми оптимизациями в компиляторе Intel?

Ответ:

 (1) при параллелизации невозможны другие цикловые оптимизации 

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

 (3) проводится параллелизация цикла, потом применяются оптимизации поточной функции 


Номер 3
 Что такое "предвыборка"?

Ответ:

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

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

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

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


Упражнение 11:
Номер 1
 Какими методами можно использовать технику  "предвыборки" для оптимизации приложений?

Ответ:

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

 (2) использование компиляторной опции для автоматической генерации команд "предвыборки" 

 (3) использование интринсиков 

 (4) покупка и инсталяция программы поддержки програмной предвыборки 


Номер 2
 В чем заключаются минусы использования техники "предвыборки"?

Ответ:

 (1) попытка подгружать адреса в кэш может вызвать удаление из кэша нужных адресов 

 (2) реализация механизма "предвыборки" сильно ухудшает производительность приложения 

 (3) невозможность использования этой техники без аппаратной поддержки 




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