Главная / Программирование /
Параллельное программирование с использованием OpenMP / Тест 6
Параллельное программирование с использованием OpenMP - тест 6
Упражнение 1:
Номер 1
Для чего нужна профилировка программ?
Ответ:
 (1) для нахождения мертвого кода 
 (2) для нахождения критического пути и ускорения 
 (3) для нахождения неопределенных переменных 
 (4) для нахождения некорректно заданных данных 
Номер 2
Какие инструменты можно использовать для профилировки программ?
Ответ:
 (1) отладчики 
 (2) Total View 
 (3) Intel Thread Checker 
 (4) Intel Thread Analyzer 
Номер 3
Можно ли использовать Intel VTune Performance Analyser для профилировки программ?
Ответ:
 (1) нет 
 (2) да 
Упражнение 2:
Номер 1
К какой памяти, из перечисленных (локальная память, регистры, кэш 1-го уровня, кэш 2-го уровня), обращение осуществляется наиболее быстро?
Ответ:
 (1) локальная память 
 (2) регистры 
 (3) кэш 1-го уровня 
 (4) кэш 2-го уровня 
Номер 2
К какой памяти из ниже перечисленных (локальная память, кэш 1-го уровня, кэш 2-го уровня) обращение осуществляется наиболее быстро?
Ответ:
 (1) локальная память 
 (2) кэш 1-го уровня 
 (3) кэш 2-го уровня 
Номер 3
К какой памяти из ниже перечисленных (локальная память, регистры, кэш 1-го уровня, кэш 2-го уровня) обращение осуществляется наиболее медленно?
Ответ:
 (1) локальная память 
 (2) регистры 
 (3) кэш 1-го уровня 
 (4) кэш 2-го уровня 
Упражнение 3:
Номер 1
Что такое зависимость по данным?
Ответ:
 (1) это когда значение переменной зависит от результата предыдущей операции 
 (2) это когда значение переменной в параллельном потоке зависит от значения аналогичной переменной в главном потоке 
 (3) это когда значение переменной в петле цикла зависит от значения другой переменной или ее самой в другой петле цикла 
Номер 2
Для эффективного распараллеливания циклов нужно по возможности
Ответ:
 (1) обеспечить независимость петель вложенных циклов 
 (2) установить дополнительные операторы выхода из циклов 
 (3) ничего не надо делать 
Номер 3
При распараллеливании вложенных циклов надо стремиться к
Ответ:
 (1) вынесению независимых по данным петель циклов на верхний уровень и проводить распараллеливание только на этом уровне 
 (2) вынесению независимых по данным петель циклов на нижний уровень и проводить распараллеливание только на этом уровне 
 (3) ничего не надо делать 
Упражнение 4:
Номер 1
Для эффективного распараллеливания циклов нужно использовать
Ответ:
 (1) многомерные массивы в одномерном виде 
 (2) многомерные массивы в двумерном виде 
 (3) многомерные массивы в естественном виде 
Номер 2
Для эффективного распараллеливания циклов в программе на Fortran нужно осуществлять перебор элементов двумерных массивов
Ответ:
 (1) по столбцам 
 (2) по строкам 
Номер 3
Для эффективного распараллеливания циклов в программе на С++ нужно осуществлять перебор элементов двумерных массивов
Ответ:
 (1) по столбцам 
 (2) по строкам 
Упражнение 5:
Номер 1
Пусть суммарная доля последовательных блоков в программе равна 0.2, а число ядер в процессоре равно 4. Во сколько раз может быть быстрее параллельная версия такой программы по сравнению с последовательной?
Ответ:
 (1) 4 
 (2) 4.5 
 (3) 2.5 
 (4) 8 
Номер 2
Пусть суммарная доля последовательных блоков в программе равна 0.1, а число процессоров в вычислительной системе равно 9. Во сколько раз может быть быстрее параллельная версия такой программы по сравнению с последовательной?
Ответ:
 (1) 4 
 (2) 4.5 
 (3) 5 
 (4) 8 
Номер 3
Пусть суммарная доля последовательных блоков в программе равна 0.4, а число ядер в процессоре равно 6. Во сколько раз может быть быстрее параллельная версия такой программы по сравнению с последовательной?
Ответ:
 (1) 4 
 (2) 2 
 (3) 2.5 
 (4) 8 
Упражнение 6:
Номер 1
Пусть суммарная доля последовательных блоков в программе равна 0.1. Сколько должно быть в системе одноядерных процессоров, чтобы ускорить работу программы в 4 раза?
Ответ:
 (1) 4 
 (2) 5 
 (3) не менее 6 
 (4) 3 
Номер 2
Пусть суммарная доля последовательных блоков в программе равна 0.1. Сколько должно быть в системе 2-ядерных процессоров, чтобы ускорить работу программы в 4 раза?
Ответ:
 (1) 2 
 (2) 1 
 (3) не менее 3 
Номер 3
Пусть суммарная доля последовательных блоков в программе равна 0.1. Каково наименьшее число 6-ядерных процессоров может быть в такой системе, чтобы ускорить работу программы в 4 раза?
Ответ:
 (1) 2 
 (2) 5 
 (3) 1 
 (4) 3