1
$\begingroup$

I have recently acquired a server that I will be using for distributed simulations. However, I was wondering how do I determine which MPI version the server is compatible with?

The reason that I am asking this is that I acquired it from a reseller who buys old computer equipment (for those wondering, it is an IBM blade center. Some of the blades have DDR2 installed and others are dated around 2011) and resells it. There was one professor in my university who was using an older server. He was trying to code for distributed systems but he was saying that it was not compatible with the latest version of MPI (he also said that he was having a hard time getting older versions of MPI working). So, my question is how can I make sure that the version of MPI I use is compatible with the server?

$\endgroup$
3
  • $\begingroup$ You should probably check out something like the OpenMPI website to see what system/software requirements they have to use their toolset. $\endgroup$
    – spektr
    Jul 5, 2016 at 15:09
  • $\begingroup$ @choward I have to determine which one to use. Still researching it. But I am split on MPICH and OpenMPI $\endgroup$
    – philm
    Jul 5, 2016 at 15:18
  • $\begingroup$ I only have experience with OpenMPI, so I don't know how different the two APIs are. I do know OpenMPI was fine for me to use back in my undergrad. $\endgroup$
    – spektr
    Jul 5, 2016 at 15:20

2 Answers 2

2
$\begingroup$

MPI is software that runs on your computer(s). Which implementation and version of MPI you can use therefore depends on the installed operating system. If you are for example running GNU/Linux, you can usually choose between different versions of MPICH and OpenMPI in your package manager.

Special network features such as Infiniband can benefit MPI and require approriate hardware, but basic ethernet is already sufficient.

$\endgroup$
1
  • $\begingroup$ yeah, we have ethernet and will be utilizing this. So MPI support is at the software level and not the hardware. Interesting, I wonder why the professor was having such a hard time with getting later versions of MPI working. Are there any special instructions that the processor needs to get it working? $\endgroup$
    – philm
    Jul 5, 2016 at 22:41
1
$\begingroup$

Since there is a set of MPI standards, any of the available stacks should state, which for example standard level they are compliant with. Your customer should be able to state which level of standard compliance they need. There's probably very few codes out there that need 3.1 at this point, but some people like to be on the cutting edge. For each function in an MPI standard level, you ought to be able to be able to find by searching which MPI standard document introduced it and then find a library that supports that level of standard. There are lots more MPI libraries than MPICH and OpenMPI, but lots of other libraries are based on MPICH.

$\endgroup$
3
  • $\begingroup$ Hi bill, I apologize but I am very new to MPI. So, if I setup a server with MPICH, am I am to compile and run a program using the MPI 1.1 protocol? (For example) $\endgroup$
    – philm
    Jul 5, 2016 at 17:35
  • $\begingroup$ @philm. I can't speak for the MPICH developers, but it is, more or less, the reference implementation. It is, I think, intended to eventually support everything. It supports 1.1 right now for sure. It might support more than I realize, but I'd be it supports 2.0 at the very least and maybe more. $\endgroup$
    – Bill Barth
    Jul 5, 2016 at 22:05
  • $\begingroup$ @Bll I understand you are not an expert in MPICH. I choose this one because it is what I have been looking at. I figured everything under the sun can support MPI 1.1 so I was just using this as an example. I believe that the basic principal of OpenMPI and MPICH are similiar. Just replace my wording from MPICH to OpenMPI $\endgroup$
    – philm
    Jul 5, 2016 at 22:44

Not the answer you're looking for? Browse other questions tagged or ask your own question.