função MPI_Dist_graph_create
Devolve um identificador a um novo comunicador ao qual as informações de topologia de grafos distribuídos estão anexadas.
Sintaxe
int WINAPI MPI_Dist_graph_create(
_In_ MPI_Comm comm_old,
_In_range_(>=,0) int n,
_In_reads_opt const int sources[],
_In_reads_opt const int degrees[],
_In_opt const int destinations[],
_In_opt const int weights[],
_In_ MPI_Info info,
_In_range_(0,1) int reorder,
_Out_ MPI_Comm *comm_dist_graph
);
Parâmetros
comm_old [em]
O identificador do comunicador sem as informações de topologia (identificador).n
Número de origens para as quais este processo especifica arestas de saída (número inteiro não negativo).origens[]
Matriz que contém as n origens para as quais esta origem especifica as arestas de saída (matriz de números inteiros não negativos).graus[]
Matriz que especifica o número de destinos para cada nó de origem na matriz de nós de origem (matriz de números inteiros não negativos).destinos[]
Nós de destino para os nós de origem na matriz de origens (matriz de números inteiros não negativos).pesos[]
Pesos para arestas correspondentes na matriz de destinos (matriz de números inteiros não negativos).informações [em]
Sugestões sobre otimização ou interpretação de pesos (alça). Atualmente, utilize MPI_INFO_NULL , uma vez que esta variável não está a ser utilizada internamente.reordenar
As classificações podem ser reordenadas (verdadeiras) ou não (falsas) (lógicas). Atualmente, esta ação não é utilizada internamente.comm_dist_graph [fora]
Processe para o comunicador com as informações de topologia de grafos distribuídas anexadas (alça).
Valor devolvido
Devolve MPI_SUCCESS com êxito. Caso contrário, o valor devolvido é um código de erro.
Em Fortran, o valor devolvido é armazenado no parâmetro IERROR .
Fortran
MPI_DIST_GRAPH_CREATE (COMM_OLD, N, SOURCES, DEGREES, DESTINATIONS, WEIGHTS,
INFO, REORDER, COMM_DIST_GRAPH, IERROR)
INTEGER COMM_OLD, N, SOURCES (*), DEGREES (*), DESTINATIONS (*),
WEIGHTS (*), INFO, COMM_DIST_GRAPH, IERROR
LOGICAL REORDER
Observações
As matrizes de origens e destinos podem conter o mesmo nó mais do que uma vez e a ordem pela qual os nós são listados como destinos ou origens não é significativa. Da mesma forma, diferentes processos podem especificar arestas com os mesmos nós de origem e destino. Os nós de origem e de destino têm de ser classificações de processos de comm_old. Diferentes processos podem especificar diferentes números de nós de origem e de destino, bem como diferentes limites de origem para destino. Isto permite uma especificação totalmente distribuída do gráfico de comunicação. Os processos isolados (processos sem arestas de saída ou de entrada, ou seja, processos que não ocorrem como nó de origem ou de destino na especificação do grafo) são permitidos.
O número de processos no comm_dist_graph é idêntico ao número de processos no comm_old. A chamada para esta função é coletiva.
Em C ou FORTRAN, uma aplicação pode fornecer MPI_UNWEIGHTED para a matriz de pesos para indicar que todas as arestas têm o mesmo peso (efetivamente não). É erróneo fornecer MPI_UNWEIGHTED para alguns, mas não todos os processos de comm_old. O comportamento neste caso não é garantido. Se o gráfico for ponderado, mas n = 0, MPI_WEIGHTS_EMPTY ou qualquer matriz arbitrária poderá ser transmitida a pesos.
Requisitos
Produto |
Microsoft MPI v6 |
Cabeçalho |
Mpi.h; Mpif.h |
Biblioteca |
Msmpi.lib |
DLL |
Msmpi.dll |
Ver também
Funções de Topologia de Processo de MPI
MPI_Dist_graph_create_adjacent