<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    On 22/03/2011 8:15 PM, Yukun Wang wrote:
    <blockquote
      cite="mid:AANLkTinxVW15t2DzqKsyG62qfTU-FFjSo6Jn+hTp1r2N@mail.gmail.com"
      type="cite">I don't know if there is a function in Gromacs that it
      can get and change a specific group atom's local information,for
      example data in the t_state data structure , when given a group,
      which is defined and included by command of grompp -n option. <br>
      So I can call this function in the master node and couple severial
      simulations <font size="-1">simultaneously</font> .<br>
    </blockquote>
    <br>
    Data structures exist that contain this information, but it's not in
    one usable place. Each processor knows which atoms are local to it,
    but I don't think they all know which processor has each atom. Use
    the collect_state functionality to prove your concept, and if you
    need extra performance, think about doing the weeks of work for
    implementing something much harder but a little bit faster.<br>
    <br>
    Mark<br>
    <br>
    <blockquote
      cite="mid:AANLkTinxVW15t2DzqKsyG62qfTU-FFjSo6Jn+hTp1r2N@mail.gmail.com"
      type="cite">
      <div class="gmail_quote">2011/3/22 David van der Spoel <span
          dir="ltr">&lt;<a moz-do-not-send="true"
            href="mailto:spoel@xray.bmc.uu.se">spoel@xray.bmc.uu.se</a>&gt;</span><br>
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
          0.8ex; border-left: 1px solid rgb(204, 204, 204);
          padding-left: 1ex;">
          <div class="im">On 2011-03-22 04.42, Mark Abraham wrote:<br>
            <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
              0.8ex; border-left: 1px solid rgb(204, 204, 204);
              padding-left: 1ex;">
              On 22/03/2011 2:38 PM, Yukun Wang wrote:<br>
              <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
                0.8ex; border-left: 1px solid rgb(204, 204, 204);
                padding-left: 1ex;">
                Hi<br>
                What is the function of 'dd_collect_state' used to ?<br>
              </blockquote>
              <br>
              It collects the state of the simulation system, which was
              distributed<br>
              across the parallel nodes, into a single structure.<br>
              <br>
              <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
                0.8ex; border-left: 1px solid rgb(204, 204, 204);
                padding-left: 1ex;">
                In the md.c there is a function as:<br>
                dd_collect_state(cr-&gt;dd,state,state_global)<br>
                I don't know what' the mean of it,and where was it
                defined.<br>
                <br>
                I want to realize a work by gromacs, that there are
                several<br>
                simulations which coulped weakly only by exchanging
                position<br>
                information of a group of atoms for every n steps, and
                for each<br>
                simulation I want to run parallelly. So the trouble is
                coming for each<br>
                simulation with domain decomposition parallelizing that
                this group of<br>
                atoms would be distributed in different node.<br>
                How can I get those data from different nodes in the
                running time? If<br>
                I put the self-written coulping code in the master node
                for each<br>
                simulation how I do this data gathering job?<br>
              </blockquote>
              <br>
              Either you need to collect on the master node and
              communicate between<br>
              them before redistributing, or write complex (but
              ultimately more<br>
              scalable) code to communicate between all the processors.
              The REMD<br>
              implementation should be a good model for the former.<br>
              <br>
            </blockquote>
          </div>
          Indeed, or the more general -multi option.<br>
          <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
            0.8ex; border-left: 1px solid rgb(204, 204, 204);
            padding-left: 1ex;">
            Mark<br>
          </blockquote>
          <br>
          <br>
          -- <br>
          David van der Spoel, Ph.D., Professor of Biology<br>
          Dept. of Cell &amp; Molec. Biol., Uppsala University.<br>
          Box 596, 75124 Uppsala, Sweden. Phone: &nbsp;+46184714205.<br>
          <a moz-do-not-send="true" href="mailto:spoel@xray.bmc.uu.se"
            target="_blank">spoel@xray.bmc.uu.se</a> &nbsp; &nbsp;<a
            moz-do-not-send="true" href="http://folding.bmc.uu.se"
            target="_blank">http://folding.bmc.uu.se</a>
          <div>
            <div class="h5"><br>
              -- <br>
              gmx-developers mailing list<br>
              <a moz-do-not-send="true"
                href="mailto:gmx-developers@gromacs.org" target="_blank">gmx-developers@gromacs.org</a><br>
              <a moz-do-not-send="true"
                href="http://lists.gromacs.org/mailman/listinfo/gmx-developers"
                target="_blank">http://lists.gromacs.org/mailman/listinfo/gmx-developers</a><br>
              Please don't post (un)subscribe requests to the list. Use
              the www interface or send it to <a moz-do-not-send="true"
                href="mailto:gmx-developers-request@gromacs.org"
                target="_blank">gmx-developers-request@gromacs.org</a>.<br>
            </div>
          </div>
        </blockquote>
      </div>
      <br>
    </blockquote>
    <br>
  </body>
</html>