There was a problem hiding this comment.
Some style and code organization changes are needed.
I think it would it be beneficial if we just use the non cuDNN implementation as fallback when cuDNN isn't available at runtime.
We can just rename the convolveNN_base.cpp file as convolveNN_fallback.cpp and avoid the cmake changes (extra WITH_CUDNN definition and all cascading changes due to addition of WITH_CUDNN) completely.
Also, please fix the formatting too.
Sorry, something went wrong.
There was a problem hiding this comment.
Looks good. I am re-running the one failed job (ci/win-cuda-k5000), will merge once it goes green.
Sorry, something went wrong.
This PR removes the need for an installed cuDNN library when building ArrayFire.
The new fallback methods match those in the opencl backend and determine the gradients through the wrap/unwrap methods.