Udostępnij za pośrednictwem


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

MPI_Dist_graph_neighbors_count

MPI_Dist_graph_neighbors