<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi Stanislav,<br>
    <br>
    This seems interesting. Could you please also attach the MPICH
    config.log ? You can find under the directory where you build MPICH.
    I will look into this problem then and keep you updated.<br>
    <br>
    Min<br>
    <br>
    <div class="moz-cite-prefix">On 8/11/17 1:31 PM, Stanislav Simko
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:1502454690.4363.18.camel@uu.nl">
      
      <div>Dear all,</div>
      <div><br>
      </div>
      <div>I'm just trying some very basic stuff with MPI_COMM_SPAWN in
        python (i.e. I use mpi4py package), but I see behaviour that I
        do not understand - the child process gets spawned, does its
        stuff and then "should" finish. I see though, that the process
        created for the child stays alive. I see this only with the
        MPICH, OPENMPI does what I would (naively) expect. In this way I
        can end up with N "ghost" process, after calling SPAWN N-times.
        My minimal working example is following:</div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div>______________________________________________</div>
      <div>parent.py</div>
      <div><br>
      </div>
      <div>from __future__ import print_function</div>
      <div>from mpi4py import MPI</div>
      <div>comm = MPI.COMM_WORLD</div>
      <div>spawned =
        MPI.COMM_SELF.Spawn(sys.executable,args=['child.py'],maxprocs=1)</div>
      <div>print("parent process is waiting for child")</div>
      <div>spawned.Barrier()</div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div>______________________________________________</div>
      <div>child.py</div>
      <div><br>
      </div>
      <div>from __future__ import print_function</div>
      <div>from mpi4py import MPI</div>
      <div>parent = MPI.Comm.Get_parent()</div>
      <div># just do some stupid stuff that takes a bit of time</div>
      <div>for i in range(5000000):</div>
      <div>    a = i*i+1-(i*10) + math.sin(math.pow(i,i%8))</div>
      <div>parent.Barrier()</div>
      <div><br>
      </div>
      <div>______________________________________________</div>
      <div><br>
      </div>
      <div>I run with e.g.:</div>
      <div>mpirun -n 1 python mpi.py</div>
      <div><br>
      </div>
      <div>Do I miss something with SPAWN method?</div>
      <div>(I tested on two independent systems, our local cluster with
        mpich v3.0.4, and my laptop - fedora 26, mpich v3.2.8 from
        repositories)</div>
      <div><br>
      </div>
      <div>thank you very much for suggestions.</div>
      <div><br>
      </div>
      <div>Regards,</div>
      <div>stanislav.</div>
      <div><span></span></div>
      <div><span></span></div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
discuss mailing list     <a class="moz-txt-link-abbreviated" href="mailto:discuss@mpich.org">discuss@mpich.org</a>
To manage subscription options or unsubscribe:
<a class="moz-txt-link-freetext" href="https://lists.mpich.org/mailman/listinfo/discuss">https://lists.mpich.org/mailman/listinfo/discuss</a></pre>
    </blockquote>
    <br>
  </body>
</html>