McMPI: A managed-code MPI library in pure C#

Daniel Holmes, Stephen Booth

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract / Description of output

This paper presents McMPI, an entirely new MPI library written in C# using only safe managed-code, and performance results from low-level benchmarks demonstrating ping-pong latency and bandwidth comparable with MS-MPI and MPICH2. McMPI enables all .Net languages to use MPI messaging without introducing a dependency on unsafe non-managed code, e.g. an existing MPI library. It also takes advantage of .Net thread support to improve intra-node latency. This paper also discusses support for multiple threads in McMPI and proposes an extension to the MPI Standard that resolves current ambiguities relating to hosting multiple MPI processes in a single operating system process.

Original languageEnglish
Title of host publicationACM International Conference Proceeding Series
PublisherACM Association for Computing Machinery
Number of pages6
ISBN (Print)9788461651337
Publication statusPublished - 2013
Event20th European MPI Users' Group Meeting, EuroMPI 2013 - Madrid, Spain
Duration: 15 Sept 201318 Sept 2013


Conference20th European MPI Users' Group Meeting, EuroMPI 2013

Keywords / Materials (for Non-textual outputs)

  • C#
  • Managed-code
  • MPI
  • Net


Dive into the research topics of 'McMPI: A managed-code MPI library in pure C#'. Together they form a unique fingerprint.

Cite this