ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ
78
int MPI_Graph_neighbors_count(MPI_Comm comm, int rank, int
*nneighbors)
MPI_GRAPH_NEIGHBORS_COUNT(COMM, RANK, NNEIGHBORS, IERR)
Входные параметры:
comm — коммуникатор;
rank — ранг процесса-узла.
Получить информацию о топологии графа, связанной с коммуникатором
comm, можно с помощью подпрограммы MPI_Graph_get:
int MPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges, int
*index, int *edges)
MPI_GRAPH_GET(COMM, MAXINDEX, MAXEDGES, INDEX, EDGES, IERR)
Входными параметрами являются:
comm — коммуникатор;
maxindex — длина массива index в вызывающей программе;
maxedges — длина массива edges в вызывающей программе.
Выходные параметры:
index — целочисленный массив, содержащий структуру графа (см. описа-
ние подпрограммы MPI_Graph_create);
edges — целочисленный массив, содержащий сведения о ребрах графа.
С помощью подпрограммы MPI_Graph_map можно определить ранг процесса
в топологии графа после переупорядочения (newrank):
int MPI_Graph_map(MPI_Comm comm, int nnodes, int *index, int
*edges, int *newrank)
MPI_GRAPH_MAP(COMM, NNODES, INDEX, EDGES, NEWRANK, IERR)
Ее входные параметры:
comm — коммуникатор;
nnodes — количество вершин графа;
index — целочисленный массив, задающий структуру графа (см. описание
подпрограммы MPI__Graph__create);
edges — целочисленный массив, задающий ребра графа.
Если процесс не принадлежит графу, подпрограмма возвращает значение
MPI_UNDEFINED.
Подпрограмма MPI_Graphdims_get позволяет получить информацию о топо-
логии графа, связанной с коммуникатором comm:
int MPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges)
1...,70,71,72,73,74,75,76,77,78,79 81,82,83,84,85,86,87,88,89,90,...180