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

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

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

Ответ:

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

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

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

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


Номер 2
 Для распараллеливания необходимо:

Ответ:

 (1) использовать ключ компилятора -Qomp. Компилятор сам выберет регионы, которые нужно распараллелить 

 (2) код для распараллеливания надо заключать в #pragma omp parallel start и end 

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

 (4) код для распараллеливания надо заключать в блоки, перед которыми надо включить прагму #pragma omp parallel 


Номер 3
При использовании технологии OpenMP поведение переменных следующее:

Ответ:

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

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

 (3) есть возможность указать, какие переменные имеют один адрес, а какие - разный 


Упражнение 2:
Номер 1
 OpenMP использует следующую модель распараллеливания:

Ответ:

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

 (2) модель fork-join: потоки создаются при первом вызове параллельного потока; каждый следующий раз используются уже созданные 

 (3) модель queue: все задачи записываются в очередь; создаются несколько "исполнителей"-потоков и выполняют задачи, которые есть в очереди 


Номер 2
 Для распараллеливания цикла нужно использовать:

Ответ:

 (1) #pragma omp parallel for 

 (2) #pragma omp parallel while 

 (3) #pragma omp single 

 (4) #pragma omp set parallel for 


Номер 3
 Следующий модификатор не является служебным для OpenMP:

Ответ:

 (1) nowait 

 (2) prefork 

 (3) schedule 

 (4) reduction 


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

Ответ:

 (1) добавить переменную в список private 

 (2) добавить переменную в список lastprivate 

 (3) добавить переменную в список lastshared 

 (4) технология не позволяет произвести данное действие 


Номер 2
 По умолчанию все переменные, кроме локальных переменных функций и счетчиков цикла, добавляются в список:

Ответ:

 (1) private 

 (2) shared 

 (3) lastprivate 

 (4) firstprivate 


Номер 3
 Shedule clause принимает параметром следующие типы:

Ответ:

 (1) static 

 (2) dynamic 

 (3) variant 

 (4) object 

 (5) guided 

 (6) int 

 (7) realtime 

 (8) runtime 


Упражнение 4:
Номер 1
Директива nowait используется для:

Ответ:

 (1) избавления от надписи "Press any key to exit" в конце выполнения программы 

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

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

 (4) отключения искусственных задержек в потоках 


Номер 2
 Для создания точки синхронизации необходимо использовать директиву

Ответ:

 (1) critical 

 (2) barrier 

 (3) atomic 

 (4) master 

 (5) sync 

 (6) stop 


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

Ответ:

 (1)

 (2)

 (3)

 (4) возможно произвольное количество, поскольку OpenMP не ограничивает число потоков 


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

Ответ:

 (1) SEMAPHORE 

 (2) TRANSACTION 

 (3) ATOMIC 

 (4) CHECK SHARED 

 (5) CONTROL SHARED 


Номер 2
Какая директива используется для того, чтобы обозначить участок кода, исполняемый только главным потоком?

Ответ:

 (1) SOLO 

 (2) MASTER 

 (3) ONLYONE 

 (4) OWNER 

 (5) SUPER 

 (6) CREATOR 


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

Ответ:

 (1) SERIAL 

 (2) ORDERED 

 (3) SOLO 

 (4) MASTER 

 (5) guided 


Упражнение 6:
Номер 1
Какая опция определяет способ распределения итераций цикла по нитям?

Ответ:

 (1) SCHEDULE 

 (2) TT 

 (3) FORALL 

 (4) THREADS 


Номер 2
Какие из перечисленных идентификаторов могут обозначать тип диспетчеризации?

Ответ:

 (1) dispatch 

 (2) nodispatch 

 (3) runtime 

 (4) static 

 (5) serial 

 (6) ordered 


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

Ответ:

 (1) random 

 (2) round-robin 

 (3) guided 

 (4) dynamic 

 (5) serial 

 (6) concurrent 




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