@@ -73,33 +73,6 @@ void cpu_lfilter_core_loop(
7373 });
7474}
7575
76- void lfilter_core_generic_loop (
77- const torch::Tensor& input_signal_windows,
78- const torch::Tensor& a_coeff_flipped,
79- torch::Tensor& padded_output_waveform) {
80- int64_t n_samples_input = input_signal_windows.size (2 );
81- int64_t n_order = a_coeff_flipped.size (1 );
82- auto coeff = a_coeff_flipped.unsqueeze (2 );
83- for (int64_t i_sample = 0 ; i_sample < n_samples_input; i_sample++) {
84- auto windowed_output_signal =
85- padded_output_waveform
86- .index (
87- {torch::indexing::Slice (),
88- torch::indexing::Slice (),
89- torch::indexing::Slice (i_sample, i_sample + n_order)})
90- .transpose (0 , 1 );
91- auto o0 =
92- input_signal_windows.index (
93- {torch::indexing::Slice (), torch::indexing::Slice (), i_sample}) -
94- at::matmul (windowed_output_signal, coeff).squeeze (2 ).transpose (0 , 1 );
95- padded_output_waveform.index_put_ (
96- {torch::indexing::Slice (),
97- torch::indexing::Slice (),
98- i_sample + n_order - 1 },
99- o0);
100- }
101- }
102-
10376} // namespace
10477
10578TORCH_LIBRARY (torchaudio, m) {
@@ -116,7 +89,3 @@ TORCH_LIBRARY_IMPL(torchaudio, CUDA, m) {
11689 m.impl (" torchaudio::_lfilter_core_loop" , &cuda_lfilter_core_loop);
11790}
11891#endif
119-
120- TORCH_LIBRARY_IMPL (torchaudio, CompositeExplicitAutograd, m) {
121- m.impl (" torchaudio::_lfilter_core_loop" , &lfilter_core_generic_loop);
122- }
0 commit comments