<div dir="ltr"><div>Hi,</div><div><br></div><div>You now understand a single simulation running on a single rank - PAR(cr) is false in this case. That is also true of multiple simulations, when each is running on their own single MPI rank. The separate multi-sim parallelism data structure gmx_multisim_t handles coordinating between simulations. Those simulations can have one rank per simulation, or more; when using more, then PAR(cr) and DOMAINDECOMP(cr) tend to be true. The gmx_domdec_t data structure handles the cases when PAR(cr) is true *and* there are multiple ranks doing real-space domain decomposition. It makes no sense to expect dd_collect_state to do something across multiple simulations. Nor for it to do anything when PAR(cr) is false (in this case, the local rank already *has* the global state of this simulation).</div><div><br></div><div>&gt; Does it show that we do not have domain decomposition with multisim?</div><div><br></div><div>No, a simulation may or may not have DD. A multi-simulation is composed of simulations that may or may not have DD.</div><div><br></div><div>&gt; If so, how do I reach the local state, local index, mdatoms and all the things related to dd_partition_system? <br></div><div><br></div><div>dd_partition_system fills the local state data structures, so they already exist once it has been called. But your earlier questions referred to collecting local state, so I am not sure what you&#39;re trying to get help with.</div><div><br></div><div>&gt; <span style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif">To be more specific, how do we get the information of a certain atom, e.g. its position, velocity, etc......</span></div><div><span style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif"><br></span></div><div><span style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif">What do you want it for, and when?</span></div><div><span style="font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif"><br></span></div><div>The formatting of your email makes replying very difficult, as does your choice to receive the list in digest mode and reply to digest emails. I have had to cut and paste your text to make something sensible of the discussion, and that&#39;s not something I can afford to spend time doing. If you want to discuss things on mailing lists, please choose to receive the list in normal non-digest mode. And please configure your email client not to not use fancy backgrounds that look like lined paper. :-)</div><div><br></div><div>Regards,</div><div><br></div><div>Mark</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 5 Jun 2019 at 13:05, 1004753465 &lt;<a href="mailto:1004753465@qq.com">1004753465@qq.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><table style="width:99.8%"><tbody><tr><td id="gmail-m_4650426064610908567QQMAILSTATIONERY" style="background:url(&quot;https://rescdn.qqmail.com/zh_CN/htmledition/images/xinzhi/bg/b_01.jpg&quot;);min-height:550px;padding:100px 55px 200px">Hi,<br><br>Thank you very much! It really helps. I checked PAR(cr), and it turns out to be false. Also, the DOMAINDECOMP(cr) is also false. It seems to me that, in multisim case, dd_collect_state is not available anymore.<br><br>Does it show that we do not have domain decomposition with multisim? If so, how do I reach the local state, local index, mdatoms and all the things related to dd_partition_system? <br><br>Does it mean that we always share the storage without communication using MPI? To be more specific, how do we get the information of a certain atom, e.g. its position, velocity, etc......<br><br>These questions are probably stupid but I indeed found the parallelization method in multisim case confusing and any help will be appreciated...<br><br>Thank you so much!!!<br><br>Best regards,<br>Huan</td></tr></tbody></table><div><br></div><div><br></div><div style="font-size:12px;font-family:&quot;Arial Narrow&quot;;padding:2px 0px">------------------ Original ------------------</div><div style="font-size:12px;background:rgb(239,239,239);padding:8px"><div><b>From:</b> &quot;gromacs.org_gmx-developers-request&quot;&lt;<a href="mailto:gromacs.org_gmx-developers-request@maillist.sys.kth.se" target="_blank">gromacs.org_gmx-developers-request@maillist.sys.kth.se</a>&gt;;</div><div><b>Date:</b> Wed, Jun 5, 2019 06:00 PM</div><div><b>To:</b> &quot;gromacs.org_gmx-developers&quot;&lt;<a href="mailto:gromacs.org_gmx-developers@maillist.sys.kth.se" target="_blank">gromacs.org_gmx-developers@maillist.sys.kth.se</a>&gt;;</div><div></div><div><b>Subject:</b> gromacs.org_gmx-developers Digest, Vol 182, Issue 2</div></div><div><br></div>Send gromacs.org_gmx-developers mailing list submissions to<br>        <a href="mailto:gromacs.org_gmx-developers@maillist.sys.kth.se" target="_blank">gromacs.org_gmx-developers@maillist.sys.kth.se</a><br><br>To subscribe or unsubscribe via the World Wide Web, visit<br>        <a href="https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers" target="_blank">https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers</a><br><br>or, via email, send a message with subject or body &#39;help&#39; to<br>        <a href="mailto:gromacs.org_gmx-developers-request@maillist.sys.kth.se" target="_blank">gromacs.org_gmx-developers-request@maillist.sys.kth.se</a><br><br>You can reach the person managing the list at<br>        <a href="mailto:gromacs.org_gmx-developers-owner@maillist.sys.kth.se" target="_blank">gromacs.org_gmx-developers-owner@maillist.sys.kth.se</a><br><br>When replying, please edit your Subject line so it is more specific<br>than &quot;Re: Contents of gromacs.org_gmx-developers digest...&quot;<br><br><br>Today&#39;s Topics:<br><br>   1. Re: mdrun_mpi not able to reach &quot;rank&quot; (Mark Abraham)<br>   2. Upcoming 2019.3 patch release (Paul bauer)<br><br><br>----------------------------------------------------------------------<br><br>Message: 1<br>Date: Wed, 5 Jun 2019 08:31:25 +0200<br>From: Mark Abraham &lt;<a href="mailto:mark.j.abraham@gmail.com" target="_blank">mark.j.abraham@gmail.com</a>&gt;<br>To: Discussion list for GROMACS development<br>        &lt;<a href="mailto:gmx-developers@gromacs.org" target="_blank">gmx-developers@gromacs.org</a>&gt;<br>Cc: &quot;gromacs.org_gmx-developers&quot;<br>        &lt;<a href="mailto:gromacs.org_gmx-developers@maillist.sys.kth.se" target="_blank">gromacs.org_gmx-developers@maillist.sys.kth.se</a>&gt;<br>Subject: Re: [gmx-developers] mdrun_mpi not able to reach &quot;rank&quot;<br>Message-ID:<br>        &lt;CAMNuMARw-p5QYtWuK_cbLnznYMKrr_3Y4-XAn8ijK0yz9bE=<a href="mailto:nw@mail.gmail.com" target="_blank">nw@mail.gmail.com</a>&gt;<br>Content-Type: text/plain; charset=&quot;utf-8&quot;<br><br>Hi,<br><br>In your two cases, the form of parallelism is different. In the latter, if<br>you are using two ranks with thread-MPI, then you cannot be using multisim,<br>so there is more than one rank for the single simulation in use.<br><br>The PAR(cr) macro (sadly, misnamed for historical reasons) reflects whether<br>there is more than one rank per simulation, so you should be check that,<br>before using e.g. the functions in gromacs/gmxlib/network.h to gather some<br>information to the ranks that are master of each simulation. There&#39;s other<br>functions for communicating between master ranks of multi-simulations (e.g.<br>see the REMD code)<br><br>Mark<br><br>On Wed, 5 Jun 2019 at 07:54, 1004753465 &lt;<a href="mailto:1004753465@qq.com" target="_blank">1004753465@qq.com</a>&gt; wrote:<br><br>&gt; Hi everyone,<br>&gt;<br>&gt; I am currently trying to run two Gromacs 2018 parallel processes by using<br>&gt;<br>&gt; mpirun -np 2 ...(some path)/mdrun_mpi -v -multidir sim[01]<br>&gt;<br>&gt; During the simulation, I need to collect some information to the two<br>&gt; master nodes, just like the function &quot;dd_gather&quot;. Therefore, I need to<br>&gt; reach (cr-&gt;dd) for each rank. However, whenever I want to print<br>&gt; &quot;cr-&gt;dd-&gt;rank&quot; or &quot;cr-&gt;dd-&gt;nnodes&quot;or some thing like that, it just shows<br>&gt;<br>&gt; [c15:31936] *** Process received signal ***<br>&gt; [c15:31936] Signal: Segmentation fault (11)<br>&gt; [c15:31936] Signal code: Address not mapped (1)<br>&gt; [c15:31936] Failing at address: 0x30<br>&gt; [c15:31936] [ 0] /lib/x86_64-linux-gnu/libpthread.so.0(+0x10340)<br>&gt; [0x7f7f9e374340]<br>&gt; [c15:31936] [ 1]<br>&gt; /home/hudan/wow/ngromacs-2018/gromacs-2018/build/bin/mdrun_mpi() [0x468cfb]<br>&gt; [c15:31936] [ 2]<br>&gt; /home/hudan/wow/ngromacs-2018/gromacs-2018/build/bin/mdrun_mpi() [0x40dd65]<br>&gt; [c15:31936] [ 3]<br>&gt; /home/hudan/wow/ngromacs-2018/gromacs-2018/build/bin/mdrun_mpi() [0x42ca93]<br>&gt; [c15:31936] [ 4]<br>&gt; /home/hudan/wow/ngromacs-2018/gromacs-2018/build/bin/mdrun_mpi() [0x416f7d]<br>&gt; [c15:31936] [ 5]<br>&gt; /home/hudan/wow/ngromacs-2018/gromacs-2018/build/bin/mdrun_mpi() [0x41792c]<br>&gt; [c15:31936] [ 6]<br>&gt; /home/hudan/wow/ngromacs-2018/gromacs-2018/build/bin/mdrun_mpi() [0x438756]<br>&gt; [c15:31936] [ 7]<br>&gt; /home/hudan/wow/ngromacs-2018/gromacs-2018/build/bin/mdrun_mpi() [0x438b3e]<br>&gt; [c15:31936] [ 8]<br>&gt; /home/hudan/wow/ngromacs-2018/gromacs-2018/build/bin/mdrun_mpi() [0x439a97]<br>&gt; [c15:31936] [ 9] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)<br>&gt; [0x7f7f9d591ec5]<br>&gt; [c15:31936] [10]<br>&gt; /home/hudan/wow/ngromacs-2018/gromacs-2018/build/bin/mdrun_mpi() [0x40b93e]<br>&gt; [c15:31936] *** End of error message ***<br>&gt; step 0[c15:31935] *** Process received signal ***<br>&gt; [c15:31935] Signal: Segmentation fault (11)<br>&gt; [c15:31935] Signal code: Address not mapped (1)<br>&gt; [c15:31935] Failing at address: 0x30<br>&gt; [c15:31935] [ 0] /lib/x86_64-linux-gnu/libpthread.so.0(+0x10340)<br>&gt; [0x7fb64892e340]<br>&gt; [c15:31935] [ 1]<br>&gt; /home/hudan/wow/ngromacs-2018/gromacs-2018/build/bin/mdrun_mpi() [0x468cfb]<br>&gt; [c15:31935] [ 2]<br>&gt; /home/hudan/wow/ngromacs-2018/gromacs-2018/build/bin/mdrun_mpi() [0x40dd65]<br>&gt; [c15:31935] [ 3]<br>&gt; /home/hudan/wow/ngromacs-2018/gromacs-2018/build/bin/mdrun_mpi() [0x42ca93]<br>&gt; [c15:31935] [ 4]<br>&gt; /home/hudan/wow/ngromacs-2018/gromacs-2018/build/bin/mdrun_mpi() [0x416f7d]<br>&gt; [c15:31935] [ 5]<br>&gt; /home/hudan/wow/ngromacs-2018/gromacs-2018/build/bin/mdrun_mpi() [0x41792c]<br>&gt; [c15:31935] [ 6]<br>&gt; /home/hudan/wow/ngromacs-2018/gromacs-2018/build/bin/mdrun_mpi() [0x438756]<br>&gt; [c15:31935] [ 7]<br>&gt; /home/hudan/wow/ngromacs-2018/gromacs-2018/build/bin/mdrun_mpi() [0x438b3e]<br>&gt; [c15:31935] [ 8]<br>&gt; /home/hudan/wow/ngromacs-2018/gromacs-2018/build/bin/mdrun_mpi() [0x439a97]<br>&gt; [c15:31935] [ 9] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)<br>&gt; [0x7fb647b4bec5]<br>&gt; [c15:31935] [10]<br>&gt; /home/hudan/wow/ngromacs-2018/gromacs-2018/build/bin/mdrun_mpi() [0x40b93e]<br>&gt; [c15:31935] *** End of error message ***<br>&gt; --------------------------------------------------------------------------<br>&gt; mpirun noticed that process rank 0 with PID 31935 on node c15.dynstar<br>&gt; exited on signal 11 (Segmentation fault).<br>&gt; --------------------------------------------------------------------------<br>&gt;<br>&gt; However, if I install the package without flag -DGMX_MPI=on, the single<br>&gt; program(mdrun) runs smoothly. and all the domain decomposition rank can be<br>&gt; printed out and used conveniently.<br>&gt;<br>&gt; It is pretty wierd to me that, with mdrun_mpi, although domain<br>&gt; decomposition can be done, their rank can neither be printed out nor<br>&gt; available through struct cr-&gt;dd. I wonder whether they were saved in other<br>&gt; form, but I do not know what it is.<br>&gt;<br>&gt; I will appreciate it if someone can help. Thank you very much!!!<br>&gt; Best,<br>&gt; Huan<br>&gt; --<br>&gt; Gromacs Developers mailing list<br>&gt;<br>&gt; * Please search the archive at<br>&gt; <a href="http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List" target="_blank">http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List</a> before<br>&gt; posting!<br>&gt;<br>&gt; * Can&#39;t post? Read <a href="http://www.gromacs.org/Support/Mailing_Lists" target="_blank">http://www.gromacs.org/Support/Mailing_Lists</a><br>&gt;<br>&gt; * For (un)subscribe requests visit<br>&gt; <a href="https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers" target="_blank">https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers</a><br>&gt; or send a mail to <a href="mailto:gmx-developers-request@gromacs.org" target="_blank">gmx-developers-request@gromacs.org</a>.<br>-------------- next part --------------<br>An HTML attachment was scrubbed...<br>URL: &lt;<a href="http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20190605/0f93c01b/attachment-0003.html" target="_blank">http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20190605/0f93c01b/attachment-0003.html</a>&gt; </blockquote></div></div>