[mpich-discuss] Spawn MPI-Process
Rajeev Thakur
thakur at mcs.anl.gov
Mon Aug 20 12:49:55 CDT 2012
Instead of universe_size-1, try passing some number like 3 or 4.
Rajeev
On Aug 20, 2012, at 4:39 AM, Silvan Brändli wrote:
> Dear all
>
> I try to start an application using the MPI_Comm_spawn command. However, when I execute my program I get a segmentation fault. I guess, this might be because universe_size is one. As I couldn't find helpful information on setting universe_size I hope some of you could help me.
>
> Find the source code below or in the attached files. I compile the code using
> mpicxx main.cpp -o main
> mpicxx hi.cpp -o hi
>
> and execute the case with
>
> mpiexec -prepend-rank -np 1 ./main
>
> The output is
>
> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
>
> [0] world_size 1
> [0] universe size 1
> [0] try to spawn
>
> =====================================================================================
> = BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
> = EXIT CODE: 11
> = CLEANING UP REMAINING PROCESSES
> = YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
> =====================================================================================
> APPLICATION TERMINATED WITH THE EXIT STRING: Segmentation fault (signal 11)
>
> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
>
> Best regards
> Silvan
>
> $$$$==main.cpp==$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
>
> #include <sstream>
> #include <mpi.h>;
>
> using std::string;
>
> int main(int argc, char *argv[])
> {
> int myrank;
> if (MPI_Init(&argc,&argv)!=MPI_SUCCESS)
> {
> printf("MPI_Init failed");
> }
> MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
>
> int world_size, universe_size, *universe_sizep, flag;
> MPI_Comm_size(MPI_COMM_WORLD, &world_size);
> printf("world_size %d\n",world_size);
>
> MPI_Attr_get(MPI_COMM_WORLD, MPI_UNIVERSE_SIZE,
> &universe_sizep, &flag);
>
> if (!flag)
> {
> printf("This MPI does not support UNIVERSE_SIZE. How many processes total?");
> scanf("%d", &universe_size);
> } else universe_size = *universe_sizep;
> printf("universe size %d\n",universe_size);
>
> char* hiargv[1];
> char* m0=" ";
> hiargv[0]=m0;
>
> MPI_Comm childComm;
> int spawnerror;
> printf("try to spawn\n");
> MPI_Comm_spawn("./hi",hiargv, universe_size-1, MPI_INFO_NULL, myrank, MPI_COMM_SELF, &childComm, &spawnerror);
> printf("after spawn\n");
> MPI_Finalize();
> return 0;
> }
>
> $$$$==hi.cpp==$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
>
> #include <mpi.h>;
> int main(int argc, char** argv) {
> MPI_Init(NULL, NULL);
>
> int world_size;
> MPI_Comm_size(MPI_COMM_WORLD, &world_size);
>
> int world_rank;
> MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);
>
> printf("Hello world from, rank %d"
> " out of %d processors\n",
> world_rank, world_size);
>
> MPI_Finalize();
> return 0;
> }
>
> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
> --
> Dipl.-Ing. Silvan Brändli
> Numerische Strukturanalyse mit Anwendungen in der Schiffstechnik (M-10)
>
> Technische Universität Hamburg-Harburg
> Schwarzenbergstraße 95c
> 21073 Hamburg
>
> Tel. : +49 (0)40 42878 - 6187
> Fax. : +49 (0)40 42878 - 6090
> e-mail: silvan.braendli at tu-harburg.de
> www : http://www.tuhh.de/skf
>
> <main.cpp><hi.cpp>_______________________________________________
> mpich-discuss mailing list mpich-discuss at mcs.anl.gov
> To manage subscription options or unsubscribe:
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
More information about the mpich-discuss
mailing list