MPI_Dist_graph_create_adjacent fonction
Retourne un handle à un nouveau communicateur auquel les informations de topologie de graphe distribuées sont attachées.
Syntaxe
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
);
Paramètres
comm_old [in]
Handle du communicateur sans les informations de topologie (handle).indégrée
Taille des tableaux sources et sourcesweights (entier non négatif).sources[]
Rangs des processus pour lesquels le processus appelant est la destination (tableau d’entiers non négatifs).sourcesweights[]
Pondérations des arêtes correspondantes dans le processus appelant (tableau d’entiers non négatifs).outdegree
Taille des tableaux destinations et destweights (entier non négatif).destinations[]
Rangs des processus pour lesquels le processus appelant est la source (tableau d’entiers non négatifs).destweights[]
Pondérations des arêtes correspondantes hors du processus appelant (tableau d’entiers non négatifs).info [in]
Conseils sur l’optimisation ou l’interprétation des pondérations (handle). Utilisez actuellement MPI_INFO_NULL , car cette variable n’est pas utilisée en interne.Réorganiser
Les rangs peuvent être réorganisés (true) ou non (faux) (logique). Actuellement, il n’est pas utilisé en interne.comm_dist_graph [out]
Gérez le communicateur avec les informations de topologie de graphe distribuées jointes (handle).
Valeur retournée
Retourne MPI_SUCCESS en cas de réussite. Sinon, la valeur de retour est un code d’erreur.
Dans Fortran, la valeur de retour est stockée dans le paramètre 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
Remarques
Chaque processus du comm_old communicator transmet toutes les informations sur ses bords entrants et sortants dans la topologie de graphe distribué virtuel. Les processus appelants doivent s’assurer que chaque bord du graphe est décrit dans la source et dans le processus de destination avec le même poids, si le graphe est pondéré. S’il existe plusieurs arêtes pour une paire source-destination donnée, la séquence des pondérations de ces arêtes n’a pas d’importance.
La topologie de communication complète est la combinaison de tous les bords affichés dans le tableau sources de tous les processus dans comm_old, qui doit être identique à la combinaison de tous les bords affichés dans le tableau de destinations . Les rangs source et de destination doivent être des rangs de processus de comm_old. Cela permet une spécification entièrement distribuée du graphe de communication. Les processus isolés, c’est-à-dire les processus sans arête entrante ou sortante dans la topologie distribuée, et qui ont donc un degré d’indégrée ou de dépassement, ou les deux, comme zéro, sont autorisés.
Le nombre de processus dans le communicateur nouvellement créé, comm_dist_graph, est identique au nombre de processus dans comm_old. L’appel à cette fonction est collectif.
Les pondérations sont spécifiées sous forme d’entiers non négatifs à l’aide des tableaux de pondérations source et destweights , si le graphe est un graphe pondéré. Une application doit spécifier MPI_UNWEIGHTED pour les tableaux sourceweights et destweights afin d’indiquer que tous les bords ont le même poids (en fait aucun). Il est erroné de fournir des MPI_UNWEIGHTED pour certains processus de comm_old, mais pas tous. Dans ce cas, le comportement n’est pas garanti. Si le graphe est pondéré, mais que l’indégree ou l’outdegree est égal à zéro pour un processus, MPI_WEIGHTS_EMPTY ou n’importe quel tableau arbitraire peut être passé à des poids sources ou destweights par ce processus.
Configuration requise
Produit |
Microsoft MPI v6 |
En-tête |
Mpi.h ; Mpif.h |
Bibliothèque |
Msmpi.lib |
DLL |
Msmpi.dll |
Voir aussi
Fonctions de topologie de processus MPI