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

  • Authors:
  • Daniel Holmes;Stephen Booth

  • Affiliations:
  • EPCC, the University of Edinburgh, Edinburgh, UK;EPCC, the University of Edinburgh, Edinburgh, UK

  • Venue:
  • Proceedings of the 20th European MPI Users' Group Meeting
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.