Hi All,
I've noticed that Audacity only uses one CPU core in multi-core machines. Is that just because it's not designed to multi-thread? If so, are there any plans for Audacity to use multiple cores? (Dual, Quad, Octo)?
Thanks!
MP3 Encoding only uses one CPU core?
Forum rules
Audacity 1.2.x is now obsolete. Please use the current Audacity 2.1.x version.
The final version of Audacity for Windows 98/ME is the legacy 2.0.0 version.
Audacity 1.2.x is now obsolete. Please use the current Audacity 2.1.x version.
The final version of Audacity for Windows 98/ME is the legacy 2.0.0 version.
Re: MP3 Encoding only uses one CPU core?
Someone correct me if I'm wrong, but exporting compressed audio wouldn't benefit from using multiple processors. I don't think that's a process you can split up in any meaningful way.
You can, however, split up the processing when you apply plugins to multiple tracks. It would be nice if Audacity did that, as that's a good example of something that can benefit from parallel processing. Of course you're still limited to how much data you can write to the hard-drive, so there might not be much benefit to complicating the coding.
You can, however, split up the processing when you apply plugins to multiple tracks. It would be nice if Audacity did that, as that's a good example of something that can benefit from parallel processing. Of course you're still limited to how much data you can write to the hard-drive, so there might not be much benefit to complicating the coding.
Re: MP3 Encoding only uses one CPU core?
Seems like encoding/compressing audio is more of a CPU intensive task than a I/O intensive task. I would love to see the CPU used as much as possible. Thanks for your reply though, those are interesting points you make.
Re: MP3 Encoding only uses one CPU core?
Hogwash..
MP3's are series of "frames" in fact if you look at the format it is a splittable set of frames.. All you would need to do is determine the frame length and break the computing up into pieces.. Parallelism can happen at two levels, splitting up time onto each core, and splitting up the non-dependent operations up into threads of independent computing processes.. Any Pentium processor benefits from threaded operation, but multi-core processors are easier as you only have to split up the resources and assign one half or quarter or eighth (...) to each processor.
I'm serriously suprised, given that Audacity supports lisp for a processing language, for custom processing, why it doesn't support multi-threaded or multi-core processing, as it would be as easy as splitting resources, previous to the application of an operation to support. No it should not be something that is supported in the nyquist language or in the plugins that audacity supports, but something audacity does before applying the plugins.. And it should be a choice of the users whether or not to use it, regardless of whether it is "correct" in the eyes of the developers.
PS- Also the audio processing in Audacity could benefit from extra processing power of sound boards like the X-fi's for fast matrix operations on sound processing. It would only be a matter of translating lisp (a very simple, low level recursive language) operations into operations that a sound board with extra processing power could perform.
MP3's are series of "frames" in fact if you look at the format it is a splittable set of frames.. All you would need to do is determine the frame length and break the computing up into pieces.. Parallelism can happen at two levels, splitting up time onto each core, and splitting up the non-dependent operations up into threads of independent computing processes.. Any Pentium processor benefits from threaded operation, but multi-core processors are easier as you only have to split up the resources and assign one half or quarter or eighth (...) to each processor.
I'm serriously suprised, given that Audacity supports lisp for a processing language, for custom processing, why it doesn't support multi-threaded or multi-core processing, as it would be as easy as splitting resources, previous to the application of an operation to support. No it should not be something that is supported in the nyquist language or in the plugins that audacity supports, but something audacity does before applying the plugins.. And it should be a choice of the users whether or not to use it, regardless of whether it is "correct" in the eyes of the developers.
PS- Also the audio processing in Audacity could benefit from extra processing power of sound boards like the X-fi's for fast matrix operations on sound processing. It would only be a matter of translating lisp (a very simple, low level recursive language) operations into operations that a sound board with extra processing power could perform.
Re: MP3 Encoding only uses one CPU core?
See here: http://audacityteam.org/wiki/index.php? ... _Needs_Yourofthorax wrote:it would be as easy as splitting resources
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)
Re: MP3 Encoding only uses one CPU core?
Yowsa, I'm such a know it all.. I was coming through here, just searching through and saw this paragraph about a guy with the answer, then I noticed it was me.. This has happened to me more than once when searching for information.. Then I cringe, do I really know what I'm talking about here?stevethefiddle wrote:See here: http://audacityteam.org/wiki/index.php? ... _Needs_Yourofthorax wrote:it would be as easy as splitting resources
Well it would only work for atomic operations like invert, reverse, amplify, and such.. Don't know about reverb effects.. I think if the effects could be chained together, it might be possible to determine which effects can be split up and which can't. Then it would be up to the user to determine what order of operations would both be suitable for the effect they desire and would permit them to expedite the operation by taking advantage threaded operations.
This is sound more and more like a modular setup, like spiralsynth or jack, but for sound rendering, not for realtime operation.
Sometimes it's best to permit the user to make the decisions than to try to automate the process.
-
kozikowski
- Forum Staff
- Posts: 69374
- Joined: Thu Aug 02, 2007 5:57 pm
- Operating System: macOS 10.13 High Sierra
Re: MP3 Encoding only uses one CPU core?
<<<Sometimes it's best to permit the user to make the decisions than to try to automate the process.>>>
Actually, that's practically never true. See: Mac OS-X.
You're standing waaaaay too close to the problem. Take about fourteen steps backward and gaze on the multiple versions of Audacity being supported on multiple versions of each of three major operating systems and platforms. Correct me, but supporting multi-processor would make supporting Audacity even more of a nightmare than it is now.
Quick, how do you tell mom to test if multi-processor support is causing her mandolin rehearsal to crash?
Also See: Audacity Needs You.
Koz
Actually, that's practically never true. See: Mac OS-X.
You're standing waaaaay too close to the problem. Take about fourteen steps backward and gaze on the multiple versions of Audacity being supported on multiple versions of each of three major operating systems and platforms. Correct me, but supporting multi-processor would make supporting Audacity even more of a nightmare than it is now.
Quick, how do you tell mom to test if multi-processor support is causing her mandolin rehearsal to crash?
Also See: Audacity Needs You.
Koz