Pervasive Technology Labs logo

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

  |   Home   |   Download   |   Documentation   |  

MPI.NET

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.

News

  • February 21, 2008: The MPI.NET 0.6.0 release is now available. This release contains support for MPI attributes and topologies, bug fixes, improved performance, and support for building MPI.NET applications on Unix using Mono. Please see our download page for more information.
  • 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.