Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vrátí popisovač nového komunikátoru, ke kterému jsou připojeny informace o distribuované topologii grafu.
Syntaxe
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
);
Parametry
comm_old [v]
Popisovač komunikátoru bez informací o topologii (popisovač).n
Počet zdrojů, pro které tento proces určuje odchozí hrany (nezáporné celé číslo)zdroje[]
Pole obsahující n zdrojů, pro které tento zdroj určuje odchozí hrany (pole nezáporných celých čísel).stupňů[]
Pole určující počet cílů pro každý zdrojový uzel v poli zdrojového uzlu (pole nezáporných celých čísel).destinace[]
Cílové uzly pro zdrojové uzly v poli zdrojů (pole nezáporných celých čísel).váhy[]
Váhy pro odpovídající hrany v poli cílů (pole nezáporných celých čísel).informace [v]
Rady k optimalizaci nebo interpretaci vah (popisovač) V současné době se používá MPI_INFO_NULL , protože tato proměnná se nepoužívá interně.Přiobjednání
Pořadí může být přeuspořádané (pravda) nebo ne (nepravda) (logické). V současné době se nepoužívá interně.comm_dist_graph [ven]
Popisovač komunikátoru s připojenými informacemi o distribuované topologii grafu (popisovač).
Vrácená hodnota
Vrátí MPI_SUCCESS při úspěchu. V opačném případě je návratovou hodnotou kód chyby.
Ve Fortranu je vrácená hodnota uložena v parametru 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
Poznámky
Pole zdrojů i cílů mohou obsahovat stejný uzel více než jednou a pořadí, ve kterém jsou uzly uvedeny jako cíle nebo zdroje, není významné. Podobně mohou různé procesy určovat hrany se stejným zdrojovým a cílovým uzlem. Zdrojové a cílové uzly musí mít pořadí procesů comm_old. Různé procesy můžou určovat různé počty zdrojových a cílových uzlů a také různé zdrojové a cílové hrany. To umožňuje plně distribuovanou specifikaci komunikačního grafu. Izolované procesy (procesy bez odchozích nebo příchozích okrajů, tj. procesy, které se ve specifikaci grafu nenacházejí jako zdrojový nebo cílový uzel) jsou povolené.
Počet procesů v comm_dist_graph je stejný jako počet procesů v comm_old. Volání této funkce je kolektivní.
V jazyce C nebo FORTRAN může aplikace poskytnout MPI_UNWEIGHTED pro pole váhy , které označují, že všechny hrany mají stejnou (vlastně žádnou) váhu. Je chybné dodávat MPI_UNWEIGHTED pro některé, ale ne všechny procesy comm_old. Chování v takovém případě není zaručeno. Pokud je graf vážený, ale n = 0, pak MPI_WEIGHTS_EMPTY nebo libovolné pole mohou být předány váhym.
Požadavky
Produkt |
Microsoft MPI v6 |
Hlavička |
Mpi.h; Soubor Mpif.h |
Knihovna |
Msmpi.lib |
DLL |
Msmpi.dll |
Viz také
MPI_Dist_graph_create_adjacent