Funktionsübersicht
. .
Virtuelle Topologien
Hilfesystem für den Message Passing Interface Standard MPI
MPI_Graph_map
Errechnet eine "optimale" Plazierung des rufenden Prozesses auf der
zugrundeliegenden Hardware
Syntax:
MPI_Graph_map( comm, nnodes, index, edges, newrank )
Input Parameter:
comm - Eingabekommunikator (handle)
nnodes - Anzahl der Knoten (Prozesse) im Graphen (integer)
index - Array der Größe nnodes (array of integer)
index[i] gibt an, wieviele Nachbarn die ersten i Knoten insgesamt haben
edges - Liste der Nachbarknoten (array of integer)
zuerst alle Nachbarn von Prozeß 0, dann alle Nachbarn von Prozeß 1 usw.
edges hat soviele Einträge, wie der Graph Kanten hat.
Output Parameter:
newrank - neuer Rang des rufenden Prozesses im neugeordneten Graphen
(integer)
Aufruf:
#include "mpi.h"
...
int newrank;
int nnodes=NNODES;
int index[NNODES], edges[NEDGES];
MPI_Comm comm;
...
MPI_Comm_rank( comm, &oldrank);
...
MPI_Graph_map( comm, nnodes, index, edges, &newrank);
...