Pervasive Technology Labs logo

Frequently Asked Questions:
General Information

  |   Home   |   Download   |   Documentation   |  

Table of contents:

  1. Does MPI.NET work with other MPI implementations?
  2. Does MPI.NET work with Mono?
  3. How do I debug programs that use MPI.NET?


1. Does MPI.NET work with other MPI implementations?

It depends on the platform. Even though MPI is a standard, on Windows MPI.NET encodes some information about specific data types used in MS-MPI that tie MPI.NET directly to Microsoft's MPI. It is certainly possible to make MPI.NET work with other MPI implementations, but we do not currently plan to do so. On Unix, however, MPI.NET adapts itself to the native MPI detected at configure time, and can work with (at least) Open MPI, LAM/MPI, and MPICH2.


2. Does MPI.NET work with Mono?

Yes! As of version 0.6.0, MPI.NET works under Mono using a variety of different native MPIs, including Open MPI, LAM/MPI, and MPICH2. Note, however, that problems will run-time code generation in Mono cause MPI.NET to be slightly more conservative in its optimizations. Due to this more-conservative approach and the fact that the Mono JIT has not received as much tuning as the Microsoft JIT, we expect that performance on Mono will not be as good.


3. How do I debug programs that use MPI.NET?

Microsoft Visual Studio 2008 (Service Pack 1) is able to debug MPI.NET programs. To do so, you will need to open your executable as a project, and then configure the MPI Cluster Debugger to launch your program under the debugger. For more information, please see the Word document Debugging MPI.NET Programs in Visual Studio.