edwar-vhd / SFU-Piecewise-Polynomial-Approximation

Special Function Units (SFUs) are hardware accelerators, their implementation helps improve the performance of GPUs to process some of the most complex operations. This SFU implements the Piecewise Polynomial Approximation, which provides high performance, low area costs and good accuracy for real implementation of hardware.
7 stars 1 forks source link

Commercial GPUs use log2, not ln2. Why is the source ln2? #2

Open dalxung opened 11 months ago

dalxung commented 11 months ago

Commercial GPUs use log2, not ln2. Why is the source ln2? The ln2 function cannot output the log2 value. Commercial GPUs use log2 - https://developer.download.nvidia.com/cg/log2.html , log2 function is not ln2, but source is ln2 - https://github.com/Jerc007/Open-GPGPU-FlexGrip-/tree/master/FlexGripPlus_4.4/RTL/SMP/Pipeline/Execution/SFU/Quadratic_Interpolator/Single_LUTS , It is marked as log2 in SFU_User_Manual V2.pdf - https://zenodo.org/record/3934441#.Ye7dNPgo8uU

divadnauj-GB commented 1 week ago

There is no implementation regarding the ln2, it implements the hardware support for log2 only. In the design files, there might be some misleading file names but they do not interfere with the functionality of the SFU. Our SFU implementations are the same as described in the following reference paper.
J. . -A. Pineiro, S. F. Oberman, J. . -M. Muller and J. D. Bruguera, "High-speed function approximation using a minimax quadratic interpolator," in IEEE Transactions on Computers, vol. 54, no. 3, pp. 304-318, March 2005, doi: 10.1109/TC.2005.52.

I'm closing the issue since it is not a bug or problem in the implemented core.