MPI_KEYVAL_FREE, MPI_Keyval_free Purpose Marks a communicator attribute key for deallocation. C synopsis #include int MPI_Keyval_free(int *keyval); FORTRAN synopsis include 'mpif.h' or use mpi MPI_KEYVAL_FREE(INTEGER KEYVAL,INTEGER IERROR) Parameters keyval attribute key (integer) (INOUT) IERROR is the FORTRAN return code. It is always the last argument. Description This subroutine sets keyval to MPI_KEYVAL_INVALID and marks the attribute key for deallocation. You can free an attribute key that is in use because the actual deallocation occurs only when all active references to it are complete. These references, however, need to be explicitly freed. Use calls to MPI_ATTR_DELETE to free one attribute instance. To free all attribute instances associated with a communicator, use MPI_COMM_FREE. Notes MPI_COMM_FREE_KEYVAL supersedes MPI_KEYVAL_FREE. MPI_KEYVAL_FREE does not interoperate with MPI_COMM_FREE_KEYVAL. The FORTRAN bindings for MPI-1 caching functions presume that an attribute is an INTEGER. The MPI-2 caching bindings use INTEGER (KIND=MPI_ADDRESS_KIND). In an MPI implementation that uses 64-bit addresses and 32-bit INTEGERS, the two formats would be incompatible. Errors Invalid attribute key attribute key is undefined Predefined attribute key attribute key is predefined MPI not initialized MPI already finalized Related information MPI_ATTR_DELETE