Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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(
_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 [in]
Identificador del comunicador sin la información de topología (identificador).n
Número de orígenes para los que este proceso especifica los bordes salientes (enteros no negativos).sources[]
Matriz que contiene los n orígenes para los que este origen especifica los bordes salientes (matriz de enteros no negativos).degrees[]
Matriz que especifica el número de destinos para cada nodo de origen de la matriz de nodos de origen (matriz de enteros no negativos).destinos[]
Nodos de destino para los nodos de origen de la matriz de orígenes (matriz de enteros no negativos).weights[]
Ponderaciones para los bordes correspondientes de la matriz de destinos (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 (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
Comentarios
Las matrices de orígenes y destinos pueden contener el mismo nodo más de una vez y el orden en el que los nodos se enumeran como destinos o orígenes no son significativos. De forma similar, los distintos procesos pueden especificar bordes con los mismos nodos de origen y destino. Los nodos de origen y destino deben ser rangos de procesos de comm_old. Los distintos procesos pueden especificar diferentes números de nodos de origen y de destino, así como diferentes bordes de origen a destino. Esto permite una especificación totalmente distribuida del grafo de comunicación. Se permiten procesos aislados (procesos sin bordes salientes o entrantes, es decir, procesos que no se producen como nodo de origen o destino en la especificación del grafo).
El número de procesos de comm_dist_graph es idéntico al número de procesos de comm_old. La llamada a esta función es colectiva.
En C o FORTRAN, una aplicación puede proporcionar MPI_UNWEIGHTED para la matriz weights 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 n = 0, MPI_WEIGHTS_EMPTY o cualquier matriz arbitraria se puede pasar a pesos.
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
MPI_Dist_graph_create_adjacent