共用方式為


MPI_Dist_graph_create函式

傳回附加分散式圖形拓撲資訊之新通訊器的控制碼。

語法

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
);

參數

  • comm_old [in]
    沒有拓撲資訊的通訊器控制碼, (處理) 。

  • n
    這個進程指定傳出邊緣的來源數目, (非負整數) 。

  • sources[]
    陣列,其中包含此來源指定非負整數陣列 (傳出邊緣) 的 n 個來源。

  • degrees[]
    陣列,指定來源節點陣列中每個來源節點的目的地數目, (非負整數陣列) 。

  • destinations[]
    來源陣列中來源節點的目的地節點, (非負整數陣列) 。

  • weights[]
    目的地陣列中對應邊緣的加權, (非負整數陣列) 。

  • 資訊 [in]
    優化或解譯權數 (處理) 的提示。 目前使用 MPI_INFO_Null ,因為此變數未在內部使用。

  • 排序
    順位可能會重新排序 (true) 或未 (false) (邏輯) 。 目前未在內部使用。

  • comm_dist_graph [out]
    具有附加 (處理) 分散式圖形拓撲資訊的通訊器控制碼。

傳回值

傳回成功時 MPI_SUCCESS 。 否則,傳回值是錯誤碼。

在 Fortran 中,傳回值會儲存在 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

備註

來源目的地陣列可能多次包含相同的節點,而且節點列為目的地或來源的順序並不重要。 同樣地,不同的進程可能會指定具有相同來源和目的地節點的邊緣。 來源和目的地節點必須是 進程comm_old的排名。 不同的進程可能會指定不同的來源和目的地節點數目,以及目的地邊緣的不同來源。 這允許通訊圖表的完整分散式規格。 隔離進程 (沒有傳出或傳入邊緣的進程,也就是說,不允許在圖形規格中當做來源或目的地節點發生的進程) 。

comm_dist_graph中的進程數目與comm_old中的進程數目相同。 此函式的呼叫是共同的。

在 C 或 FORTRAN 中,應用程式可以為權數陣列提供MPI_UNWEIGHTED,以表示所有邊緣實際上都具有相同的 (沒有) 權數。 為部分但並非所有 comm_old 程式提供 MPI_UNWEIGHTED錯誤。 這種情況下的行為不保證。 如果圖表為加權,但 n = 0,則 MPI_WEIGHTS_EMPTY 或任何任意陣列可能會傳遞至 權數

規格需求

產品

Microsoft MPI v6

標頭

Mpi.h;Mpif.h

媒體櫃

Msmpi.lib

DLL

Msmpi.dll

另請參閱

MPI 進程拓撲函式

MPI_Dist_graph_create_adjacent

MPI_Dist_graph_neighbors_count

MPI_Dist_graph_neighbors