learned_nonlin_cuda.cpp 856 Bytes
Newer Older
1
2
3
4
5
6
#include <torch/extension.h>


// forward of learned_nonlin.  """... """ comment of `learned_nonlin`
// in learned_nonlin.py documents the behavior of this function.
torch::Tensor learned_nonlin_cuda(torch::Tensor input,
7
                                  torch::Tensor params);
8

9
10

// backward of learned_nonlin; returns (grad_input, grad_params).
11
std::vector<torch::Tensor> learned_nonlin_backward_cuda(torch::Tensor input,
12
13
                                                        torch::Tensor params,
                                                        torch::Tensor grad_output);
14
15
16
17



PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) {
18
19
  m.def("learned_nonlin_cuda", &learned_nonlin_cuda, "Learned nonlinearity forward function (CUDA)");
  m.def("learned_nonlin_backward_cuda", &learned_nonlin_backward_cuda, "Learned nonlinearity backward function (CUDA)");
20
}