MPI_Dist_graph_create, funkcja
Zwraca uchwyt do nowego komunikatora, do którego dołączono rozproszone informacje topologii grafu.
Składnia
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 [in]
Uchwyt komunikatora bez informacji o topologii (uchwyt).n
Liczba źródeł, dla których ten proces określa krawędzie wychodzące (liczba całkowita nie ujemna).sources[]
Tablica zawierająca n źródeł, dla których to źródło określa krawędzie wychodzące (tablica nie ujemnych liczb całkowitych).stopnie[]
Tablica określająca liczbę miejsc docelowych dla każdego węzła źródłowego w tablicy węzłów źródłowych (tablica nie ujemnych liczb całkowitych).miejsca docelowe[]
Węzły docelowe węzłów źródłowych w tablicy źródeł (tablica nie ujemnych liczb całkowitych).wagi[]
Wagi odpowiednich krawędzi w tablicy miejsc docelowych (tablica nie ujemnych liczb całkowitych).info [in]
Wskazówki dotyczące optymalizacji lub interpretacji wag (uchwyt). Obecnie należy używać MPI_INFO_NULL , ponieważ ta zmienna nie jest używana wewnętrznie.Zmienić kolejność
Klasyfikacje mogą być zmieniane na kolejność (prawda) lub nie (fałsz) (logiczne). Obecnie nie jest to używane wewnętrznie.comm_dist_graph [out]
Obsługa komunikatora za pomocą dołączonych informacji topologii wykresu rozproszonego (uchwyt).
Wartość zwracana
Zwraca MPI_SUCCESS po powodzeniu. W przeciwnym razie zwracana wartość jest kodem błędu.
W fortran wartość zwracana jest przechowywana w parametrze 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
Uwagi
Zarówno tablice źródeł , jak i miejsc docelowych mogą zawierać ten sam węzeł więcej niż raz, a kolejność, w jakiej węzły są wymienione jako miejsca docelowe lub źródła, nie ma znaczenia. Podobnie różne procesy mogą określać krawędzie z tymi samymi węzłami źródłowymi i docelowymi. Węzły źródłowe i docelowe muszą być szeregami procesów comm_old. Różne procesy mogą określać różne liczby węzłów źródłowych i docelowych, a także różne źródła do krawędzi docelowych. Umożliwia to w pełni rozproszoną specyfikację grafu komunikacyjnego. Dozwolone są procesy izolowane (procesy bez krawędzi wychodzących lub przychodzących, czyli procesy, które nie występują jako węzeł źródłowy lub docelowy w specyfikacji grafu).
Liczba procesów w comm_dist_graph jest identyczna z liczbą procesów w comm_old. Wywołanie tej funkcji jest zbiorcze.
W języku C lub FORTRAN aplikacja może dostarczyć MPI_UNWEIGHTED dla tablicy wag , aby wskazać, że wszystkie krawędzie mają taką samą (skutecznie nie) wagę. Błędne jest dostarczanie MPI_UNWEIGHTED dla niektórych, ale nie wszystkich procesów comm_old. Zachowanie w takim przypadku nie jest gwarantowane. Jeśli wykres jest ważony, ale n = 0, MPI_WEIGHTS_EMPTY lub dowolna tablica może zostać przekazana do wag.
Wymagania
Produkt |
Microsoft MPI v6 |
Nagłówek |
Mpi.h; Mpif.h |
Biblioteka |
Msmpi.lib |
DLL |
Msmpi.dll |
Zobacz też
Funkcje topologii procesów MPI
MPI_Dist_graph_create_adjacent