<div class="gmail_quote">On Wed, Jul 11, 2012 at 6:51 PM, Christoph Junghans <span dir="ltr">&lt;<a href="mailto:junghans@votca.org" target="_blank">junghans@votca.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
2012/7/11 Roland Schulz &lt;<a href="mailto:roland@utk.edu">roland@utk.edu</a>&gt;:<br>
<div><div class="h5">&gt; On Wed, Jul 11, 2012 at 7:19 AM, Alexey Shvetsov<br>
&gt; &lt;<a href="mailto:alexxy@omrb.pnpi.spb.ru">alexxy@omrb.pnpi.spb.ru</a>&gt; wrote:<br>
&gt;&gt; Roland Schulz писал 2012-07-11 10:47:<br>
&gt;&gt;&gt; On Wed, Jul 11, 2012 at 2:33 AM, Alexey Shvetsov<br>
&gt;&gt;&gt; &lt;<a href="mailto:alexxy@omrb.pnpi.spb.ru">alexxy@omrb.pnpi.spb.ru</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt; Hi!<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; mvpich2/mvapich (as well as its derviations like platform<br>
&gt;&gt;&gt;&gt; mpi,pc-mpi,intel-mpi) also will behave differently. So user can get<br>
&gt;&gt;&gt;&gt; cryptic message about launching mpd, in case of launching mdrun -np<br>
&gt;&gt;&gt;&gt; directly<br>
&gt;&gt;&gt; Not quite. mpich2 requires for MPI_Comm_spawn to work that the<br>
&gt;&gt;&gt; application is run with mpirun/mpiexec. See<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; <a href="http://lists.mcs.anl.gov/pipermail/mpich-discuss/2012-June/012638.html" target="_blank">http://lists.mcs.anl.gov/pipermail/mpich-discuss/2012-June/012638.html</a><br>
&gt;&gt;&gt; for the details. We would need to detect that and don&#39;t try to spawn<br>
&gt;&gt;&gt; in that case (and run in serial with a warning).<br>
&gt;&gt;&gt; Thus mpich2 would require: mpirun mdrun -np x. Of course that isn&#39;t<br>
&gt;&gt;&gt; more convenient than mpirun -np x mdrun. The only advantage would be<br>
&gt;&gt;&gt; that as with tmpi &quot;mpirun mdrun&quot; would automatically use as many<br>
&gt;&gt;&gt; cores<br>
&gt;&gt;&gt; as are available and are useful for the system, whereas without spawn<br>
&gt;&gt;&gt; the user needs to decides the number of cores and we can&#39;t have any<br>
&gt;&gt;&gt; automatic mechanism helping the user.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Roland<br>
&gt;&gt;<br>
&gt;&gt; Ok. But how this will work with batch systems that automaticaly send<br>
&gt;&gt; number of processes to mpiexec, effective launch command will be<br>
&gt;&gt;<br>
&gt;&gt; $ mpiexec mdrun_mpi $mdrunargs<br>
&gt;<br>
&gt; The idea was to only do any spawn if mdrun_mpi is started in serial<br>
&gt; (mpiexec -n 1). It was only meant to make mdrun_mpi behave the same as<br>
&gt; tmpi mdrun for a single node. On clusters with batch system nothing<br>
&gt; would have changed over the current situation.<br>
</div></div>1.) I agree with Roland that keeping the -nt option would be<br>
misleading, even if -nt gets a new meaning - &quot;number of tasks&quot;, where<br>
tasks can be threads or mpi tasks.<br>
Also from my experience, half of the users are not aware of the -nt<br>
option either, they just start mdrun without any special setting,<br>
which means &quot;guess&quot; and we should keep that.<br>
So making -nt obsolete is not bad, I think.<br></blockquote><div><br></div><div>Without thinking about the &quot;I just want to type mdrun and nothing else&quot; type of users it would make sense to require a user to use -ntmpi and/or -ntomp. However, I have the feeling that users could be quite overwhelmed with the technical nature of the different parallelization schemes. That&#39;s why the convenience-option -nt could be good to keep.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">2.) One class of system that has not been discussed yet, are the one<br>
with different number of OMP threads per node (like the Intel MIC),<br>
that should also be possible by explicitly defining OMP_NUM_THREADS on<br>
each node.<br></blockquote><div><br></div><div>That you should work both automatically as well as manually already now as both the detection and run configuration setup happens on a per-process basis. You won&#39;t be able to have different # of OpenMP threads per process with thread-MPI, though.</div>
<div><br></div><div>I&#39;m tweaking the detection and # of threads code right now, so your help/feedback would be useful. Do you still have access to such a machine? If not, emulating this scenario would be possible with running on machines that have different core count.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
3.) With all these thread options and combination, we will need<br>
something like g_tune_mdrun, which I guess could be an extension of<br>
g_tune_pme.<br></blockquote><div><br></div><div>On the ling run it would, but I&#39;d rather see resources channeled into a more flexible multi-level &amp; task-parallelization setup in which we can dynamically tune the number of threads per task and per process as well as the number of processes. However, this is getting off-topic, let&#39;s get back to it after 4.6.</div>
<div><br></div><div>Cheers,</div><div>--</div><div>Sz.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Christoph<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
&gt;<br>
&gt; Roland<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Roland Schulz писал 2012-07-11 05:09:<br>
&gt;&gt;&gt;&gt;&gt; On Tue, Jul 10, 2012 at 8:09 PM, Szilárd Páll<br>
&gt;&gt;&gt;&gt;&gt; &lt;<a href="mailto:szilard.pall@cbr.su.se">szilard.pall@cbr.su.se</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt; On Tue, Jul 10, 2012 at 11:15 PM, Berk Hess &lt;<a href="mailto:hess@kth.se">hess@kth.se</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Hi,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; We are working on the final part of the 4.6 release, which is<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; making the MPI<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; and OpenMP thread setup automated, fully checked and user<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; friendly.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; We have to decide on the naming of the options.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Roland has an implementation of mpi spawn ready. This would allow<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; to do<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; mdrun -np #processes instead of using mpirun (at least with<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; openmpi).<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Would this feature add anything but the convenience of being able<br>
&gt;&gt;&gt;&gt;&gt;&gt; to<br>
&gt;&gt;&gt;&gt;&gt;&gt; run without mpirun on a single node? Without MPI spawning working<br>
&gt;&gt;&gt;&gt;&gt;&gt; reliably in most cases (or with the ability to detect with a high<br>
&gt;&gt;&gt;&gt;&gt;&gt; certainty when it does not), enabling an -np mdrun option would<br>
&gt;&gt;&gt;&gt;&gt;&gt; just<br>
&gt;&gt;&gt;&gt;&gt;&gt; lead to confusion when mdrun exits with cryptic MPI error due to<br>
&gt;&gt;&gt;&gt;&gt;&gt; not<br>
&gt;&gt;&gt;&gt;&gt;&gt; being able to spawn.<br>
&gt;&gt;&gt;&gt;&gt; The idea was to make mdrun behave the same whether it is compiled<br>
&gt;&gt;&gt;&gt;&gt; with<br>
&gt;&gt;&gt;&gt;&gt; real MPI or tMPI. Thus also only support a single node. But MPICH<br>
&gt;&gt;&gt;&gt;&gt; is<br>
&gt;&gt;&gt;&gt;&gt; behaving quite stupid and they also don&#39;t seem to care. And only<br>
&gt;&gt;&gt;&gt;&gt; supporting it for OpenMPI is probably also more confusing then<br>
&gt;&gt;&gt;&gt;&gt; helpful<br>
&gt;&gt;&gt;&gt;&gt; (then tmpi+OpenMPI would behave the same but MPICH/MVAPICH would<br>
&gt;&gt;&gt;&gt;&gt; behave different). So you are probably right that it is better to<br>
&gt;&gt;&gt;&gt;&gt; not<br>
&gt;&gt;&gt;&gt;&gt; add spawn at all.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Therefore, I&#39;d be OK with a new *hidden* -np option that only<br>
&gt;&gt;&gt;&gt;&gt;&gt; works<br>
&gt;&gt;&gt;&gt;&gt;&gt; in<br>
&gt;&gt;&gt;&gt;&gt;&gt; single-node case, but not with a non-hidden one advertised in the<br>
&gt;&gt;&gt;&gt;&gt;&gt; documentation/wiki.<br>
&gt;&gt;&gt;&gt;&gt; As a hidden option it would only help for testing. But I don&#39;t<br>
&gt;&gt;&gt;&gt;&gt; think<br>
&gt;&gt;&gt;&gt;&gt; it is worth adding it for just that.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Roland<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt; Best Regards,<br>
&gt;&gt;&gt;&gt; Alexey &#39;Alexxy&#39; Shvetsov<br>
&gt;&gt;&gt;&gt; Petersburg Nuclear Physics Institute, NRC Kurchatov Institute,<br>
&gt;&gt;&gt;&gt; Gatchina, Russia<br>
&gt;&gt;&gt;&gt; Department of Molecular and Radiation Biophysics<br>
&gt;&gt;&gt;&gt; Gentoo Team Ru<br>
&gt;&gt;&gt;&gt; Gentoo Linux Dev<br>
&gt;&gt;&gt;&gt; mailto:<a href="mailto:alexxyum@gmail.com">alexxyum@gmail.com</a><br>
&gt;&gt;&gt;&gt; mailto:<a href="mailto:alexxy@gentoo.org">alexxy@gentoo.org</a><br>
&gt;&gt;&gt;&gt; mailto:<a href="mailto:alexxy@omrb.pnpi.spb.ru">alexxy@omrb.pnpi.spb.ru</a><br>
&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt; gmx-developers mailing list<br>
&gt;&gt;&gt;&gt; <a href="mailto:gmx-developers@gromacs.org">gmx-developers@gromacs.org</a><br>
&gt;&gt;&gt;&gt; <a href="http://lists.gromacs.org/mailman/listinfo/gmx-developers" target="_blank">http://lists.gromacs.org/mailman/listinfo/gmx-developers</a><br>
&gt;&gt;&gt;&gt; Please don&#39;t post (un)subscribe requests to the list. Use the<br>
&gt;&gt;&gt;&gt; www interface or send it to <a href="mailto:gmx-developers-request@gromacs.org">gmx-developers-request@gromacs.org</a>.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; --<br>
&gt;&gt;&gt; ORNL/UT Center for Molecular Biophysics <a href="http://cmb.ornl.gov" target="_blank">cmb.ornl.gov</a><br>
&gt;&gt;&gt; 865-241-1537, ORNL PO BOX 2008 MS6309<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Best Regards,<br>
&gt;&gt; Alexey &#39;Alexxy&#39; Shvetsov<br>
&gt;&gt; Petersburg Nuclear Physics Institute, NRC Kurchatov Institute,<br>
&gt;&gt; Gatchina, Russia<br>
&gt;&gt; Department of Molecular and Radiation Biophysics<br>
&gt;&gt; Gentoo Team Ru<br>
&gt;&gt; Gentoo Linux Dev<br>
&gt;&gt; mailto:<a href="mailto:alexxyum@gmail.com">alexxyum@gmail.com</a><br>
&gt;&gt; mailto:<a href="mailto:alexxy@gentoo.org">alexxy@gentoo.org</a><br>
&gt;&gt; mailto:<a href="mailto:alexxy@omrb.pnpi.spb.ru">alexxy@omrb.pnpi.spb.ru</a><br>
&gt;&gt; --<br>
&gt;&gt; gmx-developers mailing list<br>
&gt;&gt; <a href="mailto:gmx-developers@gromacs.org">gmx-developers@gromacs.org</a><br>
&gt;&gt; <a href="http://lists.gromacs.org/mailman/listinfo/gmx-developers" target="_blank">http://lists.gromacs.org/mailman/listinfo/gmx-developers</a><br>
&gt;&gt; Please don&#39;t post (un)subscribe requests to the list. Use the<br>
&gt;&gt; www interface or send it to <a href="mailto:gmx-developers-request@gromacs.org">gmx-developers-request@gromacs.org</a>.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; ORNL/UT Center for Molecular Biophysics <a href="http://cmb.ornl.gov" target="_blank">cmb.ornl.gov</a><br>
&gt; 865-241-1537, ORNL PO BOX 2008 MS6309<br>
&gt; --<br>
&gt; gmx-developers mailing list<br>
&gt; <a href="mailto:gmx-developers@gromacs.org">gmx-developers@gromacs.org</a><br>
&gt; <a href="http://lists.gromacs.org/mailman/listinfo/gmx-developers" target="_blank">http://lists.gromacs.org/mailman/listinfo/gmx-developers</a><br>
&gt; Please don&#39;t post (un)subscribe requests to the list. Use the<br>
&gt; www interface or send it to <a href="mailto:gmx-developers-request@gromacs.org">gmx-developers-request@gromacs.org</a>.<br>
<br>
<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
Christoph Junghans<br>
Web: <a href="http://www.compphys.de" target="_blank">http://www.compphys.de</a><br>
</font></span><div class="HOEnZb"><div class="h5">--<br>
gmx-developers mailing list<br>
<a href="mailto:gmx-developers@gromacs.org">gmx-developers@gromacs.org</a><br>
<a href="http://lists.gromacs.org/mailman/listinfo/gmx-developers" target="_blank">http://lists.gromacs.org/mailman/listinfo/gmx-developers</a><br>
Please don&#39;t post (un)subscribe requests to the list. Use the<br>
www interface or send it to <a href="mailto:gmx-developers-request@gromacs.org">gmx-developers-request@gromacs.org</a>.<br>
</div></div></blockquote></div><br>