[gmx-developers] Double precision on GPU's

Szilárd Páll pall.szilard at gmail.com
Wed Jul 24 15:20:36 CEST 2019


Hi,

Indeed, a straight port without much performance optimization may not be a
lot of effort, but integrating an additional kernel flavor into the
existing codebase will mean added complexity which will probably require
some refactoring and preliminary work to accommodate the new set of kernels
without code duplication and avoiding introducing complexity or performance
overhead in the current kernels.

However also note that most NVIDIA consumer cards -- which are very widely
used by our users -- have a 32x lower DP throughput than SP which is far
more than what what most people would find acceptable, I'd say.

--
Szilárd


On Mon, Jul 22, 2019 at 10:28 PM Berk Hess <hess at kth.se> wrote:

> 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:
>
> Hi,
>
> My apologies if this question has been previously discussed. I just joined
> the list and all I know is that from reading the docs and release comments,
> writ ing code for double precision on GPU's is not a priority.
>
> However, I believe all recent upper-end Nvidia cards have native double
> precision (which was not true several generations ago). So, you don't have
> to have a real "scientific computing" GPU to take advantage of this -- most
> people probably already have the hardware. Still, I understand that most
> people do not need/want to run double precision. But, some do (and you have
> to if you are concerned with conservation of energy -- the energy drift in
> single precision is substantial).
>
> So, I would like to ask what the level of effort to do this is believed to
> be? Would it require a lot of new code, or would it be porting the single
> precision code to double precision?
>
> Sincerely,
> James
>
>
> --
> Gromacs Developers mailing list
>
> * Please search the archive at
> http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List before
> posting!
>
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers
> or send a mail to gmx-developers-request at gromacs.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20190724/6b8b282e/attachment.html>


More information about the gromacs.org_gmx-developers mailing list