Сертификат "Параллельное программирование с использованием OpenMP"
  • Сертификат "Параллельное программирование с использованием OpenMP"
  • Сертификат "Параллельное программирование с использованием OpenMP"
Сертификат "Параллельное программирование с использованием OpenMP"
  • Сертификат "Параллельное программирование с использованием OpenMP"
  • Сертификат "Параллельное программирование с использованием OpenMP"

Параллельное программирование с использованием OpenMP

700,00 руб.
В течение часа!
Экзамен "Параллельное программирование с использованием OpenMP" для пользователей и системных администраторов.
Количество
Есть в наличии!

Форма сдачи теста: Экстерн
Количество вопросов: 30
Проходной балл: 90% и выше
Срок действия сертификата: неограничен

Сертификат появляется в профиле ресурса INTUIT, и Вы можете заказать его бумажную версию на сайте INTUIT.
12552 шт.
Внимание !
Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier!

Как организована память в массивно-параллельных вычислительных системах?

NUMA память
распределенная память
общая память


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

общая память с одинаковым временем доступа
распределенная память с различным временем доступа
распределенная память с одинаковым временем доступа
общая память с различным временем доступа


Как организована память в симметричных мультипроцессорных системах?

иерархическая память
общая память
гибридная память


Для чего используются коммутаторы Myrinet?

для связи вычислительных узлов в массивно-параллельных вычислительных системах
для связи вычислительных узлов в системах с неоднородным доступом к памяти - правильно
для связи регистров в различных вычислительных узлах


Для чего используются коммутаторы NUMALINK?

для связи вычислительных узлов в массивно-параллельных вычислительных системах
для связи регистров в различных вычислительных узлах
для связи вычислительных узлов в системах с неоднородным доступом к памяти


Для чего используются коммутаторы Infiniband?

для связи вычислительных узлов в системах с неоднородным доступом к памяти
для связи регистров в различных вычислительных узлах
для связи вычислительных узлов в массивно-параллельных вычислительных системах


К какому классу вычислительных систем относится компьютер, состоящий из 20 одинаковых системных блоков с одним одноядерным процессором?

массивно-параллельная вычислительная система
гетерогенная вычислительная система
симметричная мультипроцессорная система


К какому классу вычислительных систем относится компьютер с одним многоядерным процессором?

массивно-параллельная вычислительная система
гетерогенная вычислительная система
симметричная мультипроцессорная система


К какому классу вычислительных систем относиться компьютер, состоящий из двух системных блоков, один из которых оснащен одноядерным процессором с тактовой частотой 2 Мгц, а другой - двухъядерным процессором с тактовой частотой 1.6 Мгц?

гетерогенная вычислительная система
массивно-параллельная вычислительная система
симметричная мультипроцессорная система


Что такое многоядерность?

это когда в каждом процессоре выполняются по два потока
это когда в каждом процессоре многопроцессорной системы работает по одному потоку
это когда в каждом процессоре содержатся несколько вычислительных ядер


Сколько ядер содержится в процессоре Pentium D?

2
3
1


Сколько ядер содержится в процессоре Cell?

9
12
10


Что такое многопоточность?

это когда в каждом многоядерном процессоре выполняются по два потока
это когда в каждом ядре процессора одновременно выполняются несколько потоков
это когда в каждом процессоре многопроцессорной системы работает по одному потоку


Сколько потоков может обрабатываться одновременно в процессоре Pentium D?

1
4
2


Сколько потоков может обрабатываться одновременно в процессоре Cell?

10
18
12


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

Myrinet
никакой
Quadrics
Infiniband


Какой тип межузлового соединения реализован в многопроцессорных вычислительных системах компании Silicon Graphis?

SMP
MPS
NUMA


Какой из ниже перечисленных типов межузлового соединения можно использовать в MPP вычислительной системе?

MPS
SMP
Myrinet


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

специальные системные библиотеки, поставляемые в комплекте с документацией к кластеру
специальные системные библиотеки функций обмена сообщениями, поставляемые в комплекте с кабелями и интерфейсными платами
специальные настройки протоколов межузлового соединения


Интерфейсные плата должны быть установлены

только в ведущий узел кластера
только в ведомые узлы кластера
во все узлы кластера


Какой из ниже перечисленных интерфейсов межузлового обмена сообщениями следует использовать в MMP вычислительной системе?

MPI
Quadrics
Myrinet
Infiniband


Для каких языков программирования реализован подход OpenMP?

C
BASIC
PL/1
Java


