(no title)
charles_irl | 5 months ago
Reductively, software engineering means taking an idea and mapping it into code. So one form of "reverse" engineering would be taking the code and extracting the ideas. That's what we did here.
Because the source is public, there's quite a lot to work with from the start -- the warp specializations are named and there are helpful comments in many places.
But for many components, we didn't have much. Maybe the clearest case of "reverse engineering" explained in the post is with the cubic approximation for the rational part of the exponentiation. That required staring at some inline assembly and doing math.
metadat|5 months ago
Not trying to be uncharitable, I found your article informative. Reverse engineering has historically been reserved for cases where there is an adversial aspect, as in binaries or server APIs. Anyhow, Cheers and thank you, sincerely.
unnah|5 months ago
Thus it was natural to call the process of producing design documents from undocumented software "reverse engineering". These days coding without any formal design documents is so common that it seems the original meaning of reverse engineering has become obscured.
pests|5 months ago
Zacharias030|5 months ago
cmrx64|5 months ago
heavyset_go|5 months ago
saagarjha|5 months ago
> cudnn kernels are closed source, so Jensen only knows what’s going on in there.
billy99k|5 months ago
varispeed|5 months ago