Главная / Программирование /
Параллельное программирование с использованием технологии MPI / Тест 3
Параллельное программирование с использованием технологии MPI - тест 3
Упражнение 1:
Номер 1
Какие средства должны содержать программы, написанные с использованием коммуникационной технологии MPI?
Ответ:
 (1) для порождения параллельных процессов 
 (2) для завершения параллельных процессов 
 (3) для взаимодействия запущенных процессов между собой 
Номер 2
С помощью чего осуществляется взаимодействие запущенных процессов между собой в MPI?
Ответ:
 (1) посредством явной посылки сообщений 
 (2) посредством передачи цифровых данных 
 (3) посредством получения сообщений 
Номер 3
В каком случае блокировка может гарантировать корректность повторного использования всех параметров после возврата из процедуры?
Ответ:
 (1) при копировании в промежуточный буфер 
 (2) при получении сообщения от процесса DEST
 
 (3) при непосредственной передаче процессу DEST
 
Упражнение 2:
Номер 1
Операции, предназначенные для взаимодействия всех процессов некоторого коммуникатора, называются...
Ответ:
 (1) индивидуальными 
 (2) коллективными 
 (3) операциями типа точка-точка 
Номер 2
Коллективные операции предназначены...
Ответ:
 (1) для взаимодействия двух процессов программы 
 (2) для взаимодействия одинаковых процессов 
 (3) для взаимодействия всех процессов некоторого коммуникатора 
Номер 3
Какие процессы обязательно участвуют в операциях типа точка-точка?
Ответ:
 (1) процесс-отправитель 
 (2) процесс-получатель 
 (3) как тот, так и другой 
Упражнение 3:
Номер 1
Операции предназначенные для взаимодействия двух процессов программы называются...
Ответ:
 (1) индивидуальными 
 (2) коллективными 
 (3) операциями типа точка-точка 
Номер 2
Операции типа точка-точка предназначены...
Ответ:
 (1) для взаимодействия двух процессов программы 
 (2) для взаимодействия одинаковых процессов 
 (3) для взаимодействия всех процессов 
Номер 3
В каких операциях участвуют процессы отправления и получения сообщения?
Ответ:
 (1) коллективных 
 (2) индивидуальных 
 (3) как в тех, так и вдругих 
Упражнение 4:
Номер 1
Какой из процессов операции типа точка-точка должен вызвать одну из процедур и явно указать номер в некотором коммуникаторе
Ответ:
 (1) процесс-отправитель 
 (2) процесс-получатель 
 (3) как тот, так и другой 
Номер 2
Какой из процессов операции типа точка-точка должен вызвать одну из процедур с указанием того же коммутатора
Ответ:
 (1) процесс-отправитель 
 (2) процесс-получатель 
 (3) как тот, так и другой 
Номер 3
Важно ли для процесса-получателя знание точного номера процесса-отправителя в данном коммуникаторе?
Ответ:
 (1) да 
 (2) иногда 
 (3) нет 
Упражнение 5:
Номер 1
К каким операциям относятся процедуры с блокировкой и без блокировки?
Ответ:
 (1) коллективным 
 (2) индивидуальным 
 (3) к тем и другим 
Номер 2
Процедуры с синхронизацией приостанавливают работу процесса...
Ответ:
 (1) во время проверки массивов данных 
 (2) после инициализации соответствующей коммуникационной операции 
 (3) до выполнения некоторого условия 
Номер 3
Использование каких процедур может привести к возникновению тупиковых ситуаций?
Ответ:
 (1) процедур с блокировкой 
 (2) процедур без блокировки 
 (3) асинхронных процедур 
Упражнение 6:
Номер 1
Каким образом должен указываться тип передаваемых элементов?
Ответ:
 (1) с помощью посылаемого сообщения 
 (2) с помощью предопределенных констант типа 
 (3) с помощь значения COUNT
 
Номер 2
В каком файле перечислен полный список предопределенных имен типов данных?
Ответ:
 (1) mpiff.h
 
 (2) mpif.h
 
 (3) mpi.h
 
Номер 3
Какое значение используется при пересылке сообщений для несуществующих процессов?
Ответ:
 (1) MPI_PROC_NULL
 
 (2) MPI_COMM_NULL
 
 (3) MPI_PROG_NULL
 
Упражнение 7:
Номер 1
С каким кодом завершения завершаются операции с несуществующим процессом?
Ответ:
 (1) MPI_WORLD
 
 (2) MPI_SUCCESS
 
 (3) MPI_REAL
 
