Главная / Программирование /
Параллельное программирование с использованием технологии MPI / Тест 2
Параллельное программирование с использованием технологии MPI - тест 2
Упражнение 1:
Номер 1
Данный процесс служит для...
MPI_INIT(IERR)
INTEGER IERR
Ответ:
 (1) инициализации параллельной части программ 
 (2) завершения параллельной части приложения 
 (3) возвращения к параллельной части программы 
Номер 2
Инициализация параллельной части программы выполняется с помощью...
Ответ:
 (1)
MPI_INIT(IERR)
INTEGER IERR 
 (2)
MPI_FINALIZE(IERR)
INTEGER IERR 
 (3)
MPI_INITIALIZED(IERR)
INTEGER IERR 
Номер 3
Инициализация для параллельной части выполняется только один раз...
Ответ:
 (1) для каждого процесса 
 (2) для каждой программы 
 (3) для каждого приложения 
Упражнение 2:
Номер 1
Все, кроме одной процедуры MPI
могут быть вызваны только после вызова...
Ответ:
 (1) MPI_FINALIZE
 
 (2) MPI_INIT
 
 (3) MPI_INITIALIZED
 
Номер 2
Завершение параллельной части приложения выполняется с помощью...
Ответ:
 (1)
MPI_INIT(IERR)
INTEGER IERR 
 (2)
MPI_FINALIZE(IERR)
INTEGER IERR 
 (3)
MPI_INITIALIZED(IERR)
INTEGER IERR 
Номер 3
Данный процесс служит для...
MPI_FINALIZE(IERR)
INTEGER IERR
Ответ:
 (1) инициализации параллельной части программ 
 (2) завершения параллельной части приложения 
 (3) возвращения к параллельной части программы 
Упражнение 3:
Номер 1
Из каких аргументов командной строки программы система может извлекать и передавать в параллельные процессы параметры запуска программы?
Ответ:
 (1) args
 
 (2) argv
 
 (3) argc
 
Номер 2
К моменту вызова какой процедуры каждым процессом программы все действия должны быть завершены?
Ответ:
 (1) MPI_WORLD
 
 (2) MPI_FINALIZE
 
 (3) MPI_REAL
 
Номер 3
В каком языке функции MPI_Init
передаются указатели на аргументы командной строки программы argv
и argc
?
Ответ:
 (1) Фортран 
 (2) Си 
 (3) Паскаль 
Упражнение 4:
Номер 1
На каком языке написана данная MPI
-программа?
program example1
include 'mpif.h'
integer ierr
print *, 'Before MPI_INIT'
call MPI_INIT(ierr)
print *, 'Parallel section'
call MPI_FINALIZE(ierr)
print *, 'After MPI_FINALIZE'
end
Ответ:
 (1) Фортран 
 (2) Си 
 (3) Паскаль 
Номер 2
'Before MPI_INIT'
может печатать...
Ответ:
 (1) один выделенный процесс 
 (2) все процессы коммуникатора 
 (3) все запущенные процессы приложения 
Номер 3
Каков порядок вывода строк с разных процессов
Ответ:
 (1) последовательный 
 (2) произвольный 
 (3) параллельный 
Упражнение 5:
Номер 1
Какая из перечисленных процедур может быть вызвана до вызова MPI_INIT
Ответ:
 (1) MPI_COMM_RANK
 
 (2) MPI_COMM_SIZE
 
 (3) MPI_INITIALIZED
 
Номер 2
Какое значение процедура MPI_INITIALIZED
возвращает в аргументе FLAG
, если вызвана из параллельной части?
Ответ:
 (1) .TRUE
 
 (2) .FALSE
 
 (3) .RANK
 
Номер 3
В каком случае процедура MPI_INITIALIZED
возвращает в аргументе FLAG .TRUE.
?
Ответ:
 (1) если вызвана из параллельного процесса 
 (2) если вызвана из параллельной части приложения 
 (3) если вызвана из параллельного коммуникатора 
Упражнение 6:
Номер 1
В каком аргументе процедура возвращает число параллельных процессов в коммуникаторе COMM
?
Ответ:
 (1) FLAG
 
 (2) SIZE
 
 (3) RANK
 
Номер 2
Какая из предложенных процедур возвращает число параллельных процессов в коммуникаторе COMM
Ответ:
 (1)
MPI_FINALIZE(IERR)
INTEGER IERR 
 (2)
MPI_INITIALIZED(FLAG, IERR)
LOGICAL FLAG
INTEGER IERR
 
 (3)
MPI_COMM_SIZE(COMM, SIZE, IERR)
INTEGER COMM, SIZE, IERR
 
Номер 3
Сколько раз будет выводится строка, соответствующая вызову процедуры print
в данном примере?
program example2
include 'mpif.h'
integer ierr, size, rank
call MPI_INIT(ierr)
call MPI_COMM_SIZE(MPI_COMM_WORLD, size, ierr)
call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr)
print *, 'process ', rank, ‘, size ', size
call MPI_FINALIZE(ierr)
end
Ответ:
 (1) один раз 
 (2) ни одного раза 
 (3) столько раз, сколько было порождено процессов при запуске программы 
Упражнение 7:
Номер 1
В каком аргументе процедура MPI_COMM_RANK (COMM, RANK, IERR)
возвращает номер процесса в коммуникаторе COMM
?
Ответ:
 (1) FLAG
 
 (2) SIZE
 
 (3) RANK
 
Номер 2
Какая из предложенных процедур возвращает номер процесса в коммуникаторе COMM
Ответ:
 (1)
MPI_COMM_RANK(COMM, RANK, IERR)
INTEGER COMM, RANK, IERR
 
 (2)
MPI_INITIALIZED(FLAG, IERR)
LOGICAL FLAG
INTEGER IERR
 
 (3)
MPI_COMM_SIZE(COMM, RANK, IERR)
INTEGER COMM, RANK, IERR
 
Номер 3
В каком диапазоне находится значение, возвращаемое процедурой MPI_COMM_RANK
через переменную RANK
Ответ:
 (1) от 0 до SIZE-1
 
 (2) от 0 до SIZE+1
 
 (3) от 0 до 1-SIZE
 
Упражнение 8:
Номер 1
Какая из функций возвращает на вызвавшем процессе астрономическое время в секундах, прошедшее с некоторого момента в прошлом?
Ответ:
 (1)
DOUBLE PRECISION MPI_WTIME(IERR)
INTEGER IERR
 
 (2)
DOUBLE PRECISION MPI_WTICK(IERR)
INTEGER IERR
 
 (3)
DOUBLE PRECISION MPI_WTICE(IERR)
INTEGER IERR
 
Номер 2
Какая функция возвращает результат своей работы явным образом?
Ответ:
 (1)
DOUBLE PRECISION MPI_WTIME(IERR)
INTEGER IERR
 
 (2)
DOUBLE PRECISION MPI_WTICK(IERR)
INTEGER IERR
 
 (3)
DOUBLE PRECISION MPI_WTICE(IERR)
INTEGER IERR
 
Номер 3
какая функция возвращает результат своей работы через параметры?
Ответ:
 (1)
DOUBLE PRECISION MPI_WTIME(IERR)
INTEGER IERR
 
 (2)
DOUBLE PRECISION MPI_WTICK(IERR)
INTEGER IERR
 
 (3)
MPI_COMM_RANK(COMM, RANK, IERR
INTEGER COMM, RANK, IERR
 
Упражнение 9:
Номер 1
В каком случае разность возвращаемых значений покажет время работы определенного участка?
Ответ:
 (1) если некоторый участок программы окружить функцией MPI_GET_PROCESSOR_NAME
 
 (2) если некоторый участок программы окружить функцией DOUBLE PRECISION MPI_WTICK
 
 (3) если некоторый участок программы окружить функцией DOUBLE PRECISION MPI_WTIME
 
Номер 2
Какая функция возвращает разрешение таймера на вызвавшем процессе в секундах?
Ответ:
 (1)
DOUBLE PRECISION MPI_WTIME(IERR)
INTEGER IERR
 
 (2)
DOUBLE PRECISION MPI_WTICK(IERR)
INTEGER IERR
 
 (3)
DOUBLE PRECISION MPI_WTICE(IERR)
INTEGER IERR
 
Номер 3
По значению какого параметра можно определить синхронизированы или нет таймеры разных процессов
Ответ:
 (1) MPI_WTICE_IS_GLOBAL
 
 (2) MPI_WTICK_IS_GLOBAL
 
 (3) MPI_WTIME_IS_GLOBAL
 
Упражнение 10:
Номер 1
Какая функция возвращает на вызвавшем процессе астрономическое время в секундах, прошедшее с некоторого момента в прошлом
Ответ:
 (1)
DOUBLE PRECISION MPI_WTIME(IERR)
INTEGER IERR
 
 (2)
DOUBLE PRECISION MPI_WTICK(IERR)
INTEGER IERR
 
 (3)
DOUBLE PRECISION MPI_WTICE(IERR)
INTEGER IERR
 
Номер 2
С помощью какой процедуры можно определить, на какие физические процессоры были спланированы процессы MPI
-приложения
Ответ:
 (1)
MPI_GET_PROCESSOR_NAME(NAME, LEN, IERR)
CHARACTER*(*) NAME
INTEGER LEN, IERR
 
 (2)
MPI_START (REQUEST, IERR)
INTEGER REQUEST, IERR
 
 (3)
MPI_ALLGATHERV(SBUF, SCOUNT, STYPE, RBUF, RCOUNTS, DISPLS,
RTYPE, COMM, IERR)
<type> SBUF(*), RBUF(*)
INTEGER SCOUNT, STYPE, RCOUNTS(*), DISPLS(*), RTYPE, COMM, IERR
 
Номер 3
Какое количество символов в имени возвращается в данной процедуре в переменной LEN
MPI_GET_PROCESSOR_NAME(NAME, LEN, IERR)
CHARACTER*(*) NAME
INTEGER LEN, IERR
Ответ:
 (1) превышающее значения константы MPI_MAX_PROCESSOR_NAME
 
 (2) равное значению константы MPI_MAX_PROCESSOR_NAME
 
 (3) не превышающее значения константы MPI_MAX_PROCESSOR_NAME
 
Упражнение 11:
Номер 1
Какой атрибут является уникальным для каждого процесса MPI
-программы в каждой группе, в которую он входит?
Ответ:
 (1) коммуникатор 
 (2) номер в коммуникаторе 
 (3) номер процесса 
Номер 2
Назовите основные атрибуты процесса
Ответ:
 (1) коммуникатор 
 (2) номер в коммуникаторе 
 (3) номер процесса 
Номер 3
В каких пределах лежит номер любого процесса в определенной группе, если группа содержит n
процессов?
Ответ:
 (1) от 0 до n-1
 
 (2) от 0 до n+1
 
 (3) от 0 до 1-n
 
Упражнение 12:
Номер 1
Какие атрибуты можно отнести к сообщению?
Ответ:
 (1) тэг сообщения 
 (2) коммуникатор 
 (3) номер процесса-отправителя 
Номер 3
При работе с атрибутами сообщений массив (структура) дает доступ...
Ответ:
 (1) к идентификаторам сообщений 
 (2) к значениям сообщений 
 (3) к коммуникатору сообщений