Megosztás:


MPI_Dist_graph_create függvény

Egy leírót ad vissza egy új kommunikátornak, amelyhez az elosztott gráftopológia adatai csatolva vannak.

Szintaxis

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

Paraméterek

  • comm_old [in]
    A kommunikátor leírója a topológia adatai (leíró) nélkül.

  • p
    Azon források száma, amelyeknél ez a folyamat kimenő éleket (nem negatív egész szám) határoz meg.

  • források[]
    Azokat az n forrásokat tartalmazó tömb, amelyhez ez a forrás megadja a kimenő éleket (nem negatív egész számok tömbje).

  • fok[]
    Tömb, amely a forráscsomópont tömbjében található egyes forráscsomópontok célhelyeinek számát adja meg (nem negatív egész számok tömbje).

  • célhelyek[]
    A forráscsomópontok célcsomópontjai a forrástömbben (nem negatív egész számok tömbje).

  • súlyok[]
    A céltömb megfelelő éleinek súlyozása (nem negatív egész számok tömbje).

  • információ [in]
    Tippek a súlyok optimalizálásához vagy értelmezéséhez (fogantyú). Jelenleg MPI_INFO_NULL használ, mivel ezt a változót nem használják belsőleg.

  • Újrarendelési
    A rangsorok átrendezhetők (igaz) vagy nem (hamis) (logikai). Ez jelenleg nem belsőleg használatos.

  • comm_dist_graph [ki]
    Kezelje a kommunikátort a csatolt elosztott gráftopológia adataival (leíró).

Visszatérési érték

Sikeres MPI_SUCCESS ad vissza. Ellenkező esetben a visszatérési érték hibakód.

A Fortranban a visszatérési érték az IERROR paraméterben lesz tárolva.

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

Megjegyzések

A források és a céltömbök többször is tartalmazhatják ugyanazt a csomópontot, és a csomópontok célként vagy forrásként való felsorolásának sorrendje nem jelentős. Hasonlóképpen, a különböző folyamatok azonos forrás- és célcsomópontokkal rendelkező éleket is meghatározhatnak. A forrás- és célcsomópontoknak a comm_old folyamatsorainak kell lenniük. A különböző folyamatok eltérő számú forrás- és célcsomópontot, valamint eltérő forrást adhatnak meg a cél széleihez. Ez lehetővé teszi a kommunikációs gráf teljes körűen elosztott specifikációját. Az elkülönített folyamatok (kimenő vagy bejövő élek nélküli folyamatok, azaz azok a folyamatok, amelyek nem a gráf specifikációjában forrás- vagy célcsomópontként fordulnak elő) engedélyezettek.

A comm_dist_graph folyamatainak száma megegyezik a comm_old folyamatainak számával. A függvény hívása kollektív.

A C vagy a FORTRAN esetében az alkalmazások MPI_UNWEIGHTED adhatnak meg a súlyozási tömbhöz, hogy jelezzék, hogy minden él ugyanolyan (gyakorlatilag nincs) súlyú. Hibás a MPI_UNWEIGHTED biztosítása néhány, de nem minden comm_old folyamathoz. Ilyen esetben a viselkedés nem garantált. Ha a gráf súlyozott, de n = 0, akkor MPI_WEIGHTS_EMPTY vagy tetszőleges tömb átadható a súlyoknak.

Követelmények

Termék

Microsoft MPI v6

Fejléc

Mpi.h; Mpif.h

Kódtár

Msmpi.lib

DLL

Msmpi.dll

Lásd még

MPI folyamattopológiafüggvények

MPI_Dist_graph_create_adjacent

MPI_Dist_graph_neighbors_count

MPI_Dist_graph_neighbors