игра брюс 2048
Главная / Программирование / Модели и средства программирования для многопроцессорных вычислительных систем / Тест 2

Модели и средства программирования для многопроцессорных вычислительных систем - тест 2

Упражнение 1:
Номер 1
Какие языки программирования поддерживает OpenMP?

Ответ:

 (1) C 

 (2) Java 

 (3) C++ 

 (4) Fortran 


Номер 2
Какие компоненты входят в OpenMP?

Ответ:

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

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

 (3) переменные окружения 


Номер 3
В OpenMP-программе используется заголовочный файл:

Ответ:

 (1) sdf.h 

 (2) omp.h 

 (3) start.h 


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

Ответ:

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

 (2) установки и определения атрибутов потоков 

 (3) управления поведением параллельной программы 


Номер 2
Подпрограммы библиотеки времени выполнения в OpenMP используются для:

Ответ:

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

 (2) установки и определения атрибутов потоков 

 (3) управления поведением параллельной программы 


Номер 3
Переменные окружения в OpenMP используются для:

Ответ:

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

 (2) установки и определения атрибутов потоков 

 (3) управления поведением параллельной программы 


Упражнение 3:
Номер 1
Директива do в OpenMP:

Ответ:

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

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

 (3) обрамляет параллельную секцию программы 

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


Номер 2
Директива parallel в OpenMP:

Ответ:

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

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

 (3) обрамляет параллельную секцию программы 

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


Номер 3
Директива sections в OpenMP:

Ответ:

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

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

 (3) обрамляет параллельную секцию программы 

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


Упражнение 4:
Номер 1
Директива section в OpenMP:

Ответ:

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

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

 (3) обрамляет параллельную секцию программы 

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


Номер 2
Директива single в OpenMP:

Ответ:

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

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

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

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


Номер 3
Директива workshare в OpenMP:

Ответ:

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

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

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

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


Упражнение 5:
Номер 1
Директива master в OpenMP:

Ответ:

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

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

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

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


Номер 2
Директива critical в OpenMP:

Ответ:

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

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

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

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


Номер 3
Оператор private в OpenMP:

Ответ:

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

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

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

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


Упражнение 6:
Номер 1
Оператор firstprivate в OpenMP:

Ответ:

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

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

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

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


Номер 2
Оператор lastprivate в OpenMP:

Ответ:

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

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

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

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


Номер 3
Оператор nowait в OpenMP:

Ответ:

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

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

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

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


Упражнение 7:
Номер 1
Оператор shared в OpenMP:

Ответ:

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

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

 (3) задает количество нитей 

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


Номер 2
Оператор default в OpenMP:

Ответ:

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

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

 (3) задает количество нитей 

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


Номер 3
Оператор num_threads в OpenMP:

Ответ:

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

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

 (3) задает количество нитей 

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


Упражнение 8:
Номер 1
Оператор schedule в OpenMP:

Ответ:

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

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

 (3) задает количество нитей 

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


Номер 2
Подпрограмма omp_set_num_threads в OpenMP:

Ответ:

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

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

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

 (4) возвращает идентификатор нити, из которой вызывается данная функция 


Номер 3
Подпрограмма omp_get_num_threads в OpenMP:

Ответ:

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

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

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

 (4) возвращает идентификатор нити, из которой вызывается данная функция 


Упражнение 9:
Номер 1
Подпрограмма omp_get_max_threads в OpenMP:

Ответ:

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

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

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

 (4) возвращает идентификатор нити, из которой вызывается данная функция 


Номер 2
Подпрограмма omp_get_thread_num в OpenMP:

Ответ:

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

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

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

 (4) возвращает идентификатор нити, из которой вызывается данная функция 


Номер 3
Подпрограмма omp_get_num_procs в OpenMP:

Ответ:

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

 (2) возвращает значение true при вызове из активной параллельной секции программы 

 (3) возвращает значение true, если динамическое назначение количества потоков разрешено 

 (4) разрешает или запрещает вложенный параллелизм 


Упражнение 10:
Номер 1
Подпрограмма omp_in_parallel в OpenMP:

Ответ:

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

 (2) возвращает значение true при вызове из активной параллельной секции программы 

 (3) возвращает значение true, если динамическое назначение количества потоков разрешено 

 (4) разрешает или запрещает вложенный параллелизм 


Номер 2
Подпрограмма omp_get_dynamic в OpenMP:

Ответ:

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

 (2) возвращает значение true при вызове из активной параллельной секции программы 

 (3) возвращает значение true, если динамическое назначение количества потоков разрешено 

 (4) разрешает или запрещает вложенный параллелизм 


Номер 3
Подпрограмма omp_set_nested в OpenMP:

Ответ:

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

 (2) возвращает значение true при вызове из активной параллельной секции программы 

 (3) возвращает значение true, если динамическое назначение количества потоков разрешено 

 (4) разрешает или запрещает вложенный параллелизм 


Упражнение 11:
Номер 1
Как в среде UNIX задаются переменные окружения OpenMP?

Ответ:

 (1) export ПЕРЕМЕННАЯ=значение 

 (2) get ПЕРЕМЕННАЯ=значение 

 (3) set ПЕРЕМЕННАЯ=значение 


Номер 2
Как в среде Windows задаются переменные окружения OpenMP?

Ответ:

 (1) get ПЕРЕМЕННАЯ=значение 

 (2) set ПЕРЕМЕННАЯ=значение 

 (3) export ПЕРЕМЕННАЯ=значение 


Номер 3
Укажите возможные значения переменной окружения OpenMP OMP_SCHEDULE:

Ответ:

 (1) static 

 (2) dynamic 

 (3) null 

 (4) guided 


Упражнение 12:
Номер 1
Переменная окружения OMP_NUM_THREADS в OpenMP:

Ответ:

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

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

 (3) содержит информацию о разрешении или запрете вложенного параллелизма 


Номер 2
Переменная окружения OMP_SCHEDULE в OpenMP:

Ответ:

 (1) содержит информацию о разрешении или запрете вложенного параллелизма 

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

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


Номер 3
Переменная окружения OMP_NESTED в OpenMP:

Ответ:

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

 (2) содержит информацию о разрешении или запрете вложенного параллелизма 

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




Главная / Программирование / Модели и средства программирования для многопроцессорных вычислительных систем / Тест 2