MPI_Dist_graph_create_adjacent 함수
분산 그래프 토폴로지 정보가 연결된 새 통신자에 대한 핸들을 반환합니다.
구문
int WINAPI MPI_Dist_graph_create_adjacent(
_In_ MPI_Comm comm_old,
_In_range_(>=,0) int indegree,
_In_reads_opt const int sources[],
_In_reads_opt const int sourceweights[],
_In_range_(>=,0) int outdegree,
_In_reads_opt const int destinations[],
_In_reads_opt const int destweights[],
_In_ MPI_Info info,
_In_range_(0,1) int reorder,
_Out_ MPI_Comm *comm_dist_graph
);
매개 변수
comm_old [in]
토폴로지 정보(핸들)가 없는 통신기의 핸들입니다.indegree
원본 및sourceweights 배열의 크기(음수가 아닌 정수)입니다.sources[]
호출 프로세스가 대상인 프로세스의 순위(음수가 아닌 정수의 배열)입니다.sourceweights[]
호출 프로세스에 해당하는 에지의 가중치(음수가 아닌 정수 배열)입니다.outdegree
대상 및 destweights 배열의 크기(음수가 아닌 정수)입니다.destinations[]
호출 프로세스가 원본(음수가 아닌 정수의 배열)인 프로세스의 순위입니다.destweights[]
호출 프로세스에서 해당하는 에지의 가중치(음수가 아닌 정수 배열)입니다.정보 [in]
가중치(핸들)의 최적화 또는 해석에 대한 힌트입니다. 현재 이 변수는 내부적으로 사용되지 않으므로 MPI_INFO_NULL 사용합니다.순서
순위는 (true) 또는 (false)(논리적)이 아닌 순서를 다시 정렬할 수 있습니다. 현재 내부적으로 사용되지 않습니다.comm_dist_graph [out]
분산 그래프 토폴로지 정보가 연결된 통신자에 대한 핸들(핸들)입니다.
반환 값
성공에 대한 MPI_SUCCESS 반환합니다. 그렇지 않으면 반환 값이 오류 코드입니다.
Fortran에서 반환 값은 IERROR 매개 변수에 저장됩니다.
Fortran
MPI_DIST_GRAPH_CREATE_ADJACENT (COMM_OLD, INDEGREE, SOURCES, SOURCEWEIGHTS,
OUTDEGREE, DESTINATIONS, DESTWEIGHTS, INFO, REORDER,
COMM_DIST_GRAPH, IERROR)
INTEGER COMM_OLD, INDEGREE, SOURCES (*), SOURCEWEIGHTS (*), OUTDEGREE,
DESTINATIONS (*), DESTWEIGHTS (*), INFO, COMM_DIST_GRAPH, IERROR
LOGICAL REORDER
설명
comm_old 커뮤니케이터의 각 프로세스는 가상 분산 그래프 토폴로지에서 들어오고 나가는 에지에 대한 모든 정보를 전달합니다. 호출 프로세스는 그래프의 가중치가 지정된 경우 그래프의 각 가장자리가 원본 및 대상 프로세스에서 동일한 가중치로 설명되도록 해야 합니다. 지정된 원본 대상 쌍에 대해 여러 가장자리가 있는 경우 이러한 가장자리의 가중치 시퀀스는 중요하지 않습니다.
전체 통신 토폴로지는 comm_old 모든 프로세스의 원본 배열에 표시된 모든 가장자리의 조합으로, 대상 배열에 표시된 모든 가장자리의 조합 과 동일해야 합니다. 원본 및 대상 순위는 comm_old 프로세스 순위여야 합니다. 이렇게 하면 통신 그래프의 완전히 분산된 사양을 사용할 수 있습니다. 격리된 프로세스, 즉 분산 토폴로지에서 들어오거나 나가는 에지가 없는 프로세스는 0으로 허용됩니다.
새로 만든 통신기의 프로세스 수( comm_dist_graph)는 comm_old 프로세스 수와 동일합니다. 이 함수에 대한 호출은 집합입니다.
그래프가 가중 그래프인 경우 가중치는 sourceweights 및 destweights 배열을 사용하여 음수가 아닌 정수로 지정됩니다. 애플리케이션은 모든 가장자리의 가중치가 동일함을 나타내기 위해 sourceweights 및 destweights 배열 모두에 대한 MPI_UNWEIGHTED 지정해야 합니다. comm_old 일부 프로세스에 대한 MPI_UNWEIGHTED 제공하는 것은 잘못되었습니다. 이러한 경우의 동작은 보장되지 않습니다. 그래프에 가중치가 있지만 프로세스에 대한 indegree 또는 outdegree 가 0이면 MPI_WEIGHTS_EMPTY 또는 임의의 배열이 해당 프로세스에 의해 sourceweights 또는 destweights 에 전달될 수 있습니다.
요구 사항
제품 |
Microsoft MPI v6 |
헤더 |
Mpi.h; Mpif.h |
라이브러리 |
Msmpi.lib |
DLL |
Msmpi.dll |