Megosztás:


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

Paraméterek

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

  • indegree
    A források és a forrássúlyok tömbjének mérete (nem negatív egész szám).

  • források[]
    Azoknak a folyamatoknak a rangsora, amelyeknek a hívási folyamata a cél (nem negatív egész számok tömbje).

  • sourceweights[]
    A megfelelő élek súlyozása a hívási folyamatba (nem negatív egész számok tömbje).

  • outdegree
    A cél- és súlyzótömbök mérete (nem negatív egész szám).

  • célhelyek[]
    Azoknak a folyamatoknak a rangsora, amelyeknek a hívási folyamata a forrás (nem negatív egész számok tömbje).

  • destweights[]
    A megfelelő élek súlyozása a hívási folyamatból (nem negatív egész számok tömbje).

  • info [in]
    Tippek a súlyok optimalizálásához vagy értelmezéséhez (fogantyú). Jelenleg MPI_INFO_NULL használjon, 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ő használatra szolgál.

  • 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 van tárolva.

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

Megjegyzések

A comm_old kommunikátor minden folyamata a virtuális elosztott gráf topológiában adja át a bejövő és kimenő élekre vonatkozó összes információt. A hívási folyamatoknak gondoskodniuk kell arról, hogy a gráf minden szélét azonos súlyozással írja le a forrás és a célfolyamat. Ha egy adott forrás-cél párhoz több él is tartozik, akkor ezeknek az éleknek a súlyozása nem számít.

A teljes kommunikációs topológia a comm_old összes folyamatának forrástömbjében látható összes él kombinációja, amelynek meg kell egyeznie a céltömbben látható összes él kombinációjával. A forrás- és célrangoknak comm_old folyamatrangsorainak kell lenniük. Ez lehetővé teszi a kommunikációs gráf teljes körűen elosztott specifikációját. Az izolált folyamatok, azaz a bejövő vagy kimenő élekkel nem rendelkező folyamatok az elosztott topológiában, így indegree vagy outdegree , vagy mindkettő nullaként engedélyezettek.

Az újonnan létrehozott kommunikátorban lévő folyamatok száma ( comm_dist_graph) megegyezik a comm_old folyamatainak számával. A függvény meghívása kollektív.

A súlyok nem negatív egész számként vannak megadva a forrássúlyok és a súlyozási tömbök használatával, ha a gráf súlyozott gráf. Az alkalmazásoknak MPI_UNWEIGHTED kell megadniuk a forrássúlyok és a súlyozási tömbök számára, hogy jelezzék, hogy minden él ugyanolyan (gyakorlatilag nincs) súlyozással rendelkezik. A comm_old egyes, de nem minden folyamatához hibásMPI_UNWEIGHTED szolgáltatni. Az ilyen esetekben a viselkedés nem garantált. Ha a gráf súlyozott, de az indegree vagy az outdegree értéke nulla egy folyamat esetében, akkor MPI_WEIGHTS_EMPTY vagy tetszőleges tömböt adhat át a folyamat a forrássúlyoknak vagy a destweightsnek .

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-folyamat topológiafüggvényei

MPI_Dist_graph_create

MPI_Dist_graph_neighbors_count

MPI_Dist_graph_neighbors