<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    On 04/04/2012 03:22 PM, Roland Schulz wrote:
    <blockquote
cite="mid:CAO2TwbnGqm9ee3ktPo9rWV1AZhRMqdSfetw9H_W_5nzdOTkMdA@mail.gmail.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      Hi,
      <div><br>
      </div>
      <div>we are looking how to best tackle the issue of packing data
        for MPI&nbsp;communication&nbsp;in 5.0. We believe this is an important
        issue because the two current approaches (serializing in serial
        buffer (e.g. global_stat) or sending in many small messages
        (e.g. initial bcast)) are both slow and produces difficult to
        read code code (global_stat). The many small&nbsp;messages&nbsp;is for
        large systems a serious issue for scaling and even the
        serializing is&nbsp;unnecessary&nbsp;slow because it means
        a&nbsp;potentially&nbsp;unnecessary&nbsp;copy.&nbsp;</div>
      <div><br>
      </div>
      <div>We first looked into Boost::MPI but while it is very nice in
        some aspects, it also has disadvantages. Thus we're looking at
        alternatives.&nbsp;</div>
      <div>Most&nbsp;interesting&nbsp;alternatives&nbsp;use MPI Datatypes to get high
        performance and avoid the&nbsp;unnecessary&nbsp;copy of serialization. The
        problem is that TMPI doesn't support MPI Datatypes.&nbsp;</div>
      <div><br>
      </div>
      <div>Thus my question: Is it planned to add Datatypes to TMPI? If
        not is TMPI still required in 5.0? Would it be sufficient to
        support OpenMP for non-MPI multi-core installations in 5.0? What
        was the reason for TMPI in the first place? Why did we not just
        bundle e.g. OpenMPI for those users missing an MPI
        implementation?</div>
    </blockquote>
    Nothing is planned, but if it isn't much work, Sander might do it.<br>
    <br>
    For the old code path/kernels we still like to have TMPI, as this
    makes it far easier for normal users to get maximum performance.<br>
    For the new Verlet scheme OpenMP seems to do very well, but with
    multiple CPUs and/or GPUs TMPI is still very nice,<br>
    as it makes configuring and starting runs trivial.<br>
    <br>
    Cheers,<br>
    <br>
    Berk<br>
    <blockquote
cite="mid:CAO2TwbnGqm9ee3ktPo9rWV1AZhRMqdSfetw9H_W_5nzdOTkMdA@mail.gmail.com"
      type="cite">
      <div><br>
      </div>
      <div>Roland</div>
      <div>
        <div><br>
        </div>
        -- <br>
        ORNL/UT Center for Molecular Biophysics <a
          moz-do-not-send="true" href="http://cmb.ornl.gov">cmb.ornl.gov</a><br>
        865-241-1537, ORNL PO BOX 2008 MS6309<br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
    </blockquote>
    <br>
  </body>
</html>