Номер 2
Как называется модификация процедуры передачи сообщения с синхронизацией?
Ответ:
 (1) MPI_BSEND
 
 (2) MPI_SSEND
 
 (3) MPI_RSEND
 
Номер 3
Как называется модификация процедуры передачи сообщения по готовности?
Ответ:
 (1) MPI_BSEND
 
 (2) MPI_SSEND
 
 (3) MPI_RSEND
 
Упражнение 8:
Номер 1
При какой процедуре возможно повторное использование буфера посылки?
Ответ:
 (1) MPI_BSEND
 
 (2) MPI_SSEND
 
 (3) MPI_RSEND
 
Номер 2
Выполнение какой процедуры не зависит от соответствующего вызова процедуры приема сообщения?
Ответ:
 (1) MPI_BSEND
 
 (2) MPI_SSEND
 
 (3) MPI_RSEND
 
Номер 3
Какой процедурой можно пользоваться, если процесс-получатель уже инициировал прием сообщения?
Ответ:
 (1) MPI_BSEND
 
 (2) MPI_SSEND
 
 (3) MPI_RSEND
 
Упражнение 9:
Номер 1
Какая константа используется в определении размера массива, выделяемого для буферизации?
Ответ:
 (1) MPI_BSEND_OVERHEAD
 
 (2) MPI_SSEND_OVERHEAD
 
 (3) MPI_RSEND_OVERHEAD
 
Номер 2
В каком аргументе указывается адрес освобождаемого массива?
Ответ:
 (1) IERR
 
 (2) SIZE
 
 (3) BUF
 
Номер 3
Каким образом определяется размер необходимого буфера при передачи сообщения?
Ответ:
 (1) размер сообщения плюс значение константы MPI_BSEND_OVERHEAD
 
 (2) размер сообщения плюс значение константы MPI_SSEND_OVERHEAD
 
 (3) размер сообщения плюс значение константы MPI_RSEND_OVERHEAD
 
Упражнение 10:
Номер 1
В каком случае может возникнуть ошибка переполнения в буфере BUF
?
Ответ:
 (1) если количество элементов в принимаемом сообщении меньше значения COUNT
 
 (2) если количество элементов в принимаемом сообщении равно значению COUNT
 
 (3) если количество элементов в принимаемом сообщении больше значения COUNT
 
Номер 2
С помощью какой процедуры можно узнать точное число элементов в принимаемом сообщении?
Ответ:
 (1) MPI_PROBE
 
 (2) MPI_GET_COUNT
 
 (3) MPI_RECV
 
Номер 3
Какую предопределенную константу можно использовать при приеме сообщения с любым идентификатором?
Ответ:
 (1) MPI_ANY_SOURCE
 
 (2) MPI_ANY_TAG
 
 (3) MPI_ANY_STATUS
 
Упражнение 11:
Номер 1
Какое будет принято сообщение при одновременном использовании констант MPI_ANY_SOURCE
и MPI_ANY_TAG
Ответ:
 (1) сообщение от любого процесса 
 (2) сообщение с любым идентификатором 
 (3) сообщение с любым идентификатором от любого процесса 
Номер 2
Какие константы являются индексом по массиву status
?
Ответ:
 (1) MPI_SOURCE
 
 (2) MPI_TAG
 
 (3) MPI_ERROR
 
Номер 3
С помощью какой константы можно получить доступ к идентификатору сообщения?
Ответ:
 (1) MPI_SOURCE
 
 (2) MPI_TAG
 
 (3) MPI_ERROR
 
Упражнение 12:
Номер 1
Для какой константы характерна несимметричность операций посылки и приема сообщений
Ответ:
 (1) MPI_ANY_SOURCE
 
 (2) MPI_ANY_TAG
 
 (3) MPI_ANY_ERROR
 
Номер 2
Какая процедура необходима для определения размера области памяти,выделяемой для хранения принимаемого сообщения?
Ответ:
 (1)
MPI_GET (STATUS, DATATYPE, COUNT, IERR)
INTEGER COUNT, DATATYPE, IERR, STATUS
 
 (2)
MPI_PROBE(SOURCE, MSGTAG, COMM, STATUS, IERR)
INTEGER SOURCE, MSGTAG, COMM, IERR, STATUS(MPI_STATUS_SIZE)
 
 (3)
MPI_GET_COUNT(STATUS, DATATYPE, COUNT, IERR)
INTEGER COUNT, DATATYPE, IERR, STATUS(MPI_STATUS_SIZE)
 
Номер 3
Возврат из процедур какой группы происходит сразу после вызова без какой-либо остановки работы процессов
Ответ:
 (1) блокирующей 
 (2) асинхронной 
 (3) синхронной 
