Syntax:
Ein Attribut muß in derselben Programmiersprache zurückgeholt werden, in der es mit MPI_Attr_put gespeichert wurde.
Aufruf:
#include "mpi.h"
typedef struct {
... die gewünschten Attributwerte ...
} attr_t;
...
static int keyval=MPI_KEYVAL_INVALID;
...
MPI_Comm comm;
attr_t *attr;
...
... attribute_val belegen ...
MPI_Keyval_create( (MPI_Copy_function *)& copy_fn,
(MPI_Delete_function *)&delete_fn,
&keyval, extra_state);
MPI_Attr_put(MPI_COMM_WORLD, keyval, attr);
MPI_Comm_dup(MPI_COMM_WORLD, &comm);
...
in Bibliotheksfunktion, der comm übergeben wird
...
int flag;
attr_t *attribute_val;
...
MPI_Attr_get(comm, keyval, &attribute_val, &flag);
if (flag) {
... Attribut benutzen ...
}
...
Beispiel