[This is preliminary documentation and is subject to change.]

Attributes are key/value pairs that can be attached to communicators, and are generally used to maintain communicator-specific information across different libraries or different languages.

Namespace:  MPI
Assembly:  MPI (in MPI.dll)
Version: (


public class Attribute : IDisposable
Visual Basic (Declaration)
Public Class Attribute _
	Implements IDisposable
Visual C++
public ref class Attribute : IDisposable


Each instance of the Attribute class is the "key" for a different kind of data, and can be used to index the AttributeSet associated with a communicator to query or modify the corresponding value. Each attribute is created with the type of data its value will store (e.g., an integer, a string, an object) and a duplication policy, which describes how a value of that type is propagated when communicators are cloned.

Attributes can be used for interoperability with native code. Any attribute whose type is a value type (e.g., primitive type or structure) that has either deep-copy or no-copy semantics will be stored on the low-level MPI communicator. These attributes can then be accessed by native code directly via the low-level MPI interface.

Inheritance Hierarchy


See Also