This chapter begins with calls used to create generalized requests. The objective of this MPI-2 addition is to allow users of MPI to be able to create new nonblocking operations with an interface similar to what is present in MPI. This can be used to layer new functionality on top of MPI. Next, Section Associating Information with Status deals with setting the information found in status. This is needed for generalized requests.
Section Naming Objects allows users to associate names with communicators, windows, and datatypes. This will allow debuggers and profilers to identify communicators, windows, and datatypes with more useful labels. Section Error Classes, Error Codes, and Error Handlers allows users to add error codes, classes, and strings to MPI. With users being able to layer functionality on top of MPI, it is desirable for them to use the same error mechanisms found in MPI.
Section Decoding a Datatype deals with decoding datatypes. The opaque datatype object has found a number of uses outside MPI. Furthermore, a number of tools wish to display internal information about a datatype. To achieve this, datatype decoding functions are provided.
The chapter continues, in Section MPI and Threads , with a discussion of how threads are to be handled in MPI-2. Although thread compliance is not required, the standard specifies how threads are to work if they are provided. Section New Attribute Caching Functions has information on caching on communicators, datatypes, and windows. Finally, Section Duplicating a Datatype discusses duplicating a datatype.