I read about the Pytorch's source code, and I find it's weird that it doesn't implement the convolution_backward function, The only convolution_backward_overrideable function is directly raises an error and supposed not to fall here.
So I referred to CuDNN / MKLDNN implementation, they both implements functions like cudnn_convolution_backward.
I got the following question:
What are the native implementation of CUDA/ CPU? I can find something like
thnn_conv2d_backward_out, but I could not find where are this is called.Why PyTorch didn't put the
convolution_backwardfunction in Convolution.cpp? It offers an_convolution_double_backward()function. But this is the double backward, it's the gradient of gradient. Why don't they offer a single backward function?If I want to call the native convolution/ convolution_backward function for my pure cpu/cuda tensor, how should I write code? Or where could I refer to? I couldn't find example for this.
Thanks !