Главная / Программирование /
Параллельное программирование с использованием технологии MPI / Тест 6
Параллельное программирование с использованием технологии MPI - тест 6
Упражнение 1:
Номер 1
Топология - это...
Ответ:
 (1) механизм упорядочивания коллективных процессов 
 (2) механизм сопоставления процессам некоторого коммуникатора альтернативной схемы
адресации 
 (3) механизм предоставления отдельного контекста обмена процессов некоторой
группы 
Номер 2
В MPI топологии с физической топологией коммуникационной сети...
Ответ:
 (1) связаны 
 (2) сопоставляются 
 (3) не связаны 
Номер 3
Топология используется для...
Ответ:
 (1) для приближения параллельной программы к структуре математического алгоритма 
 (2) для оптимизации распределения процессов по физическим процессорам используемого параллельного компьютера 
 (3) для проверки эффективности выполнения программы вычисления чисел в определенном
процессоре 
Упражнение 2:
Номер 1
С помощью чего топология используется системой для оптимизации распределения процессов по физическим процессорам
используемого параллельного компьютера?
Ответ:
 (1) при помощи изменения самого коммуникатора 
 (2) при помощи изменения порядка нумерации процессов внутри коммуникатора 
 (3) при помощи удаления дублирующих процессов внутри коммуникатора 
Номер 2
Какие типы топологии предусмотрены в MPI
?
Ответ:
 (1) топология тега 
 (2) декартова топологи 
 (3) топология графа 
Номер 3
Какая топология является прямоугольной решеткой произвольной размерности?
Ответ:
 (1) топология тега 
 (2) декартова топология 
 (3) топология графа 
Упражнение 3:
Номер 1
С помощью какой процедуры можно определитьтип топологии, связанной с коммуникатором 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
 
Номер 2
Какое значение параметра TYPE
в данной процедуре будет для декартовой типологии
MPI_TOPO_TEST(COMM, TYPE, IERR)
INTEGER COMM, TYPE, IERR
Ответ:
 (1) MPI_GRAPH
 
 (2) MPI_CART
 
 (3) MPI_UNDEFINED
 
Номер 3
Какое значение параметра TYPE
в данной процедуре будет, если с коммуникатором COMM
не
связана никакая типология
MPI_TOPO_TEST(COMM, TYPE, IERR)
INTEGER COMM, TYPE, IERR
Ответ:
 (1) MPI_GRAPH
 
 (2) MPI_CART
 
 (3) MPI_UNDEFINED
 
Упражнение 4:
Номер 1
С помощью какого параметра в данном процессе задается размерность получаемой декартовой решетки
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
 
Номер 2
С помощью какого логического массива можно определить, является ли решетка периодической вдоль каждого измерения
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
 
Номер 3
С помощью какого логического параметра можно определить, что системе разрешено менять порядок нумерации процессов
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
 
Упражнение 5:
Номер 1
В каком случае в данной процедуре некоторые процессы не будут принимать участие в создаваемой топологии
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
больше числа
процессов в исходном коммуникаторе сомм
 
Номер 2
В каком случае в данном процессе вызов будет ошибочен
MPI_CART_CREATE(COMM, NDIMS, DIMS, PERIODS, REORDER, COMM_CART,IERR)
INTEGER COMM, NDIMS, DIMS(*), COMM_CART, IERR
LOGICAL PERIODS(*), REORDER
Ответ:
 (1) если количество процессов в задаваемой топологии меньше числа процессов в исходном
коммуникаторе 
 (2) если количество процессов в задаваемой топологии равно числу процессов в исходном
коммуникаторе 
 (3) если количество процессов в задаваемой топологии больше числа процессов в исходном
коммуникаторе 
Номер 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
 
Упражнение 6:
Номер 1
В каком случае будет рассчитано значение DIMS(I)
данной процедурой
MPI_DIMS_CREATE(NNODES, NDIMS, DIMS, IERR)
INTEGER NNODES, NDIMS, DIMS(*), IERR
Ответ:
 (1) если перед вызовом значение равно 0 
 (2) если перед вызовом значение меньше 0 
 (3) если перед вызовом значение больше 0 
Номер 2
Каким образом будут упорядочены выходные значения DIMS
, переопределенные данной процедурой
MPI_DIMS_CREATE(NNODES, NDIMS, DIMS, IERR)
INTEGER NNODES, NDIMS, DIMS(*), IERR
Ответ:
 (1) в порядке возрастания 
 (2) в порядке поступления 
 (3) в порядке убывания 
Номер 3
Какие значения элементов массива DIMS
в данной процедуре будут ошибочны
MPI_DIMS_CREATE(NNODES, NDIMS, DIMS, IERR)
INTEGER NNODES, NDIMS, DIMS(*), IERR
Ответ:
 (1) отрицательные 
 (2) нулевые 
 (3) положительные 
Упражнение 7:
Номер 1
С помощью какой процедуры можно определить декартовые координаты процесса по его рангу
Ответ:
 (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(*)
 
Номер 2
С помощью какой процедуры можно определить ранг процесса по его декартовым координатам
Ответ:
 (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(*)
 
Номер 3
С помощью какой процедуры возможно расщепление коммуникатора на подгруппы, соответствующие декартовым подрешеткам
меньшей размерности
Ответ:
 (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(*)
 
Упражнение 8:
Номер 1
В какой из процедур отсчет координат по каждому измерению начинается с нуля
Ответ:
 (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(*)
 
Номер 2
В каком случае в данной процедуре координаты вне допустимых интервалов будут пересчитываться
MPI_CART_RANK(COMM, COORDS, RANK, IERR)
INTEGER COMM, COORDS(*), RANK, IERR
Ответ:
 (1) для периодических решеток 
 (2) для постоянных решеток 
 (3) для непериодических решеток 
Номер 3
В каком случае процедура 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)
 
Упражнение 9:
Номер 1
В каком параметре данной процедуры возвращается количество процессов для каждого измерения
MPI_CART_GET(COMM, MAXDIMS, DIMS, PERIODS, COORDS, IERR)
INTEGER COMM, MAXDIMS, DIMS(*), COORDS(*), IERR
LOGICAL PERIODS(*)
Ответ:
 (1) DIMS
 
 (2) PERIODS
 
 (3) COORDS
 
Номер 2
В каком параметре отображаются номера принимающего процесса в декартовой топологии данного процесса
MPI_CART_SHIFT(COMM, DIRECTION, DISP, SOURCE, DEST, IERR)
INTEGER COMM, DIRECTION, DISP, SOURCE, DEST, IERR
Ответ:
 (1) DISP
 
 (2) DEST
 
 (3) SOURCE
 
Номер 3
В каком случае полученное значение MPI_PROC_NULL
означает выход за границы диапазона
Ответ:
 (1) в случае циклического сдвига 
 (2) в случае линейного сдвига 
 (3) в обоих случаях 
Упражнение 10:
Номер 1
Какой массив в данной процедуре содержит список номеров процессов-соседей всех вершин
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
 
Номер 2
С помощью какого параметра задается число вершин графа
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
 
Номер 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
 
Упражнение 11:
Номер 1
С помощью какого процесса можно определить ранги непосредственных соседей процесса с рангом 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
 
Номер 2
Данная процедура отвечает за...
MPI_GRAPH_NEIGHBORS_COUNT(COMM, RANK, NNEIGHBORS, IERR)
INTEGER COMM, RANK, NNEIGHBORS, IERR
Ответ:
 (1) определение количества непосредственных соседей процесса с рангом RANK
в
графовой топологии, связанной с коммуникатором сомм
 
 (2) определение рангов непосредственных соседей процесса с рангом RANK
В
графовой топологии, связанной с коммуникатором сомм
 
 (3) определение числа вершин И числа ребер графовой топологии, связанной с коммуникатором
сомм
 
Номер 3
Какие параметры задают ограничения на размеры соответсвующих массивов
Ответ:
 (1) MAXINDEX
 
 (2) MAXEDGES
 
 (3) MAXNEDGES
 
Упражнение 12:
Номер 1
С помощью какой процедуры в массивах INDEX
и EDGES
возвращается описание графовой
топологии в том виде, как она задается при создании топологии
Ответ:
 (1) MPI_GRAPH_NEIGHBORS
 
 (2) MPI_GRAPH_NEIGHBORS_COUNT
 
 (3) MPI_GRAPH_CREATE
 
Номер 2
С помощью вызова какой процедуры можно определить ранги процессов-соседей
Ответ:
 (1) MPI_GRAPH_NEIGHBORS
 
 (2) MPI_GRAPH_NEIGHBORS_COUNT
 
 (3) MPI_GRAPH_CREATE
 
Номер 3
С помощью какой процедуры можно определить количество своих непосредственных соседей в рамках данной
топологии
Ответ:
 (1) MPI_GRAPH_NEIGHBORS
 
 (2) MPI_GRAPH_NEIGHBORS_COUNT
 
 (3) MPI_GRAPH_CREATE