boltgolt / howdy

🛡️ Windows Hello™ style facial authentication for Linux
MIT License
5.82k stars 300 forks source link

AMD GPU support for CNN mode #965

Open wherron01 opened 2 hours ago

wherron01 commented 2 hours ago

With ROCm/HIP in newer Radeon cards, AMD is a capable neural network platform. Howdy's implementation of cuDNN locks AMD users out of the much more capable CNN mode. AMD has several compatibility layers published for translating between CUDA and ROCm, notably hipDNN for cuDNN, which should facilitate the implementation of CNN mode on Raedon cards. My Radeon card is capable of running neural network based applications such as Stable Diffusion with relative ease, so I expect it would not struggle running Howdy. However, installing compatibilitly layers (notably zluda) on my end has not enabled support for Howdy's CNN mode, as no 1:1 layers I could find currently support cuDNN. hipDNN, as far as I can tell, supports the same calls cuDNN does, but in a different namespace, so it should be relatively simple to translate.

wherron01 commented 2 hours ago

After further inspection, it seems this is probably a dlib issue, rather than a Howdy issue. Unless Howdy devs want to switch from dlib (seems unwise), this probably can't be implemented without support from dlib devs (who have expressed disinterest in AMD support). I won't close in case it's still something that could be pursued, but feel free to close if it can't be.