[This is preliminary documentation and is subject to change.]
Enumeration describing how a given attribute should be copied
(or not) when the communicator is cloned (duplicated).
Namespace:
MPIAssembly: MPI (in MPI.dll)
Version: 0.8.0.0 (0.8.0.0)
Syntax
| C# |
|---|
public enum AttributeDuplication |
| Visual Basic (Declaration) |
|---|
Public Enumeration AttributeDuplication |
| Visual C++ |
|---|
public enum class AttributeDuplication |
Members
| Member name | Description | |
|---|---|---|
| None |
When the communicator is duplicated, this value is not copied.
For value types, small value types (less than the size of
a native pointer) will be kept in the low-level MPI communicator.
With larger value types, the low-level MPI communicator's
attribute will store a pointer to the value, which will be
automatically allocated and deallocated as appropriate. This
behavior can be used to interoperate with C MPI programs that
store attributes on the communicator.
| |
| Shallow |
When the communicator is duplicated, the new communicator will
hold a "shallow" copy of the underlying data, so that both
communicators reference the same value.
For value types smaller than a native pointer, the value will
be stored directly in the low-level communicator. This approach
can be used for interoperability with C MPI programs that store
primitive types or MPI handles directly in the attributes.
For object types and "large" value types, the value will be
stored on the (garbage-collected) heap. Copying entails
creating new references to the object.
| |
| Deep |
When the communicator is duplicated, the new communicator will
contain a completely-new, distinct copy of the underlying data.
For value types, each low-level MPI communicator will store a
pointer to the data, which will be deallocated when the
MPI communicator is destroyed. This approach can be used for
interoperability with C MPI programs that store attributes as
pointers to primitives or structures.
For class types, MPI.NET will use the ICloneable interface
to clone objects for a deep copy.
|