Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
Torchaudio
Commits
a525abbc
"docs/git@developer.sourcefind.cn:OpenDAS/lmdeploy.git" did not exist on "c9700db4412f76ca3008d1b947e0146356096a21"
Unverified
Commit
a525abbc
authored
Aug 30, 2021
by
Chin-Yun Yu
Committed by
GitHub
Aug 30, 2021
Browse files
Use `at::parallel_for` in lfilter core loop (#1557)
parent
8cbd56c2
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
7 deletions
+7
-7
torchaudio/csrc/lfilter.cpp
torchaudio/csrc/lfilter.cpp
+7
-7
No files found.
torchaudio/csrc/lfilter.cpp
View file @
a525abbc
...
@@ -16,13 +16,13 @@ void host_lfilter_core_loop(
...
@@ -16,13 +16,13 @@ void host_lfilter_core_loop(
scalar_t
*
output_data
=
padded_output_waveform
.
data_ptr
<
scalar_t
>
();
scalar_t
*
output_data
=
padded_output_waveform
.
data_ptr
<
scalar_t
>
();
const
scalar_t
*
input_data
=
input_signal_windows
.
data_ptr
<
scalar_t
>
();
const
scalar_t
*
input_data
=
input_signal_windows
.
data_ptr
<
scalar_t
>
();
const
scalar_t
*
a_coeff_flipped_data
=
a_coeff_flipped
.
data_ptr
<
scalar_t
>
();
const
scalar_t
*
a_coeff_flipped_data
=
a_coeff_flipped
.
data_ptr
<
scalar_t
>
();
for
(
int64_t
i_batch
=
0
;
i_batch
<
n_batch
;
i_batch
++
)
{
for
(
int64_t
i_channel
=
0
;
i_channel
<
n_channel
;
i_channel
++
)
{
at
::
parallel_for
(
0
,
n_channel
*
n_batch
,
1
,
[
&
](
int64_t
begin
,
int64_t
end
)
{
for
(
auto
i
=
begin
;
i
<
end
;
i
++
)
{
int64_t
offset_input
=
i
*
n_samples_input
;
int64_t
offset_output
=
i
*
n_samples_output
;
int64_t
i_channel
=
i
%
n_channel
;
for
(
int64_t
i_sample
=
0
;
i_sample
<
n_samples_input
;
i_sample
++
)
{
for
(
int64_t
i_sample
=
0
;
i_sample
<
n_samples_input
;
i_sample
++
)
{
int64_t
offset_input
=
((
i_batch
*
n_channel
)
+
i_channel
)
*
n_samples_input
;
int64_t
offset_output
=
((
i_batch
*
n_channel
)
+
i_channel
)
*
n_samples_output
;
scalar_t
a0
=
input_data
[
offset_input
+
i_sample
];
scalar_t
a0
=
input_data
[
offset_input
+
i_sample
];
for
(
int64_t
i_coeff
=
0
;
i_coeff
<
n_order
;
i_coeff
++
)
{
for
(
int64_t
i_coeff
=
0
;
i_coeff
<
n_order
;
i_coeff
++
)
{
a0
-=
output_data
[
offset_output
+
i_sample
+
i_coeff
]
*
a0
-=
output_data
[
offset_output
+
i_sample
+
i_coeff
]
*
...
@@ -31,7 +31,7 @@ void host_lfilter_core_loop(
...
@@ -31,7 +31,7 @@ void host_lfilter_core_loop(
output_data
[
offset_output
+
i_sample
+
n_order
-
1
]
=
a0
;
output_data
[
offset_output
+
i_sample
+
n_order
-
1
]
=
a0
;
}
}
}
}
}
}
);
}
}
void
cpu_lfilter_core_loop
(
void
cpu_lfilter_core_loop
(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment