1
votes

The Fermi GPUs have Special Function Units (SFUs) to (quoting the NVIDIA White Paper on Fermi) "execute transcendental instructions such as sin, cosine, reciprocal, and square root. Each SFU executes one instruction per thread, per clock".

My questions are:

Do SFUs operate on single and double precision numbers or on single precision only?

Do SFUs introduce any loss of accuracy in the computations?

Are SFUs related to the use of intrinsics like __sin(), __cos(), etc.?

Are the functionalities of the Kepler SFUs the same as for the Fermi SFUs?

Thank you very much in advance for any answer.

1

1 Answers

1
votes

This certainly doesn't answer all your questions, but according to this: Special CUDA Double Precision trig functions for SFU, the SFU only operates on single precision. This makes sense since GPUs are designed for single precision number processing and double precision is emulated with multiple registers, and emulating something like sqrt would not be possible if your SFU is single precision. I believe they are related to the intrinsics.