Главная / Программирование /
Параллельное программирование с использованием 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)