Для каких языков программирования реализован подход OpenMP?

Pascal
C++
Java
Modula


Для каких языков программирования реализован подход OpenMP?

C#
Fortran
Java
BASIC


Для какого типа вычислительных систем эффективен подход OpenMP?

системы с распределенной гетерогенной памятью
системы с общей памятью с одинаковым временем доступа
системы с распределенной памятью с различным временем доступа


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

главный
распределенный
основной
параллельный


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

параллельный
основной
распределенный
главный


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

shared
private
firstprivate
lastprivate


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

firstprivate
private
shared
lastprivate


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

firstprivate
private
shared
lastprivate


В каких из операций неявно используется процедура синхронизации?

в операциях условного перехода
в операциях цикла
в операциях присваивания


Для чего нужна процедура синхронизации?

для передачи данных между потоками
для согласования завершения выполнения параллельных потоков
для согласования начала выполнения параллельных потоков
для передачи данных из главного потока в параллельные


Почему следует по возможности избегать процедуры синхронизации?

потому, что она может завершиться в непредсказуемый момент времени
потому, что это дорогая операция, эквивалентная большому числу обычных операций
потому, что она может завершиться некорректно, при невыполнении некоторых условий


С какого предложения начинается параллельный блок в программе на языке C?

#parallel
c omp parallel
c$omp& parallel
#pragma omp parallel


С какого предложения начинается параллельный блок в программе на языке C++?

C++omp parallel
c++$omp& parallel
#pragma omp parallel
#parallel


С какого предложения начинается параллельный блок в программе на языке Fortran?

c$omp& parallel
c$omp parallel
#parallel
#pragma omp parallel


В чем состоит особенность статического режима выполнения параллельных блоков?

количество потоков определяется самой операционной системой в соответствии со значением переменной окружения OMP_NUM_THREADS
количество потоков определяется программистом
количество потоков определяется переменной окружения OMP_DYNAMIC


Как задается динамический режим выполнения параллельных блоков?

заданием переменной окружения OMP_NUM_DYNAMIC
заданием переменной окружения OMP_DYNAMIC
количеством потоков, определяемым переменной окружения OMP_STATIC


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

гибридно-однородные
статические и динамические
однородные
гетерогенно-динамические


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

гетерогенные
однородные
гибридные
статические и динамические


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

глобальные
локальные
статические и динамические
гибридные


Для чего используется директива nowait?

для преодоления процедуры неявной синхронизации
для распараллеливания
для завершения процесса


В каких из следующих предложениях можно использовать директиву nowait?

c$omp parallel
A$omp
! omp private


Можно ли с помощью директивы nowait получить значения из главного потока в параллельном?

да, при определенных условиях
да
нет


Для чего используется синхронизация типа critical?

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


Для чего служит синхронизация типа master?

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


Где неявно задается синхронизация типа barrier?

в начале циклов
в конце циклов
в начале структурного блока
в конце структурного блока


Зачем используется параметр chunk в директиве schedule?

для задания числа процессов выполняемых в одном потоке
для распределения работы между процессами
для ускорения процесса выполнения задачи
для правильного определения структурного блока
для определения изменения порядка выполнения циклов


Зачем нужна синхронизация типа ordered?

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


Как определяется синхронизация atomic в программе на языке Fortran?

c$omp atomic
! opm ! atomic
!pragma omp atomic
#pragma omp atomic


Как определяется синхронизация atomic в программе на языке C?

!pragma omp atomic
! opm atomic
c$omp atomic
#pragma omp atomic


Зачем нужна синхронизация типа atomic?

для корректного выполнения оператора присваивания в параллельном режиме для переменной, присутствующей в правой и левой части этого оператора
для правильного определения структурного блока
для определения изменения порядка выполнения циклов
для ускорения процесса выполнения задачи


Зачем нужна синхронизация типа critical?

для задания структурных блоков, выполняющихся только в одном потоке из всего набора параллельных потоков
для определения изменения порядка выполнения циклов
для ускорения процесса выполнения задачи
для правильного определения выполнения структурного блока в параллельном режиме


Как определяется синхронизация critical в программе на языке Fortran?

#pragma omp critical
! opm ! critical
c$omp critical
!pragma omp atomic


Как определяется синхронизация critical в программе на языке C?

!pragma omp critical
! opm critical
#pragma omp critical
c$omp critical


С помощью, какой функции можно задать число потоков в параллельной области программы?

omp_get_num_threads
omp_set_num_threads
schedule
master_thread


