Move error checking and diagnostics to the header please

CUDNN_STATUS_BAD_PARAM is just about as uninformative as one could possibly come up with.

We are looking into this issue.


We agree that “CUDNN_STATUS_BAD_PARAM” alone isn’t super helpful. The good news is that we’ve made some improvements to our error reporting. Pasting from the dev guide: “Starting in cuDNN 8.3.0, when the severity level CUDNN_LOGWARN_DBG or CUDNN_LOGERR_DBG are enabled, the log output additionally reports an error traceback such as the example below (currently only cuDNN version 8 graph APIs and legacy convolution APIs are using this error reporting feature). This traceback reports the relevant error/warning conditions, aiming to provide the user hints for troubleshooting purposes. Within the traceback, each message may have their own severity and will only be reported when the respective severity level is enabled. The traceback messages are printed in the reverse order of the execution so the messages at the top will be the root cause and tend to be more helpful for debugging.”

We’ll be broadening this support in future releases, in order to cover the complete API. And we’ll be refining the error messages over time to be more clear and descriptive.