Главная / Программирование /
Параллельное программирование с использованием OpenMP / Тест 4
Параллельное программирование с использованием OpenMP - тест 4
Упражнение 1:
Номер 1
С помощью, какой функции можно задать число потоков в параллельной области программы?
Ответ:
 (1) schedule 
 (2) omp_set_num_threads  
 (3) omp_get_num_threads  
 (4) master_thread 
Номер 2
С помощью, какой функции можно определить число потоков в параллельной области программы в текущий момент выполнения программы?
Ответ:
 (1) chunk 
 (2) omp_get_num_threads 
 (3) omp_master_threads  
 (4) get_master_thread 
Номер 3
С помощью, какой функции можно определить номер параллельного потока в текущий момент в параллельной области программы?
Ответ:
 (1) chunk 
 (2) omp_get_thread_num 
 (3) omp_get_num_thread  
 (4) get_master_thread 
Упражнение 2:
Номер 1
Какая функция определяет динамический режим работы программы?
Ответ:
 (1) chunk_threads 
 (2) omp_set_dynamic(TRUE) 
 (3) omp_master_threads  
 (4) omp_set_dynamic(FALSE) 
Номер 2
Как определяется вложенный режим обработки параллельных блоков?
Ответ:
 (1) omp_set_true 
 (2) omp_set num_threads  
 (3) omp_set_nested(FALSE) 
 (4) omp_set_nested(TRUE) 
Номер 3
С помощью какой функции можно определить установлен или нет вложенный режим обработки параллельных блоков?
Ответ:
 (1) omp_set_true 
 (2) omp_get threads(NESTED)  
 (3) omp_get_nest(FALSE) 
 (4) omp_get_nested 
Упражнение 3:
Номер 1
Для чего используется директива threadprivate?
Ответ:
 (1) для правильного определения структурного блока 
 (2) для распределения работы между процессами 
 (3) для корректного преобразования глобальных переменных в локальные 
 (4) для определения изменения порядка выполнения циклов 
Номер 2
Можно ли с помощью директивы threadprivate передавать локальные данные из одного параллельного блока программы в другой?
Ответ:
 (1) да 
 (2) нет 
Номер 3
Можно ли с помощью директивы threadprivate сохранять локальные данные на протяжении всей программы?
Ответ:
 (1) да 
 (2) нет 
Упражнение 4:
Номер 1
Что является параметрами директивы threadprivate в программах на языке Fortran?
Ответ:
 (1) имена локальных переменных 
 (2) имена common блоков 
 (3) имена переменных передаваемых из главного потока в параллельные 
Номер 2
Что является параметрами директивы threadprivate в программах на языке С?
Ответ:
 (1) имена локальных переменных 
 (2) имена common блоков 
 (3) имена переменных, для которых создаются копии во всех параллельных потоках 
Номер 3
Могут ли параметры директивы threadprivate фигурировать в директиве lastprivate?
Ответ:
 (1) да 
 (2) нет 
Упражнение 5:
Номер 1
Для чего нужны функции блокировки?
Ответ:
 (1) для правильного задания переменной 
 (2) для правильного распределения работы между процессами 
 (3) для обеспечения корректного доступа к данным и их корректной модификации со стороны различных задач или пользователей 
 (4) для определения корректного порядка выполнения циклов 
Номер 2
Какая функция устанавливает блокировку объекта?
Ответ:
 (1) omp_set_true 
 (2) omp_set num_threads  
 (3) omp_init_lock  
 (4) omp_set_nested(TRUE) 
Номер 3
Какая функция позволяет снять блокировку объекта?
Ответ:
 (1) omp_set_true 
 (2) omp_set num_threads  
 (3) omp_unset_lock 
 (4) omp_set_nested(TRUE) 
Упражнение 6:
Номер 1
Какая подпрограмма устанавливает блокировку объекта в программе на языке Fortran?
Ответ:
 (1) subroutine omp_set_true 
 (2) subroutine omp_set num_threads  
 (3) subroutine omp_set_lock 
 (4) omp_set_nested(TRUE) 
Номер 2
Какая подпрограмма инициализирует блокировку объекта в программе на языке Fortran?
Ответ:
 (1) subroutine omp_set_true 
 (2) subroutine omp_set num_threads  
 (3) subroutine omp_init_lock 
 (4) omp_set_nested(TRUE) 
Номер 3
Какая подпрограмма снимает блокировку объекта в программе на языке Fortran?
Ответ:
 (1) subroutine omp_unset_true 
 (2) subroutine omp_unset  
 (3) subroutine omp_unset_lock 
 (4) omp_set_unnested(TRUE)