Hello!
We are currently using the CUDA Math Library to experiment with the numerical stability of its Math APIs. To verify correctness, we compare CUDA Math APIs with the corresponding C programming math functions. We have encountered some issues, particularly with overflow errors, where the C versions identify the overflow exception, but the CUDA versions output inf values.
We understand that CUDA lacks floating-point exception detection mechanisms. However, we want to verify if these are actually overflow errors. Below are the functions and the inputs we used to identify the errors:
- Cosh - input: 36864.0; C result: overflow exception; CUDA result: inf
- Exp - input: 1073741824.0; C result: Overflow exception; CUDA result: inf
- Exp10 - input: 8054607360.0; C result: Overflow exception; CUDA result: inf
- Exp2 - input: 1088.12109375; C result: Overflow exception; CUDA result: inf
- expm1 - input: 32774.0; C result: Overflow exception; CUDA result: inf
- Lgamma - input -1073741632.0; C result: Overflow exception; CUDA result: inf
- Tgamma - input: 511.9921569824219; C result: Overflow exception; CUDA result: inf