INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: How many CPU threads for 8-channel convolution audio playback ?  (Read 1829 times)

ths61

  • World Citizen
  • ***
  • Posts: 162

It is time for a new CPU/MoBo upgrade. 

How many threads will MC use to process memory audio playback requiring resampling, 2-to-8 channel mapping and processing 8 channels of convolution files (with and without WMD sources) ?

I am trying to determine what hardware will be appropriate and leave some headroom.

Would also like to shorten linear-phase filter latencies if feasible.

TIA
Logged
Main - JRMC31 -> custom ALSA_cdsp -> CamillaDSP(2x8 channel 64-bit FIR convolution) -> 8 channel DAC
Office - JRMC31 -> Asus Xonar Essence STX -> W4S STI-1000 -> Mini-Magnepans
Shop - JRMC31 -> W4S MicroDAC -> Adcom GFA-2535 -> B&W Rock Solid

baniels

  • Junior Woodchuck
  • **
  • Posts: 50
Re: How many CPU threads for 8-channel convolution audio playback ?
« Reply #1 on: August 22, 2020, 03:17:45 pm »

Bump. I'm not in the exact same boat, but an answer here would help me too.
Logged

marcob9999

  • Recent member
  • *
  • Posts: 22
Re: How many CPU threads for 8-channel convolution audio playback ?
« Reply #2 on: September 15, 2020, 09:00:07 am »

... and help me too...
 ;D ;D ;D

Thanks!!!
Marco
Logged

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5234
  • "Linux Merit Badge" Recipient
Re: How many CPU threads for 8-channel convolution audio playback ?
« Reply #3 on: September 15, 2020, 09:50:52 am »

I've been using the convolver with a 6-channel setup for a few years.  The JRiver convolver seems to uses multiple cores, but I don't know what the maximum number it will use is. 

The broader question of how powerful of a CPU you need is kind of a "how long is a piece of string" type question.  The longer and more complex your filters are the more CPU it uses.  I run a two to six channel tri-amp setup using convolution on a ten-year-old i7-2600k and it only uses a two or three CPU percent during playback, but my filters are also relatively short (I think I'm using 4k taps right now?). With somewhat longer filters I managed to push my usage up to eight or nine percent, but I've never used filters longer than a few hundred milliseconds.

If you use very long/complex filters it will use proportionately more CPU, but there's no way to know without doing some testing with the kinds of filters you want to use. Try setting up a test filter in your convolution filter generating software and then test it on your existing computer while monitoring CPU usage.  Then look up your existing CPU's benchmark on something like PassMark, and scale up appropriately. 

As to "shortening linear-phase filter latencies" that's entirely a filter design issue.  JRiver can't change how long the filters are, your convolution filters are the length they are and that's the latency you get.  If you want to reduce filter latencies, your convolution filter generating software may have some optimizations you can do to shave off some milliseconds, but the surest solution is to reduce the complexity of your convolution filters.  I do that by pushing as much of my EQ and processing as I can out of convolution and into parametric EQ which is more or less latency-less. Then I only use convolution for the things that can only be done in convolution (like phase tinkering). 

One other advantage of using convolution only for phase linearization is that if you are bi-amping, tri-amping, etc. (i.e. starting with two channels and finishing with more) you can run the convolution block on just two channels, and then do all the routing and crossovers later in PEQ which gets you an even larger CPU "savings". 
Logged
Pages: [1]   Go Up