С помощью, какой функции можно определить номер параллельного потока в текущий момент в параллельной области программы?

chunk
get_master_thread
omp_get_thread_num
omp_get_num_thread


С помощью, какой функции можно определить число потоков в параллельной области программы в текущий момент выполнения программы?

omp_get_num_threads
chunk
get_master_thread
omp_master_threads


Какая функция определяет динамический режим работы программы?

omp_set_dynamic(TRUE)
omp_master_threads
chunk_threads
omp_set_dynamic(FALSE)


С помощью какой функции можно определить установлен или нет вложенный режим обработки параллельных блоков?

omp_set_true
omp_get threads(NESTED)
omp_get_nested
omp_get_nest(FALSE)


Как определяется вложенный режим обработки параллельных блоков?

omp_set num_threads
omp_set_nested(FALSE)
omp_set_nested(TRUE)
omp_set_true


Для чего используется директива threadprivate?

для правильного определения структурного блока
для определения изменения порядка выполнения циклов
для корректного преобразования глобальных переменных в локальные
для распределения работы между процессами


Можно ли с помощью директивы threadprivate передавать локальные данные из одного параллельного блока программы в другой?

нет
да


Можно ли с помощью директивы threadprivate сохранять локальные данные на протяжении всей программы?

да
нет


Что является параметрами директивы threadprivate в программах на языке Fortran?

имена локальных переменных
имена переменных передаваемых из главного потока в параллельные
имена common блоков


Могут ли параметры директивы threadprivate фигурировать в директиве lastprivate?

да
нет


Что является параметрами директивы threadprivate в программах на языке С?

имена common блоков
имена локальных переменных
имена переменных, для которых создаются копии во всех параллельных потоках


Какая функция позволяет снять блокировку объекта?

omp_set_true
omp_set_nested(TRUE)
omp_set num_threads
omp_unset_lock


Какая функция устанавливает блокировку объекта?

omp_set_nested(TRUE)
omp_init_lock
omp_set_true
omp_set num_threads


Для чего нужны функции блокировки?

для правильного распределения работы между процессами
для определения корректного порядка выполнения циклов
для обеспечения корректного доступа к данным и их корректной модификации со стороны различных задач или пользователей
для правильного задания переменной


Какая подпрограмма устанавливает блокировку объекта в программе на языке Fortran?

subroutine omp_set num_threads
omp_set_nested(TRUE)
subroutine omp_set_true
subroutine omp_set_lock


Какая подпрограмма инициализирует блокировку объекта в программе на языке Fortran?

subroutine omp_set num_threads
subroutine omp_set_true
omp_set_nested(TRUE)
subroutine omp_init_lock


Какая подпрограмма снимает блокировку объекта в программе на языке Fortran?

subroutine omp_unset_true
subroutine omp_unset_lock
omp_set_unnested(TRUE)
subroutine omp_unset


В каком порядке завершаются операции ввода-вывода в параллельной области программы?

в строго убывающем
в неопределенном
в последовательном
в строго определенном


В чем состоит причина ошибок, связанных с условиями состязательности?

с ошибками округления, влияющими на порядок выполнения параллельных блоков
с непредсказуемым началом выполнения параллельных блоков
с непредсказуемым завершением выполнения параллельных блоков


Что такое мертвая блокировка?

это ситуация, когда два потока ожидают передачу данных из третьего
это ситуация, когда один из параллельных потоков ожидает освобождения доступа к объекту, который никогда не будет открыт
это ситуация когда один из потоков передает данные в заблокированный поток


Какие существуют средства автоматизированной отладки в OpenMP?

Intel Thread Checker
последовательные
параллельные
Intel Crash Checker


Под управлением какой операционной системы работает Intel Thread Checker?

Android
Windows
OS/2


Какие существуют средства автоматизированной профилировки в OpenMP?

Intel Thread Checker
параллельные
последовательные
Intel Crash Checker


Для чего применяется инструмент Intel Thread Profiler?

для настройки работы параллельных потоков в программе
для нахождения переменных в момент аварийного прерывания работы программы
для нахождения мертвого кода в программе


Для чего применяется инструмент Intel Thread Checker?

для нахождения критического пути работы программы
для нахождения мертвого кода в программе
для нахождения переменных в момент аварийного прерывания работы программы


Для чего применяется инструмент Intel VTune Performance Analyzer?

для нахождения переменных в момент аварийного прерывания работы программы
для настройки производительности программы
для нахождения мертвого кода в программе


Под управлением какой операционной системы работает отладчик TotalView?

OS/2
Unix
Linux
Windows


