[mvapich-discuss] Spawn support in MVAPICH2 v2.0

Adam T. Moody moody20 at llnl.gov
Wed Sep 3 20:56:13 EDT 2014


Hello MVAPICH team,
I have someone interested in using the dynamic process management in 
MPI2, e.g, MPI_Comm_spawn.  I see the user manual says this should work 
for the OFA-IB-CH3 interface:

http://mvapich.cse.ohio-state.edu/static/media/mvapich/mvapich2-2.0-userguide.html#x1-350005.2.5

I'm testing on a QLogic/PSM network but I've built using IB-CH3.  I use 
mpirun_rsh with -rsh to run, and I get the following error:

rzalastor34<53>: ./install/bin/mpirun_rsh -np 1 -hostfile hostfile -rsh 
./spawn_test
[rzalastor34:mpi_rank_0][rdma_find_network_type] QLogic IB card detected 
in system
[rzalastor34:mpi_rank_0][rdma_find_network_type] Please re-configure the 
library with the '--with-device=ch3:psm' configure option for best 
performance
[rzalastor34:mpirun_rsh][child_handler] Error in init phase, aborting! 
(1/2 mpispawn connections)

Is there a way to get more information?
Thanks,
-Adam


I've configured MVAPICH2 with the following:

rzalastor34<62>: ./install/bin/mpiname -a
MVAPICH2 2.0 Fri Jun 20 20:00:00 EDT 2014 ch3:mrail

Compilation
CC: gcc  -g -O0  -g -O0
CXX: g++  -g -O0 -g
F77: gfortran -L/lib -L/lib  -g -O0 -fno-second-underscore -g -O0
FC: gfortran  -g -O0 -fno-second-underscore -g

Configuration
--prefix=/collab/usr/global/tools/mpi/sideinstalls/chaos_5_x86_64_ib/mvapich2-2.0-gnu-psm-debug-dpm/install 
--enable-f77 --enable-fc --enable-cxx --disable-fast --enable-g=dbg 
--enable-error-checking=runtime --enable-error-messages=all 
--enable-nmpi-as-mpi --enable-shared --enable-sharedlibs=gcc 
--enable-debuginfo --with-device=ch3:mrail --with-rdma=gen2 
--enable-romio --with-file-system=lustre+nfs+ufs --disable-mpe --without-mpe

The spawn_test.c file consists of this:

#include <stdio.h>
#include <stdlib.h>

#include "mpi.h"

int main(int argc, char* argv[])
{
  MPI_Init(&argc, &argv);

  int errs[2];
  MPI_Comm comm;
  MPI_Comm_spawn("spawn_test2", MPI_ARGV_NULL, 1, MPI_INFO_NULL, 0, 
MPI_COMM_WORLD, &comm, errs);
  MPI_Barrier(comm);

  MPI_Finalize();

  return 0;
}

And the spawn_test2.c file has this:

#include <stdio.h>
#include <stdlib.h>

#include "mpi.h"

int main(int argc, char* argv[])
{
  MPI_Init(&argc, &argv);

  int rank, ranks;
  MPI_Comm_rank(MPI_COMM_WORLD, &rank);
  MPI_Comm_size(MPI_COMM_WORLD, &ranks);

  printf("Rank %d Size %d\n", rank, ranks);

  MPI_Finalize();

  return 0;
}




More information about the mvapich-discuss mailing list