[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