1
I Use This!
Activity Not Available

Project Summary

MPI is the de-facto standard for HPC. The 2.0 standard specifies bindings for Fortran, C and C++. However, they clearly lack of high-level abstractions such are OO encapsulation or simple portability in heterogeneous platforms, i.e. distributed sets of different CPUs, possibly interconnected by different networks.
Nearly all current, modern languages, have developed extensions such as to enable their use with MPI: this is the case of Java (JavaMPI, MPIJava), Python (pympi), Perl or Ruby. As far as C# is concerned, the Open Systems Laboratory at Indiana University has proposed both a low-level binding (strongly inspired by the C++ binding) and a high-level one, called MPI.NET (see Willcock, J., Lumsdaine, A., Robison., A.: Using mpi with c# and the common language infrastructure. Concurrency and Computation: Practice and Experience 17(7-8) (2005) 895–917).
The C# binding is relatively straightforward. Each object of C# bindings contains the underlying C representation of the MPI object. Similarly, the high-level objects in the MPI.NET are usually containers of underlying MPI objects. According to the referenced article, the performance of the current MPI binding of C# is reasonnable. However, the implementation and the tests have only be partial and did not cover collective communication, one of the key features of MPI, neither do they cover non-blocking communication or other advanced features of MPI such as the use of non-native, used-defined datatypes.
The goals of this project would be to build upon MPI.NET in order to complement it with the features that are missing, mainly regarding collective communication. Either they could benefit from C# native support for such communication, either they could be programmed on top of the provided MPI_Send/MPI_Recv encapsulations. C# and .NET features such as fault tolerance or dynamicity support would be studied, in other to turn the MPI# implementation robust in large, dynamic and heterogeneous platforms.

Tags

No tags have been added

In a Nutshell, MPI#...

 No code available to analyze

Open Hub computes statistics on FOSS projects by examining source code and commit history in source code management systems. This project has no code locations, and so Open Hub cannot perform this analysis

Is this project's source code hosted in a publicly available repository? Do you know the URL? If you do, click the button below and tell us so that Open Hub can generate statistics! It's fast and easy - try it and see!

Add a code location

This Project has No vulnerabilities Reported Against it

Did You Know...

  • ...
    Black Duck offers a free trial so you can discover if there are open source vulnerabilities in your code
  • ...
    anyone with an Open Hub account can update a project's tags
  • ...
    65% of companies leverage OSS to speed application development in 2016
  • ...
    you can embed statistics from Open Hub on your site

 No code available to analyze

Open Hub computes statistics on FOSS projects by examining source code and commit history in source code management systems. This project has no code locations, and so Open Hub cannot perform this analysis

Is this project's source code hosted in a publicly available repository? Do you know the URL? If you do, click the button below and tell us so that Open Hub can generate statistics! It's fast and easy - try it and see!

Add a code location

Community Rating

Be the first to rate this project
Click to add your rating
   Spinner
Review this Project!
Sample ohloh analysis