diag.cpp 571 Bytes
Newer Older
rusty1s's avatar
rusty1s committed
1
#include <torch/script.h>
rusty1s's avatar
rusty1s committed
2
3
4

#define CHECK_CUDA(x) AT_ASSERTM(x.type().is_cuda(), #x " must be CUDA tensor")

rusty1s's avatar
rusty1s committed
5
6
torch::Tensor non_diag_mask_cuda(torch::Tensor row, torch::Tensor col,
                                 int64_t M, int64_t N, int64_t k);
rusty1s's avatar
rusty1s committed
7

rusty1s's avatar
rusty1s committed
8
9
torch::Tensor non_diag_mask(torch::Tensor row, torch::Tensor col, int64_t M,
                            int64_t N, int64_t k) {
rusty1s's avatar
rusty1s committed
10
11
12
  CHECK_CUDA(row);
  CHECK_CUDA(col);
  return non_diag_mask_cuda(row, col, M, N, k);
rusty1s's avatar
rusty1s committed
13
14
}

rusty1s's avatar
rusty1s committed
15
16
static auto registry = torch::RegisterOperators(
    "torch_sparse_cuda::non_diag_mask", &non_diag_mask);