Hacker News new | ask | show | jobs
by gbrown_ 1881 days ago
> yet GPUs don't support double precision well.

Are there GPUs without FP64 functionality at all? Or are you just referring to most consumer GPUs being built for FP32 performance over FP64?

2 comments

It's not that GPUs don't support fp64, it's that for domestic gamer GPUs fp64 arithmetic is normally ~1:32 performance of fp32 arithmetic.

e.g. 1080gtx

    FP16 (half) performance
    138.6 GFLOPS (1:64)
    FP32 (float) performance
    8.873 TFLOPS
    FP64 (double) performance
    277.3 GFLOPS (1:32)

e.g. 3090rtx

    FP16 (half) performance
    35.58 TFLOPS (1:1)
    FP32 (float) performance
    35.58 TFLOPS
    FP64 (double) performance
    556.0 GFLOPS (1:64)

Only generally 'tesla' class cards targeted at super computers have a 1:2 ratio (e.g. v100, A100, Titan V). Note, I believe Titan V is the only Titan series GPU with good double performance, as the Volta architecture was never available to Geforce GPUs.

https://www.techpowerup.com/gpu-specs/geforce-gtx-1080.c2839

https://www.techpowerup.com/gpu-specs/geforce-rtx-3090.c3622

https://www.techpowerup.com/gpu-specs/tesla-v100-sxm3-32-gb....

https://www.techpowerup.com/gpu-specs/a100-sxm4-80-gb.c3746

https://www.techpowerup.com/gpu-specs/titan-v.c3051

For AMD GPUs the FP64/FP32 performance ratio is twice as high compared to nVidia, it’s 1:16

https://en.wikipedia.org/wiki/Radeon_RX_5000_series#Desktop

https://en.wikipedia.org/wiki/Radeon_RX_6000_series#Desktop

There are many GPUs with no double precision floating point support in hardware. Modern ones can probably emulate it. Older ones don't have any explicit support. Most real time 3D renderers do not use double precision at all.
> There are many GPUs with no double precision floating point support in hardware.

Which ones? I'm genuinely curious about this.

I think all of the ones listed as DirectX 10.1 or lower on this page: https://en.wikipedia.org/wiki/Feature_levels_in_Direct3D

Those are all quite old now of course, but even modern GPUs may not have 64-bit ALUs and rely on emulation instead. Intel Gen11 in Ice Lake, for example: https://01.org/sites/default/files/documentation/intel-gfx-p...

In mobile architectures 64-bit ALUs can be an optional feature that is omitted for lower end configurations. I know this is true of PowerVR.

Ah interesting to know about Gen11, thanks for the links.