Application precision

TRINITAS
TRINITAS
Joined: 30 Aug 11
Posts: 1
Credit: 14348575
RAC: 0
Topic 230683

Hi all,

 

What precisions do GPU applications use?

I understand that the FP64 is used quite a bit.

 

Thanks :)

Mike Hewson
Mike Hewson
Moderator
Joined: 1 Dec 05
Posts: 6588
Credit: 317609639
RAC: 379960

On GPU's

On GPU's FP64/double-precision is generally poorly IEEE compliant and thus not so useful for scientific excellence. You have to pay extra for better performance than that. The vendors target the gaming/consumer market where FP64 accuracy is pretty much irrelevant. An E@H GPU workunit may finalise it's results on a CPU in order get sufficient double precision utility.

Cheers, Mike.

I have made this letter longer than usual because I lack the time to make it shorter ...

... and my other CPU is a Ryzen 5950X :-) Blaise Pascal

Scrooge McDuck
Scrooge McDuck
Joined: 2 May 07
Posts: 1054
Credit: 17910419
RAC: 10472

I'd like to add: Besides the

I'd like to add: Besides the observed poorly IEEE compliant FP64 computation of (some?) GPU types (task validation issues), FP64 usage depends on the specific GPU app. FP64 support is mandatory for some GPU apps, for others it is not.

an older comment of project admin Bernd Machenschalk (Sep 28, 2023) on GPU FP64:

https://einsteinathome.org/de/content/important-news-brp7-and-fgrpb1-work-eh?page=1#comment-217599

Bernd Machenschalk wrote:

The plan class (BRP7-opencl-intel_gpu) is set to require fp64 support [...]

In FGRP double precision is required only in the first stage before the FFT. The app does this on the CPU if the GPU lacks double precision support. In BRP7 double precision is used deeper in the computation, there is not much left to do for the GPU if you do that on the CPU. BRP4 is all single precision, though.

In the early days of GPU computing NVidia could emulate double precision computation in software (using two floats IIRC), but that was CUDA only.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.