Hi,
I want to write a convolution backward function , and it would call Pytorch’s cuda path for default. Basically it has the following definition:
std::tuple<at::Tensor,at::Tensor,at::Tensor>  
custom_convolution_backward(const at::Tensor & grad_output, 
                    const at::Tensor & input, 
                    const at::Tensor & weight, 
                    at::IntArrayRef stride, 
                    at::IntArrayRef padding, 
                    at::IntArrayRef dilation,
                    bool transposed, 
                    at::IntArrayRef output_padding, 
                    int64_t groups, 
                    std::array<bool,3> output_mask);

I explore the source code in PyTorch and find that CUDA uses slow_conv2d_backward_out_cuda 2.
My question is :

Is slow_conv2d_backward_out_cuda the right function I need to use?
The function has args of finput and fgrad_input finput 1, what are these two? I can’t find docs nor comments on them.
Why can’t I find the convolution backward function in Convolution.cpp ? Isn’t it should write the backward path as in cudnn ?