good first issueneeds tests
Repository metrics
- Stars
- (1,408 stars)
- PR merge metrics
- (Avg merge 5d 5h) (16 merged PRs in 30d)
Description
The CUDNN convolution is giving incorrect results for small images, e.g.
julia> f(k, x, padding) = CUDA.CUDNN.cudnnConvolutionForward(CuArray(Float32.(k)),
CuArray(Float32.(x)),
padding=padding)
f (generic function with 1 method)
julia> size(f(rand(7, 1, 1, 1), rand(5, 5, 1, 1), 5))
(9, 15, 1, 1) # Correct
julia> size(f(rand(7, 1, 1, 1), rand(3, 5, 1, 1), 5))
(3, 15, 1, 1) # Should have been (7, 15, 1, 1)
julia> size(f(rand(7, 1, 1, 1), rand(1, 5, 1, 1), 5))
ERROR: CUDNNError: CUDNN_STATUS_BAD_PARAM (code 3) # Should have been (5, 15, 1, 1)
The cause of the problem can be located to
where the min silently changes the requested padding.
Cc: @denizyuret