File size: 721 Bytes
1a42548
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <torch/library.h>

#include "registration.h"
#include "torch_binding.h"

TORCH_LIBRARY_EXPAND(TORCH_EXTENSION_NAME, ops) {
  ops.def("viterbi(Tensor! path, Tensor! score, Tensor! bp, Tensor emissions, Tensor transitions, Tensor priors) -> ()");
  ops.def("dtw(Tensor! path, Tensor! path_len, Tensor! D, Tensor cost) -> ()");
  ops.def("ctc_forced_align(Tensor! frames, Tensor! score, Tensor log_probs, Tensor targets, int blank) -> ()");

#if defined(CUDA_KERNEL) || defined(ROCM_KERNEL)
  ops.impl("viterbi",          torch::kCUDA, &viterbi);
  ops.impl("dtw",              torch::kCUDA, &dtw);
  ops.impl("ctc_forced_align", torch::kCUDA, &ctc_forced_align);
#endif
}

REGISTER_EXTENSION(TORCH_EXTENSION_NAME)