Какие программы можно отлаживать в бесплатной версии отладчика TotalView?

последовательные и параллельные с числом параллельных потоков больше 16
последовательные и параллельные с числом параллельных потоков не больше 8
последовательные и параллельные с числом параллельных потоков больше 64


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

только последовательные
параллельные с числом параллельных потоков равным 16
параллельные с числом параллельных потоков не больше 8


Какие существуют виды просмотра переменных в отладчике TotalView?

параллельный
числовой и графический
автоматический
последовательный


С помощью какой последовательности команд можно начать просмотр значений переменных в некоторой строке программы, работающей под управлением отладчика TotalView?

File-Stop
File-Run
установить курсор на нужную строку и нажать Run
Stop-Run


С помощью какой последовательности команд можно начать отладку программы в отладчике TotalView?

File-Stop
File-Step
File-Exit
Stop-Run


Какие существуют виды просмотра переменных в отладчике TotalView?

числовой и графический
параллельный
последовательный
автоматический


С помощью какой команды можно быстро пройтись по установленным точкам прерывания в программе, работающей под управлением отладчика TotalView?

Run
Go
File
Points


Как с помощью мыши быстро установить точки прерывания в программе, работающей под управлением отладчика TotalView?

надо щелкнуть правой кнопкой мыши по строке в окне просмотра программы
надо щелкнуть левой кнопкой мыши на номере строки в окне просмотра программы
надо щелкнуть правой кнопкой мыши на номере строки в окне просмотра программы


Для чего нужна профилировка программ?

для нахождения мертвого кода
для нахождения некорректно заданных данных
для нахождения критического пути и ускорения
для нахождения неопределенных переменных


Можно ли использовать Intel VTune Performance Analyser для профилировки программ?

нет
да


Какие инструменты можно использовать для профилировки программ?

Intel Thread Checker
Intel Thread Analyzer
отладчики
Total View


К какой памяти из ниже перечисленных (локальная память, кэш 1-го уровня, кэш 2-го уровня) обращение осуществляется наиболее быстро?

кэш 1-го уровня
локальная память
кэш 2-го уровня


К какой памяти, из перечисленных (локальная память, регистры, кэш 1-го уровня, кэш 2-го уровня), обращение осуществляется наиболее быстро?

регистры
кэш 1-го уровня
локальная память
кэш 2-го уровня


К какой памяти из ниже перечисленных (локальная память, регистры, кэш 1-го уровня, кэш 2-го уровня) обращение осуществляется наиболее медленно?

локальная память
регистры
кэш 1-го уровня
кэш 2-го уровня


Что такое зависимость по данным?

это когда значение переменной в параллельном потоке зависит от значения аналогичной переменной в главном потоке
это когда значение переменной в петле цикла зависит от значения другой переменной или ее самой в другой петле цикла
это когда значение переменной зависит от результата предыдущей операции


Для эффективного распараллеливания циклов нужно по возможности

обеспечить независимость петель вложенных циклов
установить дополнительные операторы выхода из циклов
ничего не надо делать


При распараллеливании вложенных циклов надо стремиться к

вынесению независимых по данным петель циклов на нижний уровень и проводить распараллеливание только на этом уровне
вынесению независимых по данным петель циклов на верхний уровень и проводить распараллеливание только на этом уровне
ничего не надо делать


Для эффективного распараллеливания циклов нужно использовать

многомерные массивы в двумерном виде
многомерные массивы в одномерном виде
многомерные массивы в естественном виде


Для эффективного распараллеливания циклов в программе на С++ нужно осуществлять перебор элементов двумерных массивов

по столбцам
по строкам


Для эффективного распараллеливания циклов в программе на Fortran нужно осуществлять перебор элементов двумерных массивов

по столбцам
по строкам


Пусть суммарная доля последовательных блоков в программе равна 0.4, а число ядер в процессоре равно 6. Во сколько раз может быть быстрее параллельная версия такой программы по сравнению с последовательной?

2.5
8
4
2


Пусть суммарная доля последовательных блоков в программе равна 0.1, а число процессоров в вычислительной системе равно 9. Во сколько раз может быть быстрее параллельная версия такой программы по сравнению с последовательной?

4
8
4.5
5


Пусть суммарная доля последовательных блоков в программе равна 0.1. Сколько должно быть в системе 2-ядерных процессоров, чтобы ускорить работу программы в 4 раза?

не менее 3
1
2


Пусть суммарная доля последовательных блоков в программе равна 0.1. Сколько должно быть в системе одноядерных процессоров, чтобы ускорить работу программы в 4 раза?

