locked
API to determine MSMPI version RRS feed

  • Question

  • Is there a way to determine from within my app what version of the msmpi dll was loaded (CCS/2003 or HPC server/2008) ?
    MPI_Get_Version appears to be for querying the version of the MPI standard that is supported (2.0 for both ?).

    I can't find the MS MPI API on MSDN, and browsing mpi.h didn't reveal anything to me.

    Thanks,
    Chris
    Thursday, July 23, 2009 7:49 PM

Answers

All replies

  • In a semi-related vein (debugging msmpi issues), I have found that if I attempt to start using the mpiexec from Compute Cluster Pack but load the msmpi.dll from HPC Pack 2008 SDK, the program hangs in MPI_Init. Using the mpiexec from HPC Pack 2008 SDK works of course.

    Is there some recommended way to locate the HPC server mpiexec.exe ?






    Friday, July 24, 2009 8:30 PM
  • There isn't really an API to check for MSMPI version. there is MPICH2_VERSION which is a string, but it only indicates the MSMPI/MPICH2 version you compiled against. I guess the best way is the query the msmpi.dll file version. 1.x is CCS 2.x is HPC.

    hope this helps,
    .Erez
    Monday, July 27, 2009 1:43 PM
  • The protocol between the smpd and the msmmpi.dll during startup (MPI_Init) has changed between version 1 (CCS) and version 2 (HPC) which is why it would hang. You should really not mixed these versions together. However, it is perfectly alright to run an application compiled with CCS SDK on the HPC version.

    The location of mpiexec should be on the path after installing a compute nodes. make sure not to mix CCS sdk with HPC installation; that would really mix things up.

    thanks,
    .Erez

    Monday, July 27, 2009 1:48 PM

  • Thanks for the confirmation.

    > The location of mpiexec should be on the path after installing

    That is not really workable, especially with different apps and different MPI distributions being installed on the machines. I have 2 current client/benchmarking sites that have CCS, HPC, and MPICH2 all installed, and I have to figure out how to get my app to start.

    > make sure not to mix CCS sdk with HPC installation; that would really mix things up.

    Unfortunately, I get very little say in how customers administer their machines; I just have to make our software work no matter how they mess things up.


    Are ISVs allowed to redist mpiexec & msmpi.dll with their apps so we can rely on them being in known locations ?
     
    Tuesday, July 28, 2009 1:42 PM

  • Are ISVs allowed to redist mpiexec & msmpi.dll with their apps so we can rely on them being in known locations ?
     

    not just yet, but Microsoft is going to enabled that soon.
    Thursday, July 30, 2009 5:20 PM
    • Marked as answer by Don Pattee Wednesday, January 12, 2011 2:51 AM
    Wednesday, January 12, 2011 2:49 AM