Bagikan melalui


MPI_Dist_graph_create (Fungsi MPI_Dist_graph_create)

Mengembalikan handel ke komunikator baru tempat informasi topologi grafik terdistribusi dilampirkan.

Sintaks

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

Parameter

  • comm_old [in]
    Handel komunikator tanpa informasi topologi (handel).

  • n
    Jumlah sumber yang proses ini menentukan tepi keluar (bilangan bulat non-negatif).

  • sources[]
    Array yang berisi sumber n yang sumber ini menentukan tepi keluar (array bilangan bulat non-negatif).

  • derajat[]
    Array yang menentukan jumlah tujuan untuk setiap simpul sumber dalam array simpul sumber (array bilangan bulat non-negatif).

  • destinations[]
    Simpul tujuan untuk simpul sumber dalam array sumber (array bilangan bulat non-negatif).

  • bobot[]
    Bobot untuk tepi yang sesuai dalam array tujuan (array bilangan bulat non-negatif).

  • info [in]
    Petunjuk tentang pengoptimalan atau interpretasi bobot (handel). Saat ini gunakan MPI_INFO_NULL karena variabel ini tidak digunakan secara internal.

  • urus ulang
    Peringkat dapat diurutkan ulang (benar) atau tidak (salah) (logis). Saat ini ini tidak digunakan secara internal.

  • comm_dist_graph [out]
    Tangani ke komunikator dengan informasi topologi grafik terdistribusi terlampir (handel).

Mengembalikan nilai

Mengembalikan MPI_SUCCESS pada keberhasilan. Jika tidak, nilai yang dikembalikan adalah kode kesalahan.

Di Fortran, nilai yang dikembalikan disimpan dalam parameter 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

Keterangan

Array sumber dan tujuan mungkin berisi simpul yang sama lebih dari sekali, dan urutan di mana simpul terdaftar sebagai tujuan atau sumber tidak signifikan. Demikian pula, proses yang berbeda dapat menentukan tepi dengan simpul sumber dan tujuan yang sama. Simpul sumber dan tujuan harus berupa peringkat proses comm_old. Proses yang berbeda dapat menentukan jumlah simpul sumber dan tujuan yang berbeda, serta sumber yang berbeda ke tepi tujuan. Ini memungkinkan spesifikasi grafik komunikasi yang didistribusikan sepenuhnya. Proses terisolasi (proses tanpa tepi keluar atau masuk, yaitu, proses yang tidak terjadi karena simpul sumber atau tujuan dalam spesifikasi grafik) diizinkan.

Jumlah proses dalam comm_dist_graph identik dengan jumlah proses dalam comm_old. Panggilan ke fungsi ini bersifat kolektif.

Dalam C atau FORTRAN, aplikasi dapat memasok MPI_UNWEIGHTED untuk array bobot untuk menunjukkan bahwa semua tepi memiliki bobot yang sama (tidak ada) yang sama. Keliru untuk memasok MPI_UNWEIGHTED untuk beberapa tetapi tidak semua proses comm_old. Perilaku dalam kasus seperti itu tidak dijamin. Jika grafik ditimbang, tetapi n = 0, maka, MPI_WEIGHTS_EMPTY atau array arbitrer apa pun dapat diteruskan ke bobot.

Persyaratan

Produk

Microsoft MPI v6

Header

Mpi.h; Mpif.h

Pustaka

Msmpi.lib

DLL

Msmpi.dll

Lihat juga

Fungsi Topologi Proses MPI

MPI_Dist_graph_create_adjacent

MPI_Dist_graph_neighbors_count

MPI_Dist_graph_neighbors