не менее 6
3
4
5


Пусть суммарная доля последовательных блоков в программе равна 0.1. Каково наименьшее число 6-ядерных процессоров может быть в такой системе, чтобы ускорить работу программы в 4 раза?

3
2
5
1


Как осуществить автоматическое распараллеливание программы с помощью компиляторов Intel?

использовать настройку компилятора -par_report
использовать настройку компилятора -parallel
использовать настройку компилятора –par


Для чего нужна настройка -openmp в компиляторах Intel?

для автоматического распараллеливания
для создания параллельной версии программы с использованием директив OpenMP
для создания отчетов по компилированию программ


Для чего используется опция компилятора Intel -par_report?

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


Какие значения может принимать level в настройке компилятора Intel -par_thresholdlevel?

от -1 до +1
от 0 до 100
от 0 до 1
от 0 до 10


Для чего используется настройка компилятора Intel -par_threshold?

для настройки распараллеливания циклов
для настройки распараллеливания параллельных структурных блоков
для настройки распараллеливания критического пути
для настройки распараллеливания условных операторов


Для чего используется параметр level в настройке компилятора Intel -par_thresholdlevel?

для настройки эффективности распараллеливания циклов
для настройки эффективности распараллеливания параллельных структурных блоков
для настройки эффективности распараллеливания критического пути
для настройки эффективности распараллеливания условных операторов


Для чего используется опция компилятора Intel -openmp_report?

для создания отчетов по распараллеливанию циклов
для создания отчетов о некорректно заданных данных
для создания отчетов по распараллеливанию с использованием директив OpenMP
для создания отчетов по распараллеливанию критического пути


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

-par_report0
-par_report3


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

-par_report2
-par_report3


Какой из подходов следует использовать для наиболее эффективного распараллеливания программ для MPP вычислительной системы с 4-х ядерными процессорами?

Cluster OpenMP
никакой
OpenMP


Для каких вычислительных систем следует использовать подход Cluster OpenMP?

для многоядерных
для SMP
для MPP


Для каких вычислительных систем следует использовать подход OpenMP?

для MPP
для SMP


В какой папке следует искать файл kmp_cluster.ini в первую очередь?

в /opt
в той, откуда запускается программа
в /temp
в корневой


В какой папке следует искать файл kmp_cluster.ini во вторую очередь?

в домашней папке пользователя
в корневой
в /temp
в /opt


В каком файле задаются дополнительные настройки Cluster OpenMP?

kmp_cluster.ini
cluster.ini
intel.ini
kmp.ini
cluster.ni


Какое из описаний переменных sharable правильное?

!der omp sharable(/a1/)
!dir$ omp sharable(/a1/)
!dir$ omp sharable(/a1)


Могут ли переменные в программе описанные как EQUIVALENCE быть объявленными как sharable?

да
нет


Какой может быть наименьший размер переменной типа sharable?

2 байта
1 байт
4 байта
16 байт


Для чего нужны переменные типа sharable в Cluster OpenMP?

для передачи данных между параллельными потоками
для передачи данных между узлами кластера
для создания отчетов по распараллеливанию циклов
для создания отчетов по распараллеливанию критического пути
для передачи данных из главного потока в параллельные


Где хранятся переменные типа sharable на кластере?

в регистрах ведомых узлов кластера
в оперативной памяти ведомых узлов кластера
в оперативной памяти всех узлов кластера
в оперативной памяти ведущего узла кластера


Какой из функций, приведенных ниже, можно осуществить динамическую загрузку переменных типа sharable?

void * sharable_malloc(size_t size)
void * kmp_sharable_malloc(size_t size)
void * kmp_malloc(size_t size)


Какой из функций, приведенных ниже, можно осуществить динамическое выделение памяти под переменные типа sharable с выравниванием по границе страницы?

void * sharable_malloc( int size )
void * kmp_sharable_malloc( int size )
void * kmp_malloc( int size )
void * kmp_aligned_sharable_malloc( int size )


Какая из следующих функций позволяет освободить динамическую память, занятую переменной типа sharable?

void kmp_free( *ptr )
void free( *ptr )
void sharable_free( *ptr )
void kmp_sharable_free( *ptr )

Вы можете обратится к нам напрямую, через:

skype По Skype: molodoyberkut
telegram По Telegram: @MolodoyBerkut
icq По ICQ: 657089516

Или через форму обратной связи на нашем сайте
Пока сочиняется...
4.png