Zweck des Caching:
- Information (``Attribute'') zwischen Aufruf von Bibliotheks-Routinen an
einen Communicator binden
- keine veralteten Informationen, falls Communicator gelöscht
Besonderheiten:
- Zugriff auf Attribute durch systemverwalteten Index (``key'')
verschiedene Bibliotheken stören sich nicht
- Communicator wird dupliziert oder gelöscht
Aufruf von Callback-Funktionen für jedes Attribut
Routinen:
- int MPI_Keyval_create(MPI_Copy_function * copy_fn,
MPI_Delete_function * delete_fn, int *keyval, void *extra_state)
Erzeugen eines neuen Keys
- int copy_fn(MPI_Comm *oldcomm, int *keyval, void *extra, void *attr_in,
void **attr_out, int *flag)
Callback-Funktion zur Kopie der Attributwerte
- int delete_fn(MPI_Comm *comm, int *keyval, void *attr_val, void *extra)
Callback-Funktion zum Löschen von Attribut-Speicher
- MPI_KEYVAL_INVALID
spezieller Wert für Keys, nützlich zum Initialisieren
- int MPI_Attr_put(MPI_Comm comm, int keyval, (void *) attr_val)
Wert eines Attributs zu einem Key in einen Communicator schreiben
- int MPI_Attr_get(MPI_Comm comm, int keyval, (void **) attr_val, int *flag)
Wert eines Attributs zu einem Key aus einem Communicator lesen

Peter Junglas 11.5.2000