Упражнение 13:
Номер 1
Какой параметр в данной процедуре используется для идентификации конкретной неблокирующей операции
MPI_ISEND(BUF, COUNT, DATATYPE, DEST, MSGTAG, COMM, REQUEST, IERR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, DEST, MSGTAG, COMM, REQUEST, IERR
Ответ:
 (1) DEST
 
 (2) REQUEST
 
 (3) MSGTAG
 
Номер 2
С помощью какого варианта процедуры MPI_ISEND
возможна неблокирующая передача с буферизацией
Ответ:
 (1) MPI_IBSEND
 
 (2) MPI_ISSEND
 
 (3) MPI_IRSEND
 
Номер 3
С помощью каких процедур можно определить окончание процесса
MPI_IRECV(BUF, COUNT, DATATYPE, SOURCE, MSGTAG, COMM, REQUEST, IERR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, SOURCE, MSGTAG, COMM, REQUEST, IERR
Ответ:
 (1) MPI_WAIT
 
 (2) MPI_PROBE
 
 (3) MPI_TEST
 
Упражнение 14:
Номер 1
С помощью какой процедуры возможно ожидание завершения одной из COUNT
асинхронных операций, ассоциированных с идентификаторами REQUESTS
Ответ:
 (1)
MPI_WAIT(REQUEST, STATUS, IERR)
INTEGER REQUEST, IERR, STATUS(MPI_STATUS_SIZE)
 
 (2)
MPI_WAITALL(COUNT, REQUESTS, STATUSES, IERR)
INTEGER COUNT, REQUESTS(*), STATUSES (MPI_STATUS_SIZE,*), IERR
 
 (3)
MPI_WAITANY(COUNT, REQUESTS, INDEX, STATUS, IERR)
INTEGER COUNT, REQUESTS(*), INDEX, STATUS(MPI_STATUS_SIZE), IERR
 
Номер 2
С помощью какого процесса возможна проверка завершенности асинхронной операции MPI_ISEND
ИЛИ MPI_IRECV
, ассоциированной с идентификатором REQUEST
Ответ:
 (1)
MPI_TESTSOME(INCOUNT, REQUESTS, OUTCOUNT, INDEXES, STATUSES, IERR)
INTEGER INCOUNT, REQUESTS(*), OUTCOUNT, INDEXES(*), IERR,STATUSES(MPI_STATUS_SIZE,*)
 
 (2)
MPI_TEST(REQUEST, FLAG, STATUS, IERR)
LOGICAL FLAG
INTEGER REQUEST, IERR, STATUS(MPI_STATUS_SIZE)
 
 (3)
MPI_TESTANY(COUNT, REQUESTS, INDEX, FLAG, STATUS, IERR)
LOGICAL FLAG
INTEGER COUNT, REQUESTS(*), INDEX, STATUS(MPI_STATUS_SIZE), IERR
 
Номер 3
С помощью какого варианта процедуры MPI_SEND_INIT
возможно формирование отложенного запроса на передачу сообщения по готовности
Ответ:
 (1) MPI_BSEND_INIT
 
 (2) MPI_SSEND_INIT
 
 (3) MPI_RSEND_INIT
 
Упражнение 15:
Номер 1
Какая процедура позволяет инициализировать COUNT
отложенных запросов на выполнение операции приёма данных?
Ответ:
 (1)
MPI_SEND_INIT(BUF, COUNT, DATATYPE, DEST, MSGTAG, COMM, REQUEST,
IERR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, DEST, MSGTAG, COMM, REQUEST, IERR
 
 (2)
MPI_RECV_INIT(BUF, COUNT, DATATYPE, SOURCE, MSGTAG, COMM,
REQUEST, IERR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, SOURCE, MSGTAG, COMM, REQUEST, IERR
 
 (3)
MPI_STARTALL(COUNT, REQUESTS, IERR)
INTEGER COUNT, REQUESTS, IERR
 
Номер 2
В каком случае используется данная процедура
MPI_REQUEST_FREE(REQUEST, IERR)
INTEGER REQUEST, IERR
Ответ:
 (1) формирование отложенного запроса на прием сообщения 
 (2) инициализация COUNT
отложенных запросов на выполнение операций обмена 
 (3) удаление структуры данных, связанной с параметром REQUEST
 
Номер 3
Назовите способы разрешения тупиковых ситуаций
Ответ:
 (1) изменение порядка следования процедур посылки и приема сообщения 
 (2) использование неблокирующих ситуаций 
 (3) использование процедуры MPI_SENDRECV