cuDSS and the potential double-single precision arithmetic

Hello,

I saw the support of the double-double precision computing for the cuDSS library. It is nice to see that feature. I was thinking that it should be implemented for a long time (maybe for 10 years). Though I cannot run it on my 30 and 40 series RTX cards, it is still exciting. I’m wondering if this feature will be available for other sparse matrix operations/libraries such as cusparse.

I have a suggestion that might be beneficial to people who have gaming-grade cards. Since double-double arithmetic increases the accuracy at the cost of computational speed, how about double-single (float-float?) precision arithmetic? It might have lower precision than native 64bit computing, but it can be faster than native 64bit route. It can also be enough for some numerical problems. I’m aware that some mixed-precision computing is done in the background, but I wanted to say that having double-single precision arithmetic would be great too.

Regards

Deniz

Hi @Coercion!

  • What do you mean that you will not be able to run double-double precision on the RTX cards?
  • Regarding a more general question, I suggest that you think even broader: why not consider using emulation via integer/lower-precision units? Float-float is a solid idea but if you check the specs of modern GPUs, it’s easy to see that you can go further.
    E.g., you can get lower or higher precision than fp64 using emulation via Ozaki-1 or Ozaki-2 schemes, see Unlocking Tensor Core Performance with Floating Point Emulation in cuBLAS | NVIDIA Technical Blog (and this is a somewhat older article ~ 2025, there has been a lot of improvements since then).

Regards,
Kirill

Hi Kirill,

I couldn’t make the double-double precision work on my 30 and 40 series cards. Afterwards, I checked the example code on Github and the comments in the example code say that it requires a compute capability 9.0 or higher. The highest capability of my cards is 8.9, so I have to buy a 50 series card.

I agree with your second comment; it would be fun to play with those ideas. On the other hand, I’m not exactly a computer scientist per se, so I’m just watching out for new features and getting excited, I suppose.

Regards

Deniz

Hi @Coercion

Apologies, the docs and your observation are correct, we don’t have a fallback double-double for Ampere or older at the moment.

Regards,
Kirill