Bagikan melalui


MPI_Dist_graph_create_adjacent (Fungsi MPI_Dist_graph_create_adjacent)

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

Sintaks

int WINAPI MPI_Dist_graph_create_adjacent(
  _In_  MPI_Comm                comm_old,
        _In_range_(>=,0)  int   indegree,
        _In_reads_opt const int sources[],
        _In_reads_opt const int sourceweights[],
        _In_range_(>=,0)  int   outdegree,
        _In_reads_opt const int destinations[],
        _In_reads_opt const int destweights[],
  _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).

  • indegree
    Ukuran array sumber dan sourceweights (bilangan bulat non-negatif).

  • sources[]
    Peringkat proses yang proses panggilannya adalah tujuan (array bilangan bulat non-negatif).

  • sourceweights[]
    Bobot tepi yang sesuai ke dalam proses panggilan (array bilangan bulat non-negatif).

  • outdegree
    Ukuran array tujuan dan destweights (bilangan bulat non-negatif).

  • destinations[]
    Peringkat proses yang proses panggilannya adalah sumber (array bilangan bulat non-negatif).

  • destweights[]
    Bobot tepi yang sesuai keluar dari proses panggilan (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_ADJACENT (COMM_OLD, INDEGREE, SOURCES, SOURCEWEIGHTS,
    OUTDEGREE, DESTINATIONS, DESTWEIGHTS, INFO, REORDER,
    COMM_DIST_GRAPH, IERROR)
        INTEGER COMM_OLD, INDEGREE, SOURCES (*), SOURCEWEIGHTS (*), OUTDEGREE,
    DESTINATIONS (*), DESTWEIGHTS (*), INFO, COMM_DIST_GRAPH, IERROR
        LOGICAL REORDER

Keterangan

Setiap proses dalam comm_old communicator meneruskan semua informasi tentang tepi masuk dan keluarnya dalam topologi grafik terdistribusi virtual. Proses panggilan harus memastikan bahwa setiap tepi grafik dijelaskan dalam sumber dan dalam proses tujuan dengan bobot yang sama, jika grafik ditimbang. Jika ada beberapa tepi untuk pasangan tujuan sumber tertentu, urutan bobot tepi ini tidak masalah.

Topologi komunikasi lengkap adalah kombinasi dari semua tepi yang ditunjukkan dalam array sumber dari semua proses dalam comm_old, yang harus identik dengan kombinasi semua tepi yang ditunjukkan dalam array tujuan . Peringkat sumber dan tujuan harus berupa peringkat proses comm_old. Ini memungkinkan spesifikasi grafik komunikasi yang didistribusikan sepenuhnya. Proses terisolasi, yaitu, proses tanpa tepi masuk atau keluar dalam topologi terdistribusi, dan dengan demikian memiliki indegree atau outdegree atau keduanya, sebagai nol, diizinkan.

Jumlah proses dalam komunikator yang baru dibuat, comm_dist_graph, identik dengan jumlah proses dalam comm_old. Panggilan ke fungsi ini bersifat kolektif.

Bobot ditentukan sebagai bilangan bulat non-negatif menggunakan array sourceweights dan destweights , jika grafik adalah grafik tertimbang. Aplikasi perlu menentukan MPI_UNWEIGHTED untuk array sourceweights dan destweights untuk menunjukkan bahwa semua tepi memiliki bobot yang sama (tidak efektif). Keliru untuk memasok MPI_UNWEIGHTED untuk beberapa tetapi tidak semua proses comm_old. Perilaku dalam kasus seperti itu tidak dijamin. Jika grafik ditimbang, tetapi indegree atau outdegree adalah nol untuk proses, maka MPI_WEIGHTS_EMPTY atau array arbitrer apa pun dapat diteruskan ke sourceweights atau destweights oleh proses tersebut.

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

MPI_Dist_graph_neighbors_count

MPI_Dist_graph_neighbors