Discussion:
[Audacity-devel] OpenMP Additions
Darrell Walisser
2016-08-29 17:41:14 UTC
Permalink
New and improved patch for spectrum view, addresses data race in the
reassignment case.

https://github.com/audacity/audacity/pull/158

There was a question about Windows support. Turns out that support for
OpenMP is poor in Visual Studio (limited to version 2.0 of the spec). Since
I am already using OpenMP 4.0 features, we will need to compile with gcc
(or maybe clang). The other option would be to use the Intel compiler in
Visual Studio.

So I am going to try testing this on Windows by cross-compiling audacity
with mxe toolkit (never tried this before). It looks promising since
wxWidgets is one of the pre-built packages available. If anyone has tried
this before I would appreciate any tips.

As far as additional improvements to the spectrogram, it seems like there
is some more low-hanging fruit to be had. For example, log10 is about 30%
of the cpu cycles in the non-reassignment case, this could be replaced with
a much faster alternative that is less accurate but good enough for display
purposes.
James Crook
2016-08-29 20:26:56 UTC
Permalink
Thanks Darrell.

I am hoping Paul will review and pull this.

Compiling OpenMP support in Audacity would be an opt-in feature for the
adventurous, at least for now. For Windows the most likely route is
that we offer a recipe for compiling with OpenMP on Windows, and invite
developers who are trying that out to contact us - rather than providing
a tested pre-built OpenMP exe for download - even if after your work we
could do that relatively easily. I.e rather than stretch our developer
team further, we try and grow the part of the team that is particularly
interested in optimisations and performance. Does that sound sensible?

--James.
Post by Darrell Walisser
New and improved patch for spectrum view, addresses data race in the
reassignment case.
https://github.com/audacity/audacity/pull/158
There was a question about Windows support. Turns out that support for
OpenMP is poor in Visual Studio (limited to version 2.0 of the spec). Since
I am already using OpenMP 4.0 features, we will need to compile with gcc
(or maybe clang). The other option would be to use the Intel compiler in
Visual Studio.
So I am going to try testing this on Windows by cross-compiling audacity
with mxe toolkit (never tried this before). It looks promising since
wxWidgets is one of the pre-built packages available. If anyone has tried
this before I would appreciate any tips.
As far as additional improvements to the spectrogram, it seems like there
is some more low-hanging fruit to be had. For example, log10 is about 30%
of the cpu cycles in the non-reassignment case, this could be replaced with
a much faster alternative that is less accurate but good enough for display
purposes.
------------------------------------------------------------------------------
Darrell Walisser
2016-08-30 18:58:18 UTC
Permalink
Post by James Crook
Thanks Darrell.
I am hoping Paul will review and pull this.
Compiling OpenMP support in Audacity would be an opt-in feature for the
adventurous, at least for now. For Windows the most likely route is
that we offer a recipe for compiling with OpenMP on Windows, and invite
developers who are trying that out to contact us - rather than providing
a tested pre-built OpenMP exe for download - even if after your work we
could do that relatively easily. I.e rather than stretch our developer
team further, we try and grow the part of the team that is particularly
interested in optimisations and performance. Does that sound sensible?
​It sounds right to me. Give it some time to see more testing and interest.
I think there would be some since the spectrogram sluggishness has always
been a sore point.
Paul Licameli
2016-08-31 21:37:37 UTC
Permalink
I am satisfied with the second pull request and I have pulled it.

PRL


On Tue, Aug 30, 2016 at 2:58 PM, Darrell Walisser <
Post by Darrell Walisser
Post by James Crook
Thanks Darrell.
I am hoping Paul will review and pull this.
Compiling OpenMP support in Audacity would be an opt-in feature for the
adventurous, at least for now. For Windows the most likely route is
that we offer a recipe for compiling with OpenMP on Windows, and invite
developers who are trying that out to contact us - rather than providing
a tested pre-built OpenMP exe for download - even if after your work we
could do that relatively easily. I.e rather than stretch our developer
team further, we try and grow the part of the team that is particularly
interested in optimisations and performance. Does that sound sensible?
​It sounds right to me. Give it some time to see more testing and
interest. I think there would be some since the spectrogram sluggishness
has always been a sore point.
------------------------------------------------------------
------------------
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Loading...