MPI_Dist_graph_create_adjacent functie
Retourneert een ingang naar een nieuwe communicator waaraan de informatie over de gedistribueerde grafiektopologie is gekoppeld.
Syntaxis
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
);
Parameters
comm_old [in]
De ingang van de communicator zonder de topologiegegevens (ingang).indegree
Grootte van de bron - en brongewichtmatrices (niet-negatief geheel getal).bronnen[]
Rangschikkingen van processen waarvan het aanroepende proces het doel is (matrix van niet-negatieve gehele getallen).sourceweights[]
Gewichten van de bijbehorende randen in het aanroepende proces (matrix van niet-negatieve gehele getallen).outdegree
Grootte van de bestemmingen en destweights matrices (niet-negatief geheel getal).bestemmingen[]
Rangschikkingen van processen waarvan het aanroepende proces de bron is (matrix van niet-negatieve gehele getallen).destweights[]
Gewichten van de bijbehorende randen buiten het aanroepende proces (matrix van niet-negatieve gehele getallen).info [in]
Hints over optimalisatie of interpretatie van gewichten (handvat). Gebruik momenteel MPI_INFO_NULL omdat deze variabele niet intern wordt gebruikt.Opnieuw ordenen
Rangschikkingen kunnen worden aangepast (waar) of niet (onwaar) (logisch). Dit wordt momenteel niet intern gebruikt.comm_dist_graph [uit]
Handle naar de communicator met de gedistribueerde grafiektopologiegegevens bijgevoegd (ingang).
Retourwaarde
Retourneert MPI_SUCCESS bij succes. Anders is de retourwaarde een foutcode.
In Fortran wordt de retourwaarde opgeslagen in de parameter 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
Opmerkingen
Elk proces in de comm_old communicator geeft alle informatie over de binnenkomende en uitgaande randen door in de virtueel gedistribueerde graaftopologie. De aanroepende processen moeten ervoor zorgen dat elke rand van de grafiek wordt beschreven in de bron en in het doelproces met hetzelfde gewicht, als de grafiek wordt gewogen. Als er meerdere randen zijn voor een bepaald bron-doelpaar, maakt de volgorde van de gewichten van deze randen niet uit.
De volledige communicatietopologie is de combinatie van alle randen die worden weergegeven in de bronmatrix van alle processen in comm_old, die identiek moet zijn aan de combinatie van alle randen die worden weergegeven in de doelmatrix . Bron- en doelrangschikkingen moeten procesrangschikkingen van comm_old zijn. Dit maakt een volledig gedistribueerde specificatie van de communicatiegrafiek mogelijk. Geïsoleerde processen, dat wil gezegd, processen zonder binnenkomende of uitgaande randen in de gedistribueerde topologie, en dus indegree of outdegree hebben of beide, als nul, zijn toegestaan.
Het aantal processen in de zojuist gemaakte communicator, comm_dist_graph, is identiek aan het aantal processen in comm_old. De aanroep van deze functie is collectief.
Gewichten worden opgegeven als niet-negatieve gehele getallen met behulp van de brongewichten en destweights-matrices , als de grafiek een gewogen grafiek is. Een toepassing moet MPI_UNWEIGHTED opgeven voor zowel de brongewichten als destweights-matrices om aan te geven dat alle randen hetzelfde (in feite geen) gewicht hebben. Het is onjuist om MPI_UNWEIGHTED te leveren voor sommige, maar niet alle processen van comm_old. Het gedrag in een dergelijk geval wordt niet gegarandeerd. Als de grafiek gewogen is, maar indegree of outdegree nul is voor een proces, kan MPI_WEIGHTS_EMPTY of willekeurige matrix worden doorgegeven aan brongewichten of destweights door dat proces.
Vereisten
Product |
Microsoft MPI v6 |
Header |
Mpi.h; Mpif.h |
Bibliotheek |
Msmpi.lib |
DLL |
Msmpi.dll |