Funktionsübersicht
. .
Virtuelle Topologien
Hilfesystem für den Message Passing Interface Standard MPI
MPI_Dims_create
Liefert eine ausgeglichene Aufteilung einer Anzahl von Prozessen auf
eine kartesisches Struktur
- Convinience function zu MPI_Cart_create -
Syntax:
MPI_Dims_create( nnodes, ndims, dims )
Input Parameter:
nnodes - Anzahl der Prozesse, die verteilt werden sollen (integer)
ndims - Anzahl der Dimensionen der kartesischen Struktur (integer)
Inout Parameter
dims - Array der Größe ndims, welches die Anzahl der Prozesse in
jeder Dimension angibt (array of integer)
dims[n] = Anzahl der Prozesse in der Dimension n;
Das Feld kann als dims-Argument in
MPI_Cart_create verwendet werden.
In dims werden nur diejenigen Elemente neu berechnet, die vor dem Aufruf
Null waren. Werte > 0 werden als gesetzt betrachtet und bleiben
unverändert. Einträge < 0 sind fehlerhaft.
zum Beispiel:
Aufruf:
#include "mpi.h"
int numprocs, ndims = N;
int dims[N];
...
MPI_Comm_size( oldcomm, &numprocs);
MPI_Dims_create( numprocs, ndims, dims);
MPI_Cart_create( oldcomm, ndims, dims, periods, reorder, &comm_cart );
...
Beispiel