Pervasive Technology Labs logo

MPI.NET: High-Performance C# Library for Message Passing

  |   Home   |   Download   |   Documentation   |  


MPI.NET is a high-performance, easy-to-use implementation of the Message Passing Interface (MPI) for Microsoft's .NET environment. MPI is the de facto standard for writing parallel programs running on a distributed memory system, such as a compute cluster, and is widely implemented. Most MPI implementations provide support for writing MPI programs in C, C++, and Fortran. MPI.NET provides support for all of the .NET languages (especially C#), and includes significant extensions (such as automatic serialization of objects) that make it far easier to build parallel programs that run on clusters.


  • October 6, 2008: MPI.NET 1.0 is now available! This is our first major release of MPI.NET, providing support for most of MPI 1.1 and parts of MPI 2.0. This release of MPI.NET works with Microsoft's new HPC Server 2008 as well as with the older Computer Cluster Server 2003. Please visit our download page to install MPI.NET 1.0.
  • September 22, 2008: Microsoft has released Windows HPC Server 2008, which includes version 2 of Microsoft's MPI implementation. The HPC Pack 2008 SDK provides the tools needed to write MPI programs for Windows HPC Server 2008. MPI programs using MPI.NET will run unmodified on Windows HPC Server 2008 as well as on previous versions of Microsoft's HPC offerings.
  • September 4, 2008: Tutorials for MPI.NET in C# and Python are now available (in Microsoft Word format) on the documentation page.
  • June 19, 2008: The MPI.NET 0.9.0 release is now available, bringing bug fixes and documentation improvements. Please visit our download page to install this updated version of MPI.NET.
  • June 8, 2008: The MPI.NET 0.8.0 release is now available, with a crucial bug fix for sending large, serialized data types and some minor improvements to the documentation and MPI. Please visit our download page to install this updated version of MPI.NET.
  • February 18, 2008: Douglas Gregor will be giving a talk about MPI.NET at the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP '08) this week in Salt Lake City, Utah.
  • November 11, 2007: The MPI.NET 0.5.0 Technology Preview release is now available, providing a high-performance, easy-to-use MPI interface for C# and the other Microsoft .NET languages. Please see our download page for more information.
  • April, 2007: We have begun development of a completely new, open source MPI.NET library written in C#. This new MPI.NET is based on Boost.MPI, and will provide a far more natural and expressive high-level interface to MPI from C# and the other .NET languages. A preview release of MPI.NET will be available here for SC '07.