Partilhar via


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

MPI_Dist_graph_neighbors_count

MPI_Dist_graph_neighbors