<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hi,<br>
      <br>
      The energy conservation check can still be done with a thermostat,
      as GROMACS keeps track of the amount of energy the thermostat adds
      to or removes from the system.<br>
      <br>
      I don't understand what you mean exactly with "energy balance".
      Either you are interested in energy dissipation between different
      parts of the system, in which case you often can not use a
      thermostat, or you are not and then you can, and probably should,
      use a thermostat (and still keep track of energy conservation).<br>
      <br>
      Cheers,<br>
      <br>
      Berk<br>
      <br>
      On 2019-07-23 21:19 , James wrote:<br>
    </div>
    <blockquote
cite="mid:CAEhCax_V0HC4sw6WtbKDwS4gCrVYY0ii+aDvQAHvx0RCy4mA0g@mail.gmail.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <div dir="ltr">Hi Berk,
        <div><br>
        </div>
        <div>Thank you for the information. I prefer not to use
          thermostats, at least when trying to get quantitative values,
          because (and I may be misunderstanding thermostats, but since
          changing the temperature changes the energy, I assume this is
          true) then I cannot use "energy in = energy out" as a
          sanity check. I'm more interested in energy balance than in
          maintaining a given temperature.</div>
        <div><br>
        </div>
        <div>If I were to be able to get the double precision GPU stuff
          coded, would the team be willing to maintain it? Or, since I
          don't know the code, perhaps a better question is: Does
          someone who is already familiar with the relevant code have
          time to do this as a side project (with compensation)? If
          anyone is interested, please feel free to contact me off list.</div>
        <div><br>
        </div>
        <div>Thanks,<br>
          James</div>
        <div><br>
        </div>
        <div>=======================================
          <div>
            <pre style="white-space:pre-wrap;color:rgb(0,0,0)">Hi,

IIRC all Nvidia Tesla cards have always had double precision, at half 
the throughput of single precision. But there are very few cases where 
double precision is needed. Energy drift in single precision is never an 
issue, unless you really can not use a thermostat.

But having said that, making the GPU code, either CUDA or OpenCL work in 
double precision is probably not much effort. But making it work 
efficiently requires optimizing several algorithmic parameters and maybe 
changing the arrangement of some data in the different GPU memory levels.

Cheers,

Berk

On 7/22/19 10:10 PM, James wrote:
&gt;<i> Hi,
</i>&gt;<i>
</i>&gt;<i> My apologies if this question has been previously discussed. I just 
</i>&gt;<i> joined the list and all I know is that from reading the docs and 
</i>&gt;<i> release comments, writing code for double precision on GPU's is not a 
</i>&gt;<i> priority.
</i>&gt;<i>
</i>&gt;<i> However, I believe all recent upper-end Nvidia cards have native 
</i>&gt;<i> double precision (which was not true several generations ago). So, you 
</i>&gt;<i> don't have to have a real "scientific computing" GPU to take advantage 
</i>&gt;<i> of this -- most people probably already have the hardware. Still, I 
</i>&gt;<i> understand that most people do not need/want to run double precision. 
</i>&gt;<i> But, some do (and you have to if you are concerned with conservation 
</i>&gt;<i> of energy -- the energy drift in single precision is substantial).
</i>&gt;<i>
</i>&gt;<i> So, I would like to ask what the level of effort to do this is 
</i>&gt;<i> believed to be? Would it require a lot of new code, or would it be 
</i>&gt;<i> porting the single precision code to double precision?
</i>&gt;<i>
</i>&gt;<i> Sincerely,
</i>&gt;<i> James
</i>&gt;</pre>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
    </blockquote>
    <br>
  </body>
</html>