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

The MPI namespace contains classes that provide access to the Message Passing Interface (MPI) for writing distributed, parallel programs to be run on Windows clusters.

Classes

  ClassDescription
Attribute
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.
AttributeSet
Contains the attributes attached to a communicator.
CartesianCommunicator
A CartesianCommunicator is a form of Intracommunicator whose processes are arranged in a grid of arbitrary dimensions.
Communicator
Provides communication among a set of MPI processes.
CompletedStatus
Information about a specific message that has already been transferred via MPI.
DatatypeCache
Provides a mapping from .NET types to their corresponding MPI datatypes. This class should only be used by experts in both MPI's low-level (C) interfaces and the interaction between managed and unmanaged code in .NET.
Environment
Provides MPI initialization, finalization, and environmental queries.
GraphCommunicator
A GraphCommunicator is a form of Intracommunicator where the processes are connected in an arbitrary graph topology.
Group
The Group class provides the ability to manipulate sets of MPI processes.
Intercommunicator
Intercommunicators are Communicators that contain two disjoint groups of processes, an each process can communicate only with processes in the other group.
Intracommunicator
Intracommunicators provide communication among a set of MPI processes.
MessageTruncatedException
An exception thrown when an MPI message has been truncated on receive.
Operation<(Of <(T>)>)
The Operation class provides reduction operations for use with the reduction collectives.
ReceiveRequest
A non-blocking receive request.
Request
A non-blocking communication request.
RequestList
A request list contains a list of outstanding MPI requests.
Status
Contains information about a specific message transmitted via MPI.
TopologicalCommunicator
A communicator with extra topological information that describes the typical communication patterns among the processes.
Unsafe
Direct, low-level interface to the system MPI library.

Structures

  StructureDescription
DatatypeCache..::.Packed
Placeholder type that is used to indicate that data being sent by one of the low-level MPI routines is packed by MPI.
Unsafe..::.MPI_Status
Low-level representation of the status of an MPI communication operation.

Delegates

  DelegateDescription
ReductionOperation<(Of <(T>)>)
A reduction operation that combines two values to produce a third value.
Unsafe..::.MPI_Copy_function
Delegate describing a low-level MPI function used to copy attribute values from a communicator when the communicator is being duplicated.
Unsafe..::.MPI_Delete_function
Delegate describing a low-level MPI function that takes care of de-allocating an attribute when it is deleted from a communicator (or the communicator itself is freed).

Enumerations

  EnumerationDescription
AttributeDuplication
Enumeration describing how a given attribute should be copied (or not) when the communicator is cloned (duplicated).
Comparison
The intermediate of a comparison between two MPI objects.
Threading
Enumeration describing the level of threading support provided by the MPI implementation. The MPI environment should be initialized with the minimum threading support required for your application, because additional threading support can have a negative impact on performance. The four options providing monotonically-increasing levels of freedom for the MPI program. Thus, a program implemented based on the Threading.Single semantics will work perfectly well (although perhaps less efficiently) with Threading.Multiple.