Главная / Суперкомпьютерные технологии / Параллельное программирование с использованием технологии MPI

Параллельное программирование с использованием технологии MPI - ответы на тесты Интуит

Правильные ответы выделены зелёным цветом.
Все ответы: Технология MPI является основным средством программирования для кластерных систем и компьютеров с распределенной памятью, но может применяться также и на вычислительных системах других типов.
Смотрите также:
Наиболее распространенной технологией программирования для параллельных ПК с рапределенной памятью является...
(1) HPI
(2) MPI
(3) MPT
Данный процесс служит для... MPI_INIT(IERR) INTEGER IERR
(1) инициализации параллельной части программ
(2) завершения параллельной части приложения
(3) возвращения к параллельной части программы
Какие средства должны содержать программы, написанные с использованием коммуникационной технологии MPI?
(1) для порождения параллельных процессов
(2) для завершения параллельных процессов
(3) для взаимодействия запущенных процессов между собой
Каких коллективных операций в MPI не существует?
(1) с блокировкой
(2) без блокировки
(3) как тех, так и других
Какие задачи можно решить при помощи создания независимого коммуникатора
(1) работа над своей независимой подзадачей некоторой группе процессов
(2) обмен данными только для части процессов
(3) непересечение между пересылками данных в библиотечных модулях и пересылками в основной программе
Топология - это...
(1) механизм упорядочивания коллективных процессов
(2) механизм сопоставления процессам некоторого коммуникатора альтернативной схемы адресации
(3) механизм предоставления отдельного контекста обмена процессов некоторой группы
Сообщение в MPI - это...
(1) массив разнотипных данных, расположенных в последовательных ячейках памяти
(2) массив однотипных данных, расположенных в последовательных ячейках памяти
(3) массив данных, расположенных в параллельных ячейках памяти
Назовите основной способ взаимодействия параллельных процессов
(1) передача сообщений друг другу
(2) передача цифровых данных
(3) распределение памяти на вычислительной платформе
Все, кроме одной процедуры MPI могут быть вызваны только после вызова...
(1) MPI_FINALIZE
(2) MPI_INIT
(3) MPI_INITIALIZED
Операции, предназначенные для взаимодействия всех процессов некоторого коммуникатора, называются...
(1) индивидуальными
(2) коллективными
(3) операциями типа точка-точка
Возможна ли синхронизация процессов с помощью коллективных операций?
(1) да
(2) не всегда
(3) нет
Какой коммуникатор обозначает пустую группу, не содержащую ни одного процесса
(1) MPI_GROUP_EMPTY
(2) MPI_GROUP_NULL
(3) MPI_GROUP_WORLD
С помощью чего топология используется системой для оптимизации распределения процессов по физическим процессорам используемого параллельного компьютера?
(1) при помощи изменения самого коммуникатора
(2) при помощи изменения порядка нумерации процессов внутри коммуникатора
(3) при помощи удаления дублирующих процессов внутри коммуникатора
Какие типы данных создаются во время выполнения программы с помощью процедур-конструкторов на основе существующих к моменту вызова конструктора типов данных
(1) коллективные
(2) предопределенные
(3) производные
Технология MPI - это...
(1) интерфейс получения данных
(2) интерфейс распределения сообщений
(3) интерфейс передачи сообщений
Из каких аргументов командной строки программы система может извлекать и передавать в параллельные процессы параметры запуска программы?
(1) args
(2) argv
(3) argc
Операции предназначенные для взаимодействия двух процессов программы называются...
(1) индивидуальными
(2) коллективными
(3) операциями типа точка-точка
Какая из перечисленных процедур используется для барьерной синхронизации процессов?
(1) DOUBLE PRECISION MPI_WTIME(IERR) INTEGER IERR
(2) MPI_START (REQUEST, IERR) INTEGER REQUEST, IERR
(3) MPI_BARRIER (COMM, IERR) INTEGER COMM, IERR
Новые группы можно создавать на основе...
(1) существующих групп
(2) коммуникаторов
(3) процессов
С помощью какой процедуры можно определитьтип топологии, связанной с коммуникатором COMM
(1) MPI_TOPO_TEST(COMM, TYPE, IERR) INTEGER COMM, TYPE, IERR
(2) MPI_CART_CREATE(COMM, NDIMS, DIMS, PERIODS, REORDER, COMM_CART,IERR) INTEGER COMM, NDIMS, DIMS(*), COMM_CART, IERR
(3) MPI_CART_COORDS(COMM, RANK, MAXDIMS, COORDS, IERR) INTEGER COMM, RANK, MAXDIMS, COORDS(*), IERR
Назовите основные характеристики производственного типа данных
(1) упаковка данных, расположенных не в последовательных ячейках памяти
(2) последовательность базовых типов данных
(3) набор целочисленных значений смещения элементов типа относительно начала буфера обмена
Интерфейс, зафиксированный стандартом MPI, должен соблюдаться...
(1) системой программирования на каждой вычислительной платформе
(2) параллельным процессом системы
(3) пользователем при создании программ
На каком языке написана данная 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) Паскаль
Какой из процессов операции типа точка-точка должен вызвать одну из процедур и явно указать номер в некотором коммуникаторе
(1) процесс-отправитель
(2) процесс-получатель
(3) как тот, так и другой
С помощьюкакой процедуры использование отложенных запросов позволяет инициализировать посылку данных только один раз?
(1) MPI_START
(2) MPI_BARRIER
(3) MPI_INIT
С помощью какой процедуры возможно получение группы GROUP, соответствующей коммуникатору COMM
(1) MPI_GROUP_INCL(GROUP, N, RANKS, NEWGROUP, IERR) INTEGER GROUP, N, RANKS(*), NEWGROUP, IERR
(2) MPI_GROUP_EXCL(GROUP, N, RANKS, NEWGROUP, IERR) INTEGER GROUP, N, RANKS(*), NEWGROUP, IERR
(3) MPI_COMM_GROUP(COMM, GROUP, IERR) INTEGER COMM, GROUP, IERR
С помощью какого параметра в данном процессе задается размерность получаемой декартовой решетки MPI_CART_CREATE(COMM, NDIMS, DIMS, PERIODS, REORDER, COMM_CART,IERR) INTEGER COMM, NDIMS, DIMS(*), COMM_CART, IERR LOGICAL PERIODS(*), REORDER
(1) DIMS
(2) NDIMS
(3) COMM_CART
С помощью каких процедур возможно создание нового типа данных NEWTYPE
(1) MPI_TYPE_CONTIGUOUS(COUNT, TYPE, NEWTYPE, IERR) INTEGER COUNT, TYPE, NEWTYPE, IERR
(2) MPI_TYPE_VECTOR(COUNT, BLOCKLEN, STRIDE, TYPE, NEWTYPE, IERR) INTEGER COUNT, BLOCKLEN, STRIDE, TYPE, NEWTYPE, IERR
(3) MPI_GRAPH_NEIGHBORS_COUNT(COMM, RANK, NNEIGHBORS, IERR) INTEGER COMM, RANK, NNEIGHBORS, IERR
Какая версия стандарта MPI получила широкое распространение?
(1) версия 1.0
(2) версия 1.1
(3) версия 2.0
Какая из перечисленных процедур может быть вызвана до вызова MPI_INIT
(1) MPI_COMM_RANK
(2) MPI_COMM_SIZE
(3) MPI_INITIALIZED
К каким операциям относятся процедуры с блокировкой и без блокировки?
(1) коллективным
(2) индивидуальным
(3) к тем и другим
Какие значения в данной процедуре должны быть одинаковыми у всех процессов? MPI_BCAST(BUF, COUNT, DATATYPE, ROOT, COMM, IERR) <type>BUF(*) INTEGER COUNT, DATATYPE, ROOT, COMM, IERR
(1) COUNT
(2) ROOT
(3) COMM
С помощью какой процедуры можно задать новый порядок процессов в группе
(1) MPI_GROUP_INCL(GROUP, N, RANKS, NEWGROUP, IERR) INTEGER GROUP, N, RANKS(*), NEWGROUP, IERR
(2) MPI_GROUP_EXCL(GROUP, N, RANKS, NEWGROUP, IERR) INTEGER GROUP, N, RANKS(*), NEWGROUP, IERR
(3) MPI_COMM_GROUP(COMM, GROUP, IERR) INTEGER COMM, GROUP, IERR
В каком случае в данной процедуре некоторые процессы не будут принимать участие в создаваемой топологии MPI_CART_CREATE(COMM, NDIMS, DIMS, PERIODS, REORDER, COMM_CART,IERR) INTEGER COMM, NDIMS, DIMS(*), COMM_CART, IERR LOGICAL PERIODS(*), REORDER
(1) если количество процессов в задаваемой топологии COMM_CART меньше числа процессов в исходном коммуникаторе сомм
(2) если количество процессов в задаваемой топологии COMM_CART равно числу процессов в исходном коммуникаторе сомм
(3) если количество процессов в задаваемой топологии COMM_CART больше числа процессов в исходном коммуникаторе сомм
Какая процедура отвечает за создание нового типа данных NEWTYPE, состоящего из COUNT блоков по BLOCKLEN элементов базового типа данных TYPE
(1) MPI_TYPE_VECTOR(COUNT, BLOCKLEN, STRIDE, TYPE, NEWTYPE, IERR) INTEGER COUNT, BLOCKLEN, STRIDE, TYPE, NEWTYPE, IERR
(2) MPI_TYPE_CONTIGUOUS(COUNT, TYPE, NEWTYPE, IERR) INTEGER COUNT, TYPE, NEWTYPE, IERR
(3) MPI_TYPE_HVECTOR(COUNT, BLOCKLEN, STRIDE, TYPE, NEWTYPE, IERR) INTEGER COUNT, BLOCKLEN, STRIDE, TYPE, NEWTYPE, IERR
В каком году появилась версия 2.0 стандарта MPI?
(1) в 1993 - 1994 гг.
(2) в 1995 - 1996 гг.
(3) в 1997 - 1998 гг.
В каком аргументе процедура возвращает число параллельных процессов в коммуникаторе COMM?
(1) FLAG
(2) SIZE
(3) RANK
Каким образом должен указываться тип передаваемых элементов?
(1) с помощью посылаемого сообщения
(2) с помощью предопределенных констант типа
(3) с помощь значения COUNT
Каким массивом задается порядок расположения данных в результирующем буфере RBUF?
(1) RCOUNTS
(2) DISPLS
(3) RTYPE
С помощью данной процедуры возможно... MPI_GROUP_EXCL(GROUP, N, RANKS, NEWGROUP, IERR) INTEGER GROUP, N, RANKS(*), NEWGROUP, IERR
(1) получение группы GROUP, соответствующей коммуникатору COMM
(2) создание группы NEWGROUP из N процессов прежней группы GROUP с рангами RANKS (l),...,RANKS (N)
(3) создание группы NEWGROUP ИЗ процессов группы GROUP, исключая процессы с рангами RANKS (1),...,RANKS (N)
В каком случае будет рассчитано значение DIMS(I) данной процедурой MPI_DIMS_CREATE(NNODES, NDIMS, DIMS, IERR) INTEGER NNODES, NDIMS, DIMS(*), IERR
(1) если перед вызовом значение равно 0
(2) если перед вызовом значение меньше 0
(3) если перед вызовом значение больше 0
В какой процедуре I-й блок начинается через DISPLS (I) байт с начала буфера посылки
(1) MPI_TYPE_INDEXED(COUNT, BLOCKLENS, DISPLS, TYPE, NEWTYPE, IERR) INTEGER COUNT, BLOCKLENS(*), DISPLS(*), TYPE, NEWTYPE, IERR
(2) MPI_TYPE_STRUCT(COUNT, BLOCKLENS, DISPLS, TYPES, NEWTYPE, IERR) INTEGER COUNT, BLOCKLENS(*), DISPLS(*), TYPES(*), NEWTYPE, IERR
(3) MPI_TYPE_HINDEXED(COUNT, BLOCKLENS, DISPLS, TYPE, NEWTYPE, IERR) INTEGER COUNT, BLOCKLENS(*), DISPLS(*), TYPE, NEWTYPE, IERR
С какими языками поддерживает работу MPI?
(1) Фортран
(2) Си
(3) Паскаль
В каком аргументе процедура MPI_COMM_RANK (COMM, RANK, IERR) возвращает номер процесса в коммуникаторе COMM?
(1) FLAG
(2) SIZE
(3) RANK
С каким кодом завершения завершаются операции с несуществующим процессом?
(1) MPI_WORLD
(2) MPI_SUCCESS
(3) MPI_REAL
Какая из перечисленных процедур является обратной по своему действию MPI_SCATTER
(1) MPI_BCAST
(2) MPI_BARRIER
(3) MPI_GATHER
С помощью какой процедуры происходит создание группы NEWGROUP из пересечения групп GROUP 1 и GROUP 2
(1) MPI_GROUP_INTERSECTION(GROUP1, GROUP2, NEWGROUP, IERR) INTEGER GROUP1, GROUP2, NEWGROUP, IERR
(2) MPI_GROUP_UNION(GROUP1, GROUP2, NEWGROUP, IERR) INTEGER GROUP1, GROUP2, NEWGROUP, IERR
(3) MPI_GROUP_DIFFERENCE(GROUP1, GROUP2, NEWGROUP, IERR) INTEGER GROUP1, GROUP2, NEWGROUP, IERR
С помощью какой процедуры можно определить декартовые координаты процесса по его рангу
(1) MPI_CART_RANK(COMM, COORDS, RANK, IERR) INTEGER COMM, COORDS(*), RANK, IERR
(2) MPI_CART_COORDS(COMM, RANK, MAXDIMS, COORDS, IERR) INTEGER COMM, RANK, MAXDIMS, COORDS(*), IERR
(3) MPI_CART_SUB(COMM, DIMS, NEWCOMM, IERR) INTEGER COMM, NEWCOMM, IERR LOGICAL DIMS(*)
Какая процедура отвечает за регистрацию созданного производственного типа данных DATATYPE
(1) MPI_TYPE_COMMIT(DATATYPE, IERR) INTEGER DATATYPE, IERR
(2) MPI_ADDRESS(LOCATION, ADDRESS, IERR) <type> LOCATION(*) INTEGER ADDRESS, IERR
(3) MPI_TYPE_FREE(DATATYPE, IERR) INTEGER DATATYPE, IERR
Какое количество описаний и функций содержит полная версия интерфейса MPI?
(1) менее 100
(2) более 125
(3) более 200
Какая из функций возвращает на вызвавшем процессе астрономическое время в секундах, прошедшее с некоторого момента в прошлом?
(1) DOUBLE PRECISION MPI_WTIME(IERR) INTEGER IERR
(2) DOUBLE PRECISION MPI_WTICK(IERR) INTEGER IERR
(3) DOUBLE PRECISION MPI_WTICE(IERR) INTEGER IERR
При какой процедуре возможно повторное использование буфера посылки?
(1) MPI_BSEND
(2) MPI_SSEND
(3) MPI_RSEND
С помощью какой процедуры возможна рассылка каждым процессом коммуникатора COMM различных порций данных всем другим процессам
(1) MPI_ALLTOALL
(2) MPI_ALLGATHER
(3) MPI_BARRIER
В какой процедуре полученная группа содержит все процессы группы GROUP 1, входящие также в группу GROUP2 и упорядоченные, как в первой группе
(1) MPI_GROUP_INTERSECTION(GROUP1, GROUP2, NEWGROUP, IERR) INTEGER GROUP1, GROUP2, NEWGROUP, IERR
(2) MPI_GROUP_UNION(GROUP1, GROUP2, NEWGROUP, IERR) INTEGER GROUP1, GROUP2, NEWGROUP, IERR
(3) MPI_GROUP_DIFFERENCE(GROUP1, GROUP2, NEWGROUP, IERR) INTEGER GROUP1, GROUP2, NEWGROUP, IERR
В какой из процедур отсчет координат по каждому измерению начинается с нуля
(1) MPI_CART_RANK(COMM, COORDS, RANK, IERR) INTEGER COMM, COORDS(*), RANK, IERR
(2) MPI_CART_COORDS(COMM, RANK, MAXDIMS, COORDS, IERR) INTEGER COMM, RANK, MAXDIMS, COORDS(*), IERR
(3) MPI_CART_SUB(COMM, DIMS, NEWCOMM, IERR) INTEGER COMM, NEWCOMM, IERR LOGICAL DIMS(*)
С помощью данной процедуры возможно определить... MPI_ADDRESS(LOCATION, ADDRESS, IERR) <type> LOCATION(*) INTEGER ADDRESS, IERR
(1) размер типа данных DATATYPE в байтах
(2) абсолютный байт-адрес размещения массива LOCATION в оперативной памяти компьютера
(3) зарегистрировать абсолютный байт-адрес массива
В каком стиле поддерживает интерфейс MPI создание параллельных программ?
(1) в стиле MIMD
(2) в стиле SPMD
(3) как в том, так и в другом стиле
В каком случае разность возвращаемых значений покажет время работы определенного участка?
(1) если некоторый участок программы окружить функцией MPI_GET_PROCESSOR_NAME
(2) если некоторый участок программы окружить функцией DOUBLE PRECISION MPI_WTICK
(3) если некоторый участок программы окружить функцией DOUBLE PRECISION MPI_WTIME
Какая константа используется в определении размера массива, выделяемого для буферизации?
(1) MPI_BSEND_OVERHEAD
(2) MPI_SSEND_OVERHEAD
(3) MPI_RSEND_OVERHEAD
С помощью каких констант можно задать логические "И", "ИЛИ", исключающее "ИЛИ"
(1) MPI_MINLOC, MPI_MAXLOC
(2) MPI_LAND, MPI_LOR, MPI_LXOR
(3) MPI_BAND, MPI_BOR, MPI_BXOR
С помощью какой процедуры можно сравнить группы GROUP1 и GROUP2
(1) MPI_GROUP_SIZE(GROUP, SIZE, IERR) INTEGER GROUP, SIZE, IERR
(2) MPI_GROUP_RANK(GROUP, RANK, IERR) INTEGER GROUP, RANK, IERR
(3) МРI_GROUP_COMPARE(GROUP1, GROUP2, RESULT, IERR) INTEGER GROUP1, GROUP2, RESULT, IERR
В каком параметре данной процедуры возвращается количество процессов для каждого измерения MPI_CART_GET(COMM, MAXDIMS, DIMS, PERIODS, COORDS, IERR) INTEGER COMM, MAXDIMS, DIMS(*), COORDS(*), IERR LOGICAL PERIODS(*)
(1) DIMS
(2) PERIODS
(3) COORDS
С помощью какой процедуры можно определить разницу между верхней и нижней границами элемента типа данных DATATYPE
(1) MPI_TYPE_LB(DATATYPE, DISPL, IERR) INTEGER DATATYPE, DISPL, IERR
(2) MPI_TYPE_UB(DATATYPE, DISPL, IERR) INTEGER DATATYPE, DISPL, IERR
(3) MPI_TYPE_EXTENT(DATATYPE, EXTENT, IERR) INTEGER DATATYPE, EXTENT, IERR
В рамках какой модели для всех параллельных процессов используется один и тот же код?
(1) MIMD
(2) SPMD
(3) MPMD
Какая функция возвращает на вызвавшем процессе астрономическое время в секундах, прошедшее с некоторого момента в прошлом
(1) DOUBLE PRECISION MPI_WTIME(IERR) INTEGER IERR
(2) DOUBLE PRECISION MPI_WTICK(IERR) INTEGER IERR
(3) DOUBLE PRECISION MPI_WTICE(IERR) INTEGER IERR
В каком случае может возникнуть ошибка переполнения в буфере BUF?
(1) если количество элементов в принимаемом сообщении меньше значения COUNT
(2) если количество элементов в принимаемом сообщении равно значению COUNT
(3) если количество элементов в принимаемом сообщении больше значения COUNT
С помощью какого процесса возможно задать интерфейс пользовательской функции для создания глобальной операции
(1) MPI_SCAN(SBUF, RBUF, COUNT, DATATYPE, OP, COMM, IERR) <type> SBUF(*), RBUF(*) INTEGER COUNT, DATATYPE, OP, COMM, IERR
(2) MPI_OP_CREATE(FUNC, COMMUTE, OP, IERR) EXTERNAL FUNC LOGICAL COMMUTE INTEGER OP, IERR
(3) FUNCTION FUNC(INVEC(*), INOUTVEC(*), LEN, TYPE) <type> INVEC(LEN), INOUTVEC(LEN) INTEGER LEN, TYPE
После выполнения данной процедуры какое значение принимает переменная GROUP МРI_GROUP_FREE(GROUP, IERR) INTEGER GROUP, IERR
(1) MPI_GROUP_EMPTY
(2) MPI_GROUP_NULL
(3) MPI_COMM_WORLD
Какой массив в данной процедуре содержит список номеров процессов-соседей всех вершин MPI_GRAPH_CREATE(COMM, NNODES, INDEX, EDGES, REORDER, COMM_GRAPH, IERR) INTEGER COMM, NNODES, INDEX(*), EDGES(*), COMM_GRAPH, IERR LOGICAL REORDER
(1) REORDER
(2) EDGES
(3) NNODES
Для пересылки разнородных данных можно использовать...
(1) упаковку данных
(2) распаковку данных
(3) буферизация данных
MPI является...
(1) библиотекой
(2) файловой структурой
(3) платформой
Какой атрибут является уникальным для каждого процесса MPI-программы в каждой группе, в которую он входит?
(1) коммуникатор
(2) номер в коммуникаторе
(3) номер процесса
Какое будет принято сообщение при одновременном использовании констант MPI_ANY_SOURCE и MPI_ANY_TAG
(1) сообщение от любого процесса
(2) сообщение с любым идентификатором
(3) сообщение с любым идентификатором от любого процесса
Из какого параметра данной процедуры берется первый аргумент FUNCTION FUNC(INVEC(*), INOUTVEC(*), LEN, TYPE) <type> INVEC(LEN), INOUTVEC(LEN) INTEGER LEN, TYPE
(1) INVEC
(2) INOUTVEC
(3) LEN
Какой коммуникатор объединяет все процессы приложения
(1) MPI_COMM_WORLD
(2) MPI_COMM_NULL
(3) MPI_COMM_SELF
С помощью какого процесса можно определить ранги непосредственных соседей процесса с рангом RANK в графовой топологии, связанной с коммуникатором сомм
(1) MPI_GRAPH_NEIGHBORS_COUNT(COMM, RANK, NNEIGHBORS, IERR) INTEGER COMM, RANK, NNEIGHBORS, IERR
(2) MPI_GRAPH_NEIGHBORS(COMM, RANK, MAX, NEIGHBORS, IERR) INTEGER COMM, RANK, MAX, NEIGHBORS(*), IERR
(3) MPI_GRAPHDIMS_GET(COMM, NNODES, NEDGES, IERR) INTEGER COMM, NNODES, NEDGES, IERR
Из какого массива происходит упаковка элементов типа DATATYPE
(1) INBUF
(2) OUTBUF
(3) INCOUNT
Опция компилятора "-o name" позволяет задать...
(1) имя прилинкованных библиотечных модулей
(2) имя получаемого библиотечного файла
(3) имя для получаемого выполнимого файла
Какие атрибуты можно отнести к сообщению?
(1) тэг сообщения
(2) коммуникатор
(3) номер процесса-отправителя
Для какой константы характерна несимметричность операций посылки и приема сообщений
(1) MPI_ANY_SOURCE
(2) MPI_ANY_TAG
(3) MPI_ANY_ERROR
Какая функция в данном процессе вычисляет поэлементную сумму по модулю 5 векторов целочисленных аргументов MPI_OP_FREE. program example15 include 'mpif.h' integer ierr, rank, i, n parameter (n = 1 000) integer a(n), b(n) integer op external smod5 call MPI_INIT(ierr) call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr) do i = 1, n a(i) = i + rank end do print *, 'process ', rank, ' a(1) =', a(1) call MPI_OP_CREATE(smod5, .TRUE., op, ierr) call MPI_REDUCE(a, b, n, MPI_INTEGER, op, 0, & MPI_COMM_WORLD, ierr) call MPI_OP_FREE(op, ierr) if(rank .eq. 0) print *, ' b(1) =', b(1) call MPI_FINALIZE(ierr) end integer function smod5(in, inout, l, type) integer l, type integer in(l), inout(l), i do i = 1, l inout(i) = mod(in(i)+inout(i), 5) end do return end
(1) smod5
(2) inout
(3) op
С помощью какой процедуры возможно Создание нового коммуникатора NEWCOMM с той же группой процессов и атрибутами, что и у коммуникатора сомм
(1) МРI_GROUP_FREE(GROUP, IERR) INTEGER GROUP, IERR
(2) MPI_COMM_CREATE(COMM, GROUP, NEWCOMM, IERR) INTEGER COMM, GROUP, NEWCOMM, IERR
(3) MPI_COMM_DUP(COMM, NEWCOMM, IERR) INTEGER COMM, NEWCOMM, IERR
С помощью какой процедуры в массивах INDEX и EDGES возвращается описание графовой топологии в том виде, как она задается при создании топологии
(1) MPI_GRAPH_NEIGHBORS
(2) MPI_GRAPH_NEIGHBORS_COUNT
(3) MPI_GRAPH_CREATE
С помощью какой процедуры можно упаковать INCOUNT элементы типа DATATYPE
(1) MPI_PACK(INBUF, INCOUNT, DATATYPE, OUTBUF, OUTSIZE, POSITION, COMM, IERR) <type> INBUF(*), OUTBUF(*) INTEGER INCOUNT, DATATYPE, OUTSIZE, POSITION, COMM, IERR
(2) MPI_TYPE_EXTENT(DATATYPE, EXTENT, IERR) INTEGER DATATYPE, EXTENT, IERR
(3) MPI_TYPE_UB(DATATYPE, DISPL, IERR) INTEGER DATATYPE, DISPL, IERR
Какой параметр в данной процедуре используется для идентификации конкретной неблокирующей операции 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
С помощью какой процедуры возможно ожидание завершения одной из 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
Какая процедура позволяет инициализировать 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
При компиляции программы на языке Фортран90 прилинковать библиотечные модули можно с помощью скрипта...
(1) mpicc
(2) mpiCC
(3) mpif90
Инициализация параллельной части программы выполняется с помощью...
(1) MPI_INIT(IERR) INTEGER IERR
(2) MPI_FINALIZE(IERR) INTEGER IERR
(3) MPI_INITIALIZED(IERR) INTEGER IERR
С помощью чего осуществляется взаимодействие запущенных процессов между собой в MPI?
(1) посредством явной посылки сообщений
(2) посредством передачи цифровых данных
(3) посредством получения сообщений
Могут ли использоваться в коллективных операциях те же коммуникаторы, использовавшиеся для операций точка-точка?
(1) да
(2) иногда
(3) нет
Упорядоченное множество процессов называется
(1) коммуникатором
(2) группой
(3) рангом
В MPI топологии с физической топологией коммуникационной сети...
(1) связаны
(2) сопоставляются
(3) не связаны
Какие способы пересылки разнотипных данных в MPI существуют
(1) производственные типы данных
(2) упаковка данных
(3) временная буферизация
При использовании какого языка являются существенным в названиях функций регистр символов?
(1) Фортран
(2) Си
(3) Паскаль
Завершение параллельной части приложения выполняется с помощью...
(1) MPI_INIT(IERR) INTEGER IERR
(2) MPI_FINALIZE(IERR) INTEGER IERR
(3) MPI_INITIALIZED(IERR) INTEGER IERR
Коллективные операции предназначены...
(1) для взаимодействия двух процессов программы
(2) для взаимодействия одинаковых процессов
(3) для взаимодействия всех процессов некоторого коммуникатора
С помощью какой коллективной процедуры возможна синхронизация процессов
(1) MPI_STARTAL
(2) MPI_WAITALL
(3) MPI_BARRIER
Какой коммуникатор обозначает значение, используемое для ошибочной группы
(1) MPI_GROUP_EMPTY
(2) MPI_GROUP_NULL
(3) MPI_GROUP_WORLD
Какие типы топологии предусмотрены в MPI?
(1) топология тега
(2) декартова топологи
(3) топология графа
Назовите основные этапы создания типа данных
(1) конструирование типа
(2) передача типа
(3) регистрация типа
Каким образом записывается название функций MPI на языке Си?
(1) первая буква после префикса MPI_ пишется в верхнем регистре, последующие буквы - в нижнем регистре
(2) название полностью записывается в верхнем регистре
(3) название полностью записывается в нижнем регистре
К моменту вызова какой процедуры каждым процессом программы все действия должны быть завершены?
(1) MPI_WORLD
(2) MPI_FINALIZE
(3) MPI_REAL
Операции типа точка-точка предназначены...
(1) для взаимодействия двух процессов программы
(2) для взаимодействия одинаковых процессов
(3) для взаимодействия всех процессов
Для чего используется процедура MPI_BARRIER (COMM, IERR) INTEGER COMM, IERR
(1) для барьерной синхронизации процессов
(2) для совмещенного приема и передачи сообщений с блокировкой
(3) для инициализации отложенных запросов
Какие новые группы могут использоваться в операциях обмена
(1) созданные на основе существующих групп
(2) созданные на основе коммуникаторов
(3) созданные на основе процессов
Какое значение параметра TYPE в данной процедуре будет для декартовой типологии MPI_TOPO_TEST(COMM, TYPE, IERR) INTEGER COMM, TYPE, IERR
(1) MPI_GRAPH
(2) MPI_CART
(3) MPI_UNDEFINED
В производном типе данных смещения могут быть
(1) положительными
(2) отрицательными
(3) иррациональными
Почему в начале MPI-программы должна стоять директива include 'mpif.h'?
(1) названия констант MPI будут писаться в нижнем регистре
(2) все описания интерфейса MPI собраны в файле mpif.h
(3) будут устранены конфликты с объектами MPI
'Before MPI_INIT' может печатать...
(1) один выделенный процесс
(2) все процессы коммуникатора
(3) все запущенные процессы приложения
Какой из процессов операции типа точка-точка должен вызвать одну из процедур с указанием того же коммутатора
(1) процесс-отправитель
(2) процесс-получатель
(3) как тот, так и другой
С помощью какой процедуры можно проиллюстрировать действие процедуры MPI_BCAST?
(1) files
(2) files
(3) files
При помощи какого вызова можно получить группу, соответствующую коммуникатору MPI_COMM_WORLD
(1) call MPI_GROUP_INCL(MPI_COMM_WORLD, group, ierr)
(2) call MPI_COMM_GROUP(MPI_COMM_WORLD, group, ierr)
(3) call MPI_GROUP_EXCL(MPI_COMM_WORLD, group, ierr)
С помощью какого логического массива можно определить, является ли решетка периодической вдоль каждого измерения MPI_CART_CREATE(COMM, NDIMS, DIMS, PERIODS, REORDER, COMM_CART,IERR) INTEGER COMM, NDIMS, DIMS(*), COMM_CART, IERR LOGICAL PERIODS(*), REORDER
(1) PERIODS
(2) REORDER
(3) COMM_CART
В какой процедуре полученный тип данных можно считать обобщением векторного типа
(1) MPI_TYPE_VECTOR(COUNT, BLOCKLEN, STRIDE, TYPE, NEWTYPE, IERR) INTEGER COUNT, BLOCKLEN, STRIDE, TYPE, NEWTYPE, IERR
(2) MPI_TYPE_INDEXED(COUNT, BLOCKLENS, DISPLS, TYPE, NEWTYPE, IERR) INTEGER COUNT, BLOCKLENS(*), DISPLS(*), TYPE, NEWTYPE, IERR
(3) MPI_TYPE_HVECTOR(COUNT, BLOCKLEN, STRIDE, TYPE, NEWTYPE, IERR) INTEGER COUNT, BLOCKLEN, STRIDE, TYPE, NEWTYPE, IERR
Что не допускается в ходе выполнения MPI-программы в версиях до MPI 2.0
(1) параллельное взаимодействие процессов
(2) порождение дополнительных процессов
(3) уничтожение существующих процессов
Какое значение процедура MPI_INITIALIZED возвращает в аргументе FLAG, если вызвана из параллельной части?
(1) .TRUE
(2) .FALSE
(3) .RANK
Процедуры с синхронизацией приостанавливают работу процесса...
(1) во время проверки массивов данных
(2) после инициализации соответствующей коммуникационной операции
(3) до выполнения некоторого условия
Каким образом собирающий процесс сохраняет данные в буфере RBUF?
(1) в порядке возрастания номеров процессов
(2) в порядке убывания номеров процессов
(3) в произвольном порядке
В каком случае в данном процессе будет создана пустая группа MPI_GROUP_EMPTY MPI_GROUP_INCL(GROUP, N, RANKS, NEWGROUP, IERR) INTEGER GROUP, N, RANKS(*), NEWGROUP, IERR
(1) N=1
(2) N=0
(3) N=-1
В каком случае в данном процессе вызов будет ошибочен MPI_CART_CREATE(COMM, NDIMS, DIMS, PERIODS, REORDER, COMM_CART,IERR) INTEGER COMM, NDIMS, DIMS(*), COMM_CART, IERR LOGICAL PERIODS(*), REORDER
(1) если количество процессов в задаваемой топологии меньше числа процессов в исходном коммуникаторе
(2) если количество процессов в задаваемой топологии равно числу процессов в исходном коммуникаторе
(3) если количество процессов в задаваемой топологии больше числа процессов в исходном коммуникаторе
В какой процедуре следующий блок начинается через STRIDE элементов базового типа данных после начала предыдущего блока
(1) MPI_TYPE_VECTOR(COUNT, BLOCKLEN, STRIDE, TYPE, NEWTYPE, IERR) INTEGER COUNT, BLOCKLEN, STRIDE, TYPE, NEWTYPE, IERR
(2) MPI_TYPE_CONTIGUOUS(COUNT, TYPE, NEWTYPE, IERR) INTEGER COUNT, TYPE, NEWTYPE, IERR
(3) MPI_TYPE_HVECTOR(COUNT, BLOCKLEN, STRIDE, TYPE, NEWTYPE, IERR) INTEGER COUNT, BLOCKLEN, STRIDE, TYPE, NEWTYPE, IERR
Все процессы в MPI порождаются...
(1) один раз, образуя общую часть программы
(2) один раз, образуя параллельную часть программы
(3) много раз, образуя резервную часть программы
Какая из предложенных процедур возвращает число параллельных процессов в коммуникаторе 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
В каком файле перечислен полный список предопределенных имен типов данных?
(1) mpiff.h
(2) mpif.h
(3) mpi.h
Какой массив содержит количество элементов, передаваемых от каждого процесса?
(1) RCOUNTS
(2) DISPLS
(3) RTYPE
В каком случае в данном процессе будет создана группа, идентичная старой группе MPI_GROUP_EXCL(GROUP, N, RANKS, NEWGROUP, IERR) INTEGER GROUP, N, RANKS(*), NEWGROUP, IERR
(1) N=1
(2) N=0
(3) N=-1
Каким образом будут упорядочены выходные значения DIMS, переопределенные данной процедурой MPI_DIMS_CREATE(NNODES, NDIMS, DIMS, IERR) INTEGER NNODES, NDIMS, DIMS(*), IERR
(1) в порядке возрастания
(2) в порядке поступления
(3) в порядке убывания
С помощью данной процедуры возможно... MPI_TYPE_STRUCT(COUNT, BLOCKLENS, DISPLS, TYPES, NEWTYPE, IERR) INTEGER COUNT, BLOCKLENS(*), DISPLS(*), TYPES(*), NEWTYPE, IERR
(1) создание нового типа данных NEWTYPE, состоящего из COUNT блоков по BLOCKLENS (I) элементов базового типа данных
(2) создание структурного типа данных NEWTYPE из COUNT блоков по BLOCKLENS (I) элементов типа TYPES (I)
(3) создание нового типа данных NEWTYPE, состоящего из COUNT блоков
Отдельная среда для общения группы процессов называется...
(1) адресным пространством
(2) коммуникатором
(3) процессорным модулем
Какая из предложенных процедур возвращает номер процесса в коммуникаторе 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
Как называется модификация процедуры передачи сообщения с синхронизацией?
(1) MPI_BSEND
(2) MPI_SSEND
(3) MPI_RSEND
Какая из перечисленных схем иллюстрирует действие процедуры MPI_SCATTER?
(1) files
(2) files
(3) files
С помощью какой процедуры происходит создание группы NEWGROUP ИЗ объединения групп GROUP 1 и GROUP 2
(1) MPI_GROUP_INTERSECTION(GROUP1, GROUP2, NEWGROUP, IERR) INTEGER GROUP1, GROUP2, NEWGROUP, IERR
(2) MPI_GROUP_UNION(GROUP1, GROUP2, NEWGROUP, IERR) INTEGER GROUP1, GROUP2, NEWGROUP, IERR
(3) MPI_GROUP_DIFFERENCE(GROUP1, GROUP2, NEWGROUP, IERR) INTEGER GROUP1, GROUP2, NEWGROUP, IERR
С помощью какой процедуры можно определить ранг процесса по его декартовым координатам
(1) MPI_CART_RANK(COMM, COORDS, RANK, IERR) INTEGER COMM, COORDS(*), RANK, IERR
(2) MPI_CART_COORDS(COMM, RANK, MAXDIMS, COORDS, IERR) INTEGER COMM, RANK, MAXDIMS, COORDS(*), IERR
(3) MPI_CART_SUB(COMM, DIMS, NEWCOMM, IERR) INTEGER COMM, NEWCOMM, IERR LOGICAL DIMS(*)
С помощью какой процедуры возможно аннулировать производственного типа данных DATATYPE
(1) MPI_TYPE_COMMIT(DATATYPE, IERR) INTEGER DATATYPE, IERR
(2) MPI_ADDRESS(LOCATION, ADDRESS, IERR) <type> LOCATION(*) INTEGER ADDRESS, IERR
(3) MPI_TYPE_FREE(DATATYPE, IERR) INTEGER DATATYPE, IERR
Назовите тип коммуникатора в языке Фортран
(1) INTEGER
(2) MPI_Comm
(3) SUCESS
Какая функция возвращает результат своей работы явным образом?
(1) DOUBLE PRECISION MPI_WTIME(IERR) INTEGER IERR
(2) DOUBLE PRECISION MPI_WTICK(IERR) INTEGER IERR
(3) DOUBLE PRECISION MPI_WTICE(IERR) INTEGER IERR
Выполнение какой процедуры не зависит от соответствующего вызова процедуры приема сообщения?
(1) MPI_BSEND
(2) MPI_SSEND
(3) MPI_RSEND
С помощью какой процедуры можно задать свою функцию для выполнения глобальной операции
(1) MPI_OP_CREATE
(2) MPI_INIT
(3) MPI_COMM_RANK
В какой процедуре полученная группа содержит все процессы группы GROUP l в прежнем порядке, за которыми следуют процессы группы GROUP 2, не вошедшие в группу GROUP 1, также в прежнем порядке
(1) MPI_GROUP_INTERSECTION(GROUP1, GROUP2, NEWGROUP, IERR) INTEGER GROUP1, GROUP2, NEWGROUP, IERR
(2) MPI_GROUP_UNION(GROUP1, GROUP2, NEWGROUP, IERR) INTEGER GROUP1, GROUP2, NEWGROUP, IERR
(3) MPI_GROUP_DIFFERENCE(GROUP1, GROUP2, NEWGROUP, IERR) INTEGER GROUP1, GROUP2, NEWGROUP, IERR
В каком случае в данной процедуре координаты вне допустимых интервалов будут пересчитываться MPI_CART_RANK(COMM, COORDS, RANK, IERR) INTEGER COMM, COORDS(*), RANK, IERR
(1) для периодических решеток
(2) для постоянных решеток
(3) для непериодических решеток
В какой системной константе содержится базовый адрес
(1) MPI_ADDRESS
(2) MPI_TYPE_COMMIT
(3) MPI_BOTTOM
какое значение возвращается в случае успешного выполнения процедур MPI?
(1) MPI_NULL
(2) MPI_Comm
(3) MPI_SUCCESS
Какая функция возвращает разрешение таймера на вызвавшем процессе в секундах?
(1) DOUBLE PRECISION MPI_WTIME(IERR) INTEGER IERR
(2) DOUBLE PRECISION MPI_WTICK(IERR) INTEGER IERR
(3) DOUBLE PRECISION MPI_WTICE(IERR) INTEGER IERR
В каком аргументе указывается адрес освобождаемого массива?
(1) IERR
(2) SIZE
(3) BUF
С помощью каких констант возможно определение максимального и минимального значения
(1) MPI_BAND, MPI_BOR
(2) MPI_MINLOC, MPI_MAXLOC
(3) MPI_MAX, MPI_MIN
Если группы GROUP1 и GROUP2 полностью совпадают, то какое значение возвращается МРI_GROUP_COMPARE(GROUP1, GROUP2, RESULT, IERR) INTEGER GROUP1, GROUP2, RESULT, IERR
(1) MPI_IDENT
(2) MPI_SIMILAR
(3) MPI_UNEQUAL
В каком параметре отображаются номера принимающего процесса в декартовой топологии данного процесса MPI_CART_SHIFT(COMM, DIRECTION, DISP, SOURCE, DEST, IERR) INTEGER COMM, DIRECTION, DISP, SOURCE, DEST, IERR
(1) DISP
(2) DEST
(3) SOURCE
С помощью какой процедуры можно определение смещения DISPL нижней границы элемента типа данных DATATYPE
(1) MPI_TYPE_LB(DATATYPE, DISPL, IERR) INTEGER DATATYPE, DISPL, IERR
(2) MPI_TYPE_UB(DATATYPE, DISPL, IERR) INTEGER DATATYPE, DISPL, IERR
(3) MPI_TYPE_EXTENT(DATATYPE, EXTENT, IERR) INTEGER DATATYPE, EXTENT, IERR
Какая из предложенных моделей подразумевает объединение процессов с различными исходными данными?
(1) MIMD
(2) SPMD
(3) MDMD
С помощью какой процедуры можно определить, на какие физические процессоры были спланированы процессы 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
С помощью какой процедуры можно узнать точное число элементов в принимаемом сообщении?
(1) MPI_PROBE
(2) MPI_GET_COUNT
(3) MPI_RECV
Какой функцией будет вычисляться создание пользовательской глобальной операции OP
(1) FUNC
(2) COMMUTE
(3) LEN
Какие коммуникаторы создаются сразу после вызова процедуры MPI_INIT
(1) MPI_COMM_WORLD
(2) MPI_COMM_NULL
(3) MPI_COMM_SELF
С помощью какого параметра задается число вершин графа MPI_GRAPH_CREATE(COMM, NNODES, INDEX, EDGES, REORDER, COMM_GRAPH, IERR) INTEGER COMM, NNODES, INDEX(*), EDGES(*), COMM_GRAPH, IERR LOGICAL REORDER
(1) REORDER
(2) EDGES
(3) NNODES
После выполнения данной процедуры MPI_PACK(INBUF, INCOUNT, DATATYPE, OUTBUF, OUTSIZE, POSITION, COMM, IERR) <type> INBUF(*), OUTBUF(*) INTEGER INCOUNT, DATATYPE, OUTSIZE, POSITION, COMM, IERR какой параметр увеличивается на число байт, равное размеру записи
(1) POSITION
(2) DATATYPE
(3) OUTSIZE
Каким образом при компиляции программы можно прилинковать соответствующие библиотечные модули?
(1) с помощью командной строки
(2) воспользоваться соответствующими командами или скриптами
(3) этого сделать нельзя
Назовите основные атрибуты процесса
(1) коммуникатор
(2) номер в коммуникаторе
(3) номер процесса
Какие константы являются индексом по массиву status?
(1) MPI_SOURCE
(2) MPI_TAG
(3) MPI_ERROR
Какой из параметров данной процедуры задает количество элементов входного и выходного массивов FUNCTION FUNC(INVEC(*), INOUTVEC(*), LEN, TYPE) <type> INVEC(LEN), INOUTVEC(LEN) INTEGER LEN, TYPE
(1) INOUTVEC
(2) LEN
(3) TYPE
Какое значение используется для ошибочного коммуникатора
(1) MPI_COMM_WORLD
(2) MPI_COMM_NULL
(3) MPI_COMM_SELF
Данная процедура отвечает за... MPI_GRAPH_NEIGHBORS_COUNT(COMM, RANK, NNEIGHBORS, IERR) INTEGER COMM, RANK, NNEIGHBORS, IERR
(1) определение количества непосредственных соседей процесса с рангом RANK в графовой топологии, связанной с коммуникатором сомм
(2) определение рангов непосредственных соседей процесса с рангом RANK В графовой топологии, связанной с коммуникатором сомм
(3) определение числа вершин И числа ребер графовой топологии, связанной с коммуникатором сомм
Какой размер имеет массив INBUF в данной процедуре MPI_UNPACK(INBUF, INSIZE, POSITION, OUTBUF, OUTCOUNT, DATATYPE, COMM, IERR) <type> INBUF(*), OUTBUF(*) INTEGER INSIZE, POSITION, OUTCOUNT, DATATYPE, COMM, IERR
(1) не менее OUTSIZE байт
(2) не менее COMM байт
(3) не менее INSIZE байт
Какая команда используется для запуска выполнимого файла на требуемом количестве процессоров?
(1) "-o name"
(2) mpirun
(3) mpif
Какая процедура необходима для определения размера области памяти,выделяемой для хранения принимаемого сообщения?
(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)
В вызове какой процедуры функция smod5 объявляется в качестве глобальной процедуры op MPI_OP_FREE. program example15 include 'mpif.h' integer ierr, rank, i, n parameter (n = 1 000) integer a(n), b(n) integer op external smod5 call MPI_INIT(ierr) call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr) do i = 1, n a(i) = i + rank end do print *, 'process ', rank, ' a(1) =', a(1) call MPI_OP_CREATE(smod5, .TRUE., op, ierr) call MPI_REDUCE(a, b, n, MPI_INTEGER, op, 0, & MPI_COMM_WORLD, ierr) call MPI_OP_FREE(op, ierr) if(rank .eq. 0) print *, ' b(1) =', b(1) call MPI_FINALIZE(ierr) end integer function smod5(in, inout, l, type) integer l, type integer in(l), inout(l), i do i = 1, l inout(i) = mod(in(i)+inout(i), 5) end do return end
(1) MPI_OP_CREATE
(2) MPI_REDUCE
(3) MPI_OP_FREE
С помощью какой процедуры возможно создание нового коммуникатора NEWCOMM
(1) МРI_GROUP_FREE(GROUP, NEWCOMM, IERR) INTEGER GROUP, NEWCOMM, IERR
(2) MPI_COMM_CREATE(COMM, GROUP, NEWCOMM, IERR) INTEGER COMM, GROUP, NEWCOMM, IERR
(3) MPI_COMM_DUP(COMM, NEWCOMM, IERR) INTEGER COMM, NEWCOMM, IERR
С помощью вызова какой процедуры можно определить ранги процессов-соседей
(1) MPI_GRAPH_NEIGHBORS
(2) MPI_GRAPH_NEIGHBORS_COUNT
(3) MPI_GRAPH_CREATE
С помощью какой процедуры можно распаковать OUTCOUNT элементы типа DATATYPE
(1) MPI_TYPE_UB(DATATYPE, DISPL, IERR) INTEGER DATATYPE, DISPL, IERR
(2) MPI_UNPACK(INBUF, INSIZE, POSITION, OUTBUF, OUTCOUNT, DATATYPE, COMM, IERR) <type> INBUF(*), OUTBUF(*) INTEGER INSIZE, POSITION, OUTCOUNT, DATATYPE, COMM, IERR
(3) MPI_ADDRESS(LOCATION, ADDRESS, IERR) <type> LOCATION(*) INTEGER ADDRESS, IERR
С помощью какого варианта процедуры MPI_ISEND возможна неблокирующая передача с буферизацией
(1) MPI_IBSEND
(2) MPI_ISSEND
(3) MPI_IRSEND
С помощью какого процесса возможна проверка завершенности асинхронной операции 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
В каком случае используется данная процедура MPI_REQUEST_FREE(REQUEST, IERR) INTEGER REQUEST, IERR
(1) формирование отложенного запроса на прием сообщения
(2) инициализация COUNT отложенных запросов на выполнение операций обмена
(3) удаление структуры данных, связанной с параметром REQUEST
Какие объекты, используемые в MPI, имеют префикс MPI_?
(1) имена процедур
(2) константы
(3) предопределенные типы данных
Инициализация для параллельной части выполняется только один раз...
(1) для каждого процесса
(2) для каждой программы
(3) для каждого приложения
В каком случае блокировка может гарантировать корректность повторного использования всех параметров после возврата из процедуры?
(1) при копировании в промежуточный буфер
(2) при получении сообщения от процесса DEST
(3) при непосредственной передаче процессу DEST
В MPI сообщения, вызванные коллективными операциями, не могут...
(1) иметь доступ к буферу приема или посылки
(2) повлиять на выполнение других операций
(3) пересекаться с сообщениями, появившимися в результате индивидуального взаимодействия процессов
Как называется целое число, сопоставленное каждому процессу в группе
(1) ранг
(2) идентификатор
(3) номер
Топология используется для...
(1) для приближения параллельной программы к структуре математического алгоритма
(2) для оптимизации распределения процессов по физическим процессорам используемого параллельного компьютера
(3) для проверки эффективности выполнения программы вычисления чисел в определенном процессоре
Пересылка каких данных возможна в MPI
(1) однотипных данных
(2) разнотипных данных
(3) данных, расположенных не в последовательных ячейках памяти
В каком файле собираются все описания интерфейса MPI?
(1) mpirun.h
(2) mpicc.h
(3) mpif.h
Данный процесс служит для... MPI_FINALIZE(IERR) INTEGER IERR
(1) инициализации параллельной части программ
(2) завершения параллельной части приложения
(3) возвращения к параллельной части программы
Какие процессы обязательно участвуют в операциях типа точка-точка?
(1) процесс-отправитель
(2) процесс-получатель
(3) как тот, так и другой
Какой атрибут не используется в коллективных операциях?
(1) номер процесса
(2) тег
(3) номер в коммутаторе
С каким коммуникатором связана базовая группа, из которой создаются все остальные группы процессов
(1) MPI_GROUP_EMPTY
(2) MPI_GROUP_NULL
(3) MPI_COMM_WORLD
Какая топология является прямоугольной решеткой произвольной размерности?
(1) топология тега
(2) декартова топология
(3) топология графа
В каких операциях можно использовать производный тип после регистрации?
(1) в операциях пересылки
(2) в коллективных операциях
(3) в операциях типа точка-точка
Каким образом записывается название констант MPI на языке Си?
(1) первая буква после префикса MPI_ пишется в верхнем регистре, последующие буквы - в нижнем регистре
(2) название полностью записывается в верхнем регистре
(3) название полностью записывается в нижнем регистре
В каком языке функции MPI_Init передаются указатели на аргументы командной строки программы argv и argc?
(1) Фортран
(2) Си
(3) Паскаль
В каких операциях участвуют процессы отправления и получения сообщения?
(1) коллективных
(2) индивидуальных
(3) как в тех, так и вдругих
Какая из предложенных процедур является коллективной?
(1) DOUBLE PRECISION MPI_WTIME(IERR) INTEGER IERR
(2) MPI_START (REQUEST, IERR) INTEGER REQUEST, IERR
(3) MPI_BARRIER (COMM, IERR) INTEGER COMM, IERR
Любой процесс может производить операции...
(1) над любыми группами
(2) над любыми группами, которые содержат данный процесс
(3) над любыми группами, которые не содержат данный процесс
Какое значение параметра TYPE в данной процедуре будет, если с коммуникатором COMM не связана никакая типология MPI_TOPO_TEST(COMM, TYPE, IERR) INTEGER COMM, TYPE, IERR
(1) MPI_GRAPH
(2) MPI_CART
(3) MPI_UNDEFINED
При какой процедуре создаваемый тип данных представляет массив данных базового типа как отдельный объект
(1) MPI_TYPE_CONTIGUOUS(COUNT, TYPE, NEWTYPE, IERR) INTEGER COUNT, TYPE, NEWTYPE, IERR
(2) MPI_TYPE_VECTOR(COUNT, BLOCKLEN, STRIDE, TYPE, NEWTYPE, IERR) INTEGER COUNT, BLOCKLEN, STRIDE, TYPE, NEWTYPE, IERR
(3) MPI_GRAPH_NEIGHBORS_COUNT(COMM, RANK, NNEIGHBORS, IERR) INTEGER COMM, RANK, NNEIGHBORS, IERR
Отметьте основной способ взаимодействия между процессами в MPI:
(1) передача общих данных
(2) регистрация общих переменных
(3) явная посылка сообщений
Каков порядок вывода строк с разных процессов
(1) последовательный
(2) произвольный
(3) параллельный
Важно ли для процесса-получателя знание точного номера процесса-отправителя в данном коммуникаторе?
(1) да
(2) иногда
(3) нет
С помощью какой процедуры можно проиллюстрировать действие процедуры MPI_GATHER?
(1) files
(2) files
(3) files
Какие процедуры определяют операции над группами процессов, как над множествами
(1) MPI_GROUP_INTERSECTION(GROUP1, GROUP2, NEWGROUP, IERR) INTEGER GROUP1, GROUP2, NEWGROUP, IERR
(2) MPI_GROUP_UNION(GROUP1, GROUP2, NEWGROUP, IERR) INTEGER GROUP1, GROUP2, NEWGROUP, IERR
(3) MPI_GROUP_DIFFERENCE(GROUP1, GROUP2, NEWGROUP, IERR) INTEGER GROUP1, GROUP2, NEWGROUP, IERR
С помощью какого логического параметра можно определить, что системе разрешено менять порядок нумерации процессов MPI_CART_CREATE(COMM, NDIMS, DIMS, PERIODS, REORDER, COMM_CART,IERR) INTEGER COMM, NDIMS, DIMS(*), COMM_CART, IERR LOGICAL PERIODS(*), REORDER
(1) PERIODS
(2) COMM_CART
(3) REORDER
Какой тип данных newtype задается в данном примере do i = 1, n blocklens (i) = n-i + 1 displs(i) = n*(i-1)+i-1 end do call MPI_TYPE_INDEXED(n, blocklens, displs, MPI_DOUBLE_PRECISION, newtype, ierr)
(1) который в дальнейшем может использоваться для пересылки пяти расположенных подряд целых чисел
(2) который после регистрации может быть использован для пересылки как единого целого шести элементов данных
(3) для описания нижнетреугольной матрицы типа double precision
В какой версии стандарта MPI появилась возможность уничтожение существующих процессов?
(1) версия 1.0
(2) версия 1.1
(3) версия 2.0
В каком случае процедура MPI_INITIALIZED возвращает в аргументе FLAG .TRUE.?
(1) если вызвана из параллельного процесса
(2) если вызвана из параллельной части приложения
(3) если вызвана из параллельного коммуникатора
Использование каких процедур может привести к возникновению тупиковых ситуаций?
(1) процедур с блокировкой
(2) процедур без блокировки
(3) асинхронных процедур
Значения каких параметров должны быть одинаковыми у всех процессов?
(1) ROOT
(2) STYPE
(3) COMM
Какая группа будет создана в данном процессе при N=0 MPI_GROUP_INCL(GROUP, N, RANKS, NEWGROUP, IERR) INTEGER GROUP, N, RANKS(*), NEWGROUP, IERR
(1) пустая группа MPI_GROUP_EMPTY
(2) новая группа
(3) группа, идентичная старой группе
Какая из предложенных процедур не требует межпроцессорного взаимодействия
(1) MPI_CART_CREATE(COMM, NDIMS, DIMS, PERIODS, REORDER, COMM_CART,IERR) INTEGER COMM, NDIMS, DIMS(*), COMM_CART, IERR LOGICAL PERIODS(*), REORDER
(2) MPI_DIMS_CREATE(NNODES, NDIMS, DIMS, IERR) INTEGER NNODES, NDIMS, DIMS(*), IERR
(3) MPI_TOPO_TEST(COMM, TYPE, IERR) INTEGER COMM, TYPE, IERR
В какой процедуре следующий блок начинается через STRIDE байт после начала предыдущего блока
(1) MPI_TYPE_VECTOR(COUNT, BLOCKLEN, STRIDE, TYPE, NEWTYPE, IERR) INTEGER COUNT, BLOCKLEN, STRIDE, TYPE, NEWTYPE, IERR
(2) MPI_TYPE_CONTIGUOUS(COUNT, TYPE, NEWTYPE, IERR) INTEGER COUNT, TYPE, NEWTYPE, IERR
(3) MPI_TYPE_HVECTOR(COUNT, BLOCKLEN, STRIDE, TYPE, NEWTYPE, IERR) INTEGER COUNT, BLOCKLEN, STRIDE, TYPE, NEWTYPE, IERR
Каждый процесс MPI-программы имеет...
(1) свое адресное пространство
(2) общие переменные
(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) столько раз, сколько было порождено процессов при запуске программы
Какое значение используется при пересылке сообщений для несуществующих процессов?
(1) MPI_PROC_NULL
(2) MPI_COMM_NULL
(3) MPI_PROG_NULL
В каком массиве индекс равен рангу посылающего процесса, размер массива равен числу процессов в коммуникаторе COMM?
(1) RCOUNTS
(2) DISPLS
(3) RTYPE
Какая группа будет создана в данном процессе при N=0 MPI_GROUP_EXCL(GROUP, N, RANKS, NEWGROUP, IERR) INTEGER GROUP, N, RANKS(*), NEWGROUP, IERR
(1) пустая группа MPI_GROUP_EMPTY
(2) новая группа
(3) группа,идентичная старой группе
Какие значения элементов массива DIMS в данной процедуре будут ошибочны MPI_DIMS_CREATE(NNODES, NDIMS, DIMS, IERR) INTEGER NNODES, NDIMS, DIMS(*), IERR
(1) отрицательные
(2) нулевые
(3) положительные
Какие типы данных не могут быть аннулированы этой процедурой MPI_TYPE_FREE(DATATYPE, IERR) INTEGER DATATYPE, IERR
(1) структурированные типы данных
(2) производственные типы данных
(3) предопределенные типы данных
Группы параллельных процессов программы могут...
(1) полностью совпадать
(2) частично пересекаться
(3) не пересекаться
В каком диапазоне находится значение, возвращаемое процедурой MPI_COMM_RANK через переменную RANK
(1) от 0 до SIZE-1
(2) от 0 до SIZE+1
(3) от 0 до 1-SIZE
Как называется модификация процедуры передачи сообщения по готовности?
(1) MPI_BSEND
(2) MPI_SSEND
(3) MPI_RSEND
Какому процессу соответствует данная схема files
(1) MPI_ALLTOALLV(SBUF, SCOUNTS, SDISPLS, STYPE, RBUF, RCOUNTS, RDISPLS, RTYPE, COMM, IERR) <type> SBUF(*), RBUF(*) INTEGER SCOUNTS(*), SDISPLS(*), STYPE, RCOUNTS(*), RDISPLS(*), RTYPE, COMM, IERR
(2) MPI_ALLTOALL(SBUF, SCOUNT, STYPE, RBUF, RCOUNT, RTYPE, COMM, IERR) <type> SBUF(*), RBUF(*) INTEGER SCOUNT, STYPE, RCOUNT, RTYPE, COMM, IERR
(3) MPI_ALLGATHERV(SBUF, SCOUNT, STYPE, RBUF, RCOUNTS, DISPLS, RTYPE, COMM, IERR) <type> SBUF(*), RBUF(*) INTEGER SCOUNT, STYPE, RCOUNTS(*), DISPLS(*), RTYPE, COMM, IERR
С помощью какой процедуры происходит создание группы NEWGROUP ИЗ разности групп GROUP 1 и GROUP 2
(1) MPI_GROUP_INTERSECTION(GROUP1, GROUP2, NEWGROUP, IERR) INTEGER GROUP1, GROUP2, NEWGROUP, IERR
(2) MPI_GROUP_UNION(GROUP1, GROUP2, NEWGROUP, IERR) INTEGER GROUP1, GROUP2, NEWGROUP, IERR
(3) MPI_GROUP_DIFFERENCE(GROUP1, GROUP2, NEWGROUP, IERR) INTEGER GROUP1, GROUP2, NEWGROUP, IERR
С помощью какой процедуры возможно расщепление коммуникатора на подгруппы, соответствующие декартовым подрешеткам меньшей размерности
(1) MPI_CART_RANK(COMM, COORDS, RANK, IERR) INTEGER COMM, COORDS(*), RANK, IERR
(2) MPI_CART_COORDS(COMM, RANK, MAXDIMS, COORDS, IERR) INTEGER COMM, RANK, MAXDIMS, COORDS(*), IERR
(3) MPI_CART_SUB(COMM, DIMS, NEWCOMM, IERR) INTEGER COMM, NEWCOMM, IERR LOGICAL DIMS(*)
С помощью какой процедуры можно определить объем памяти, занимаемого одним элементом типа данных DATATYPE
(1) MPI_TYPE_SIZE(DATATYPE, SIZE, IERR) INTEGER DATATYPE, SIZE, IERR
(2) MPI_ADDRESS(LOCATION, ADDRESS, IERR) <type> LOCATION(*) INTEGER ADDRESS, IERR
(3) MPI_TYPE_FREE(DATATYPE, IERR) INTEGER DATATYPE, IERR
Какой коммуникатор служит для взаимодействия всех запущенных процессов MPI-программы
(1) MPI_COMM_SELF
(2) MPI_COMM_NULL
(3) MPI_COMM_WORLD
какая функция возвращает результат своей работы через параметры?
(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
Какой процедурой можно пользоваться, если процесс-получатель уже инициировал прием сообщения?
(1) MPI_BSEND
(2) MPI_SSEND
(3) MPI_RSEND
какая схема моделирования операции глобального суммирования по эффективности сравнивается с коллективной операцией MPI_REDUCE
(1) схема сдваивания с использованием асинхронных процедур
(2) схема сдваивания с использованием пересылок данных типа точка-точка
(3) схема сдваивания с использованием синхронных пересылок данных
В какой процедуре полученная группа содержит все элементы группы GROUP 1, не входящие в группу GROUP 2 и упорядоченные, как в первой группе
(1) MPI_GROUP_INTERSECTION(GROUP1, GROUP2, NEWGROUP, IERR) INTEGER GROUP1, GROUP2, NEWGROUP, IERR
(2) MPI_GROUP_UNION(GROUP1, GROUP2, NEWGROUP, IERR) INTEGER GROUP1, GROUP2, NEWGROUP, IERR
(3) MPI_GROUP_DIFFERENCE(GROUP1, GROUP2, NEWGROUP, IERR) INTEGER GROUP1, GROUP2, NEWGROUP, IERR
В каком случае процедура MPI_DIMS_CREATE будет ошибочна
(1) (0,0,0) - dims перед вызовом, вызов процедуры - MPI_DIM_CREATE(7, 3, dims, ierr)
(2) (0,3,0) - dims перед вызовом, вызов процедуры - MPI_DIM_CREATE(6, 3, dims, ierr)
(3) (0,3,0) - dims перед вызовом, вызов процедуры - MPI_DIM_CREATE(7, 3, dims, ierr)
В каком языке параметр ADDRESS имеет тип MPI_Aint
(1) Фортан
(2) Си
(3) Си+
В каком файле перечислены предопределенные значения, соответствующие различным ошибочным ситуациям?
(1) mpirun.h
(2) mpicc.h
(3) mpif.h
По значению какого параметра можно определить синхронизированы или нет таймеры разных процессов
(1) MPI_WTICE_IS_GLOBAL
(2) MPI_WTICK_IS_GLOBAL
(3) MPI_WTIME_IS_GLOBAL
Каким образом определяется размер необходимого буфера при передачи сообщения?
(1) размер сообщения плюс значение константы MPI_BSEND_OVERHEAD
(2) размер сообщения плюс значение константы MPI_SSEND_OVERHEAD
(3) размер сообщения плюс значение константы MPI_RSEND_OVERHEAD
С помощью каких констант возможно вычисление глобальной суммы
(1) MPI_PROD
(2) MPI_BOR
(3) MPI_SUM
Если группы GROUP1 и GROUP2 отличаются рангами процессов, то какое значение возвращается МРI_GROUP_COMPARE(GROUP1, GROUP2, RESULT, IERR) INTEGER GROUP1, GROUP2, RESULT, IERR
(1) MPI_IDENT
(2) MPI_SIMILAR
(3) MPI_UNEQUAL
В каком случае полученное значение MPI_PROC_NULL означает выход за границы диапазона
(1) в случае циклического сдвига
(2) в случае линейного сдвига
(3) в обоих случаях
С помощью какой процедуры можно определение смещения DISPL верхней границы элемента типа данных DATATYPE
(1) MPI_TYPE_LB(DATATYPE, DISPL, IERR) INTEGER DATATYPE, DISPL, IERR
(2) MPI_TYPE_UB(DATATYPE, DISPL, IERR) INTEGER DATATYPE, DISPL, IERR
(3) MPI_TYPE_EXTENT(DATATYPE, EXTENT, IERR) INTEGER DATATYPE, EXTENT, IERR
Какой коммуникатор содержит только один текущий процесс?
(1) MPI_COMM_SELF
(2) MPI_COMM_NULL
(3) MPI_COMM_WORLD
Какое количество символов в имени возвращается в данной процедуре в переменной 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
Какую предопределенную константу можно использовать при приеме сообщения с любым идентификатором?
(1) MPI_ANY_SOURCE
(2) MPI_ANY_TAG
(3) MPI_ANY_STATUS
Какая процедура отвечает за уничтожение пользовательской глобальной операции
(1) FUNCTION FUNC(INVEC(*), INOUTVEC(*), LEN, TYPE) <type> INVEC(LEN), INOUTVEC(LEN) INTEGER LEN, TYPE
(2) MPI_OP_FREE(OP, IERR) INTEGER OP, IERR
(3) MPI_ALLGATHERV(SBUF, SCOUNT, STYPE, RBUF, RCOUNTS, DISPLS, RTYPE, COMM, IERR) <type> SBUF(*), RBUF(*) INTEGER SCOUNT, STYPE, RCOUNTS(*), DISPLS(*), RTYPE, COMM, IERR
Создание коммуникатора является
(1) индивидуальной операцией
(2) коллективной операцией
(3) смешанной операцией
С помощью какой процедуры можно определить число вершин и число ребер графовой топологии, связанной с коммутатором
(1) MPI_GRAPHDIMS_GET(COMM, NNODES, NEDGES, IERR) INTEGER COMM, NNODES, NEDGES, IERR
(2) MPI_GRAPH_GET(COMM, MAXINDEX, MAXEDGES, INDEX, EDGES, IERR) INTEGER COMM, MAXINDEX, MAXEDGES, INDEX(*), EDGES(*), IERR
(3) MPI_GRAPH_CREATE(COMM, NNODES, INDEX, EDGES, REORDER, COMM_GRAPH, IERR) INTEGER COMM, NNODES, INDEX(*), EDGES(*), COMM_GRAPH, IERR LOGICAL REORDER
Какой тип данных используется для пересылки упакованных данных
(1) MPI_PACK
(2) MPI_UNPACKED
(3) MPI_PACKED
При компиляции программы на языке Си++ прилинковать библиотечные модули можно с помощью скрипта...
(1) mpi//cc
(2) mpiCC
(3) mpif77/mpif90
В каких пределах лежит номер любого процесса в определенной группе, если группа содержит n процессов?
(1) от 0 до n-1
(2) от 0 до n+1
(3) от 0 до 1-n
С помощью какой константы можно получить доступ к идентификатору сообщения?
(1) MPI_SOURCE
(2) MPI_TAG
(3) MPI_ERROR
Какой из параметров данной процедуры задает тип входных и выходных данных FUNCTION FUNC(INVEC(*), INOUTVEC(*), LEN, TYPE) <type> INVEC(LEN), INOUTVEC(LEN) INTEGER LEN, TYPE
(1) INOUTVEC
(2) LEN
(3) TYPE
Какой коммуникатор включает только вызвавшие процессы
(1) MPI_COMM_WORLD
(2) MPI_COMM_NULL
(3) MPI_COMM_SELF
Какие параметры задают ограничения на размеры соответсвующих массивов
(1) MAXINDEX
(2) MAXEDGES
(3) MAXNEDGES
Для каких элементов можно определить необходимый объем памяти с помощью данной процедуры MPI_PACK_SIZE(INCOUNT, DATATYPE, COMM, SIZE, IERR) INTEGER INCOUNT, DATATYPE, COMM, SIZE, IERR
(1) INCOUNT
(2) OUTCOUNT
(3) для тех и других
В зависимости от системы результат выполнения программы всеми запущенными процессами может...
(1) записываться в соответствующий библиотечный модуль
(2) записываться в файл с предопределенным именем
(3) выдаваться на терминал
При работе с атрибутами сообщений массив (структура) дает доступ...
(1) к идентификаторам сообщений
(2) к значениям сообщений
(3) к коммуникатору сообщений
Возврат из процедур какой группы происходит сразу после вызова без какой-либо остановки работы процессов
(1) блокирующей
(2) асинхронной
(3) синхронной
С помощью вызова какой процедуры удаляется функция smod5 MPI_OP_FREE. program example15 include 'mpif.h' integer ierr, rank, i, n parameter (n = 1 000) integer a(n), b(n) integer op external smod5 call MPI_INIT(ierr) call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr) do i = 1, n a(i) = i + rank end do print *, 'process ', rank, ' a(1) =', a(1) call MPI_OP_CREATE(smod5, .TRUE., op, ierr) call MPI_REDUCE(a, b, n, MPI_INTEGER, op, 0, & MPI_COMM_WORLD, ierr) call MPI_OP_FREE(op, ierr) if(rank .eq. 0) print *, ' b(1) =', b(1) call MPI_FINALIZE(ierr) end integer function smod5(in, inout, l, type) integer l, type integer in(l), inout(l), i do i = 1, l inout(i) = mod(in(i)+inout(i), 5) end do return end
(1) MPI_OP_CREATE
(2) MPI_REDUCE
(3) MPI_OP_FREE
Какую процедуру можно использовать для перенумерации процессов
(1) MPI_COMM_FREE
(2) MPI_COMM_SPLIT
(3) MPI_COMM_NULL
С помощью какой процедуры можно определить количество своих непосредственных соседей в рамках данной топологии
(1) MPI_GRAPH_NEIGHBORS
(2) MPI_GRAPH_NEIGHBORS_COUNT
(3) MPI_GRAPH_CREATE
С помощью какой процедуры можно определить необходимый объем памяти для упаковки INCOUNT элементов типа DATATYPE
(1) MPI_ADDRESS(LOCATION, ADDRESS, IERR) <type> LOCATION(*) INTEGER ADDRESS, IERR
(2) MPI_TYPE_EXTENT(DATATYPE, EXTENT, IERR) INTEGER DATATYPE, EXTENT, IERR
(3) MPI_PACK_SIZE(INCOUNT, DATATYPE, COMM, SIZE, IERR) INTEGER INCOUNT, DATATYPE, COMM, SIZE, IERR
С помощью каких процедур можно определить окончание процесса 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
С помощью какого варианта процедуры MPI_SEND_INIT возможно формирование отложенного запроса на передачу сообщения по готовности
(1) MPI_BSEND_INIT
(2) MPI_SSEND_INIT
(3) MPI_RSEND_INIT
Назовите способы разрешения тупиковых ситуаций
(1) изменение порядка следования процедур посылки и приема сообщения
(2) использование неблокирующих ситуаций
(3) использование процедуры MPI_SENDRECV