Open dalxung opened 11 months 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.
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