función MPI_Dist_graph_create_adjacent
Devuelve un identificador a un nuevo comunicador al que se adjunta la información de topología del grafo distribuido.
Sintaxis
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
);
Parámetros
comm_old [in]
Identificador del comunicador sin la información de topología (identificador).indegree
Tamaño de las matricesde orígenes y pesos de origen (entero no negativo).sources[]
Rangos de procesos para los que el proceso de llamada es el destino (matriz de enteros no negativos).sourceweights[]
Pesos de los bordes correspondientes en el proceso de llamada (matriz de enteros no negativos).outdegree
Tamaño de las matrices de destinos y destweights (entero no negativo).destinos[]
Rangos de procesos para los que el proceso de llamada es el origen (matriz de enteros no negativos).destweights[]
Pesos de los bordes correspondientes fuera del proceso de llamada (matriz de enteros no negativos).info [in]
Sugerencias sobre optimización o interpretación de pesos (controlador). Actualmente, use MPI_INFO_NULL , ya que esta variable no se usa internamente.Reordenar
Las clasificaciones se pueden reordenar (true) o no (false) (lógica). Actualmente no se usa internamente.comm_dist_graph [out]
Controle al comunicador con la información de topología de grafos distribuida adjunta (identificador).
Valor devuelto
Devuelve MPI_SUCCESS si se realiza correctamente. De lo contrario, el valor devuelto es un código de error.
En Fortran, el valor devuelto se almacena en el parámetro 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
Comentarios
Cada proceso del comunicador comm_old pasa toda la información sobre sus bordes entrantes y salientes en la topología de grafo distribuido virtual. Los procesos de llamada deben asegurarse de que cada borde del grafo se describe en el origen y en el proceso de destino con el mismo peso, si se pondera el gráfico. Si hay varios bordes para un par de origen-destino determinado, la secuencia de los pesos de estos bordes no importa.
La topología de comunicación completa es la combinación de todos los bordes que se muestran en la matriz de orígenes de todos los procesos de comm_old, que deben ser idénticos a la combinación de todos los bordes que se muestran en la matriz de destinos . Las clasificaciones de origen y destino deben ser rangos de procesos de comm_old. Esto permite una especificación totalmente distribuida del grafo de comunicación. Los procesos aislados, es decir, los procesos sin bordes entrantes o salientes en la topología distribuida y, por tanto, tienen un valor indegree o outdegree o ambos, como cero, se permiten.
El número de procesos del comunicador recién creado, comm_dist_graph, es idéntico al número de procesos de comm_old. La llamada a esta función es colectiva.
Los pesos se especifican como enteros no negativos mediante las matrices sourceweights y destweights , si el gráfico es un gráfico ponderado. Una aplicación deberá especificar MPI_UNWEIGHTED para las matrices de pesos de origen y destweights para indicar que todos los bordes tienen el mismo peso (eficazmente no). Es erróneo suministrar MPI_UNWEIGHTED para algunos pero no todos los procesos de comm_old. El comportamiento en tal caso no está garantizado. Si el gráfico se pondera, pero el valor de indegree o outdegree es cero para un proceso, MPI_WEIGHTS_EMPTY o cualquier matriz arbitraria puede pasarse a pesos de origen o destweights por ese proceso.
Requisitos
Producto |
Microsoft MPI v6 |
Encabezado |
Mpi.h; Mpif.h |
Biblioteca |
Msmpi.lib |
Archivo DLL |
Msmpi.dll |
Consulte también
Funciones de topología de proceso de MPI