<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1281649739;
        mso-list-type:hybrid;
        mso-list-template-ids:-713548332 -646568992 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:2;
        mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoListParagraph" style="margin-left:0in;mso-list:l0 level1 lfo1">I think that in many cases the single precision force computation is not what is limiting the accuracy. It is rather the integration and in particular the constraints using single
 precision.<o:p></o:p></li></ul>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">I recall talking over old results with Erik (many years ago) that showed exactly this, and seem to have been found by other people; integration and constraints cannot really be done well in single precision; but if they are in double precision
 (or even mixed precision, with careful analysis of rounding steps), with the force in single precision, then numerical performance is much, much better.
<o:p></o:p></p>
<div>
<p class="MsoNormal"><span style="color:black"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="color:black">Best,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">~~~~~~~~~~~~~~~~<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Michael Shirts<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Associate Professor<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><a href="mailto:michael.shirts@colorado.edu"><span style="color:#0563C1">michael.shirts@colorado.edu</span></a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><a href="http://www.colorado.edu/lab/shirtsgroup/"><span style="color:#0563C1">http://www.colorado.edu/lab/shirtsgroup/</span></a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Phone: (303) 735-7860<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Office: JSCBB C123<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Department of Chemical and Biological Engineering<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">University of Colorado Boulder<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">&lt;gromacs.org_gmx-developers-bounces@maillist.sys.kth.se&gt; on behalf of Berk Hess &lt;hess@kth.se&gt;<br>
<b>Reply-To: </b>&quot;gmx-developers@gromacs.org&quot; &lt;gmx-developers@gromacs.org&gt;<br>
<b>Date: </b>Wednesday, July 31, 2019 at 8:42 AM<br>
<b>To: </b>&quot;gmx-developers@gromacs.org&quot; &lt;gmx-developers@gromacs.org&gt;<br>
<b>Subject: </b>Re: [gmx-developers] Double Precision on GPUs<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">Hi,<br>
<br>
I think that in many cases the single precision force computation is not what is limiting the accuracy. It is rather the integration and in particular the constraints using single precision. Another solution is to have integration and constraints in double
 precision and (parts of) the force computation in single precision.<br>
<br>
Cheers,<br>
<br>
Berk<br>
<br>
On 7/31/19 4:35 PM, David Lister wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal">Hello,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">Sorry this isn't part of the email thread from earlier, I found the thread in the archives and decided to chime in. Not sure how to reply to old threads, but the link is here for consistency.
<a href="https://mailman-1.sys.kth.se/pipermail/gromacs.org_gmx-developers/2019-July/010488.html">
https://mailman-1.sys.kth.se/pipermail/gromacs.org_gmx-developers/2019-July/010488.html</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">I am also be very interested in having double precision supported on GPUs. I'm using gromacs for a project that stretches the target use case and have found the single precision just doesn't give good results. The same simulation run in
 both single and double gives different results, with the double precision simulation giving the results expected by theory. Unfortunately though, double precision is much slower.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">Having GPU support for double precision would be a really big help for me as well.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">Cheers,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">David<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
</blockquote>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
</div>
</body>
</html>