-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CUDNN_STATUS_BAD_PARAM exceptions on some gradient checks #4863
Comments
See also: #4864 I've been digging into this for a number of hours - so far, no luck. We're basically getting this on a number of the unit tests:
(note the user specified + implicit gemm is the fallback, originally it was set to PREFER_FASTEST) Why? This far I'm not sure. It's somehow related to the input size - not all combinations fail. [N,C,H,W]=[1,1,16,16] + truncate mode + kernel 2: Passes Note that manualy setting the forward algorithm - or using the fall-back in the afore-mentioned PR helps a bit - failures occur on I've also looked through the CuDNN changes for CuDNN 7 - there's nothing there (known issues, bugs, fixes etc) that looks like this. Only conclusion I've got so far: It's related to SAME mode padding. |
Yeah, SAME mode padding - different top/left and bottom/right values definitely seems like the cause here... Note that CuDNN only supports 2 padding values - not 4. Which is why we pass only the top/left values. (I'm guessing CuDNN 9 or 9.1 adds some extra checks, yet previous versions handled this implicitly - hence why we're only seeing this now...) Of course, the next question is: how do we fix this? Some options:
Option 3 is obviously best - but as of yet I have found no way to actualy do that... for example, cudnnSetConvolution2dDescriptor (method that takes the padding values) only supports an identical amount of padding on top/bottom, and left/right:
Yet I assume this must be possible - unless all other CuDNN libraries use options 1 or 2?? |
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
A number of the CNN gradient checks here, when run on CuDNN give
CUDA error = 3: CUDNN_STATUS_BAD_PARAM
on forward passhttps://github.com/deeplearning4j/deeplearning4j/blob/master/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/CNNGradientCheckTest.java
The text was updated successfully, but these errors were encountered: