MPI_Dist_graph_neighbors 函数

返回具有传入和传出调用进程的边缘的邻居列表,以及分布式图形拓扑中传入和传出边缘的相应权重。

语法

int WINAPI MPI_Dist_graph_neighbors(
  _In_ MPI_Comm              comm,
       _In_range_(>=,0)  int maxindegree,
       _Out_writes_opt int   sources[],
       _Out_writes_opt int   sourceweights[],
       _In_range_(>=,0)  int maxoutdegree,
       _Out_writes_opt int   destinations[],
       _Out_writes_opt int   destweights[]
);

参数

  • comm [in]
    具有分布式图形拓扑的通信器的句柄。

  • maxindegree
    sourceweights 数组的大小 (非负整数) 。

  • sources[]
    通信器中的进程的排名,其中,调用进程是分布式图形拓扑中的目标 (非负整数数组) 。

  • sourceweights[]
    调用进程中相应边缘的权重 (非负整数) 数组。

  • maxoutdegree
    目标数组和减重数组的大小 (非负整数) 。

  • destinations[]
    通信器中调用进程是分布式图形拓扑中源的进程 (非负整数数组) 。

  • destweights[]
    调用进程中相应边缘的权重 (非负整数数组) 。

返回值

返回成功 时MPI_SUCCESS 。 否则,返回值为错误代码。

在 Fortran 中,返回值存储在 IERROR 参数中。

Fortran

    MPI_DIST_GRAPH_NEIGHBORS (COMM, MAXINDEGREE, SOURCES, SOURCEWEIGHTS,
    MAXOUTDEGREE, DESTINATIONS, DESTWEIGHTS, IERROR)
        INTEGER COMM, MAXINDEGREE, SOURCES (*), SOURCEWEIGHTS (*), MAXOUTDEGREE,
    DESTINATIONS (*), DESTWEIGHTS (*), IERROR

注解

在调用此方法之前,可以通过调用 MPI_Dist_graph_neighbors_count 来获取传入和传出边缘计数和权重信息。 如果 maxindegreemaxoutdegree 小于 MPI_Dist_graph_neighbors_count 返回的传入和传出边缘数,则仅返回完整列表的第一部分。

仅当图形由 MPI_Dist_graph_create_adjacentMPI_Dist_graph_create 方法创建为加权分布图,并且 MPI_UNWEIGHTED 未作为参数提供来代替 源权重减量时,才会返回传入和传出边缘权重。

要求

产品

Microsoft MPI v6

标头

Mpi.h;Mpif.h

Msmpi.lib

DLL

Msmpi.dll

另请参阅

MPI 进程拓扑函数

MPI_Dist_graph_create

MPI_Dist_graph_neighbors_count

MPI_Dist_graph_create_adjacent