HQ Player 4 EC modulators and CUDA

I’ve got CUDA working in HQP4 now (clean install of nVidia driver and reverted to HQP3 enabled ticked CUDA, now ticked CUDA working in HQP4).

With CUDA ticked I can do 96kHz ASDM7EC ext2 at DSD 256 without stuttering.

Grayed means to run only convolution in GPU. You get the actual status reported in the HQPlayer status bar area for 10 seconds when you start playback.

GTX970 is probably OK for convolution, but for running some of the filters it may not be as great. You can anyway try it out by making the CUDA offload configuration option checked.

Both HQPlayer 4.2.x and 3.25.5 use the same version of CUDA stack, so the Nvidia driver version requirement is the same.

If you have CUDA fully enabled in HQPlayer settings, and on status bar it is reported to be disabled, check that you have latest Nvidia driver. CUDA stack doesn’t get enabled if driver is older than the CUDA stack.

1 Like

Can also do 192kHz to DSD 256 with ASDM7EC and ext2 without stutter:

This was fairly gratifying as it was not possible without CUDA. It’s good to see the GTX 970 earning its keep.

1 Like

I wish Roon would support streaming that 64-bit float straight to HQPlayer without the bit depth conversion. From HQPlayer side that is supported… Now there are unnecessary conversions on the way.

Although you could run the parametric EQ at HQPlayer side with convolution engine and no need to run two DSP engines…

I convolve a room treatment wav in HQP. The PEQ in Roon is my attempt at a house curve. It would make more sense to eventually revisit the wav file in REW and incorporate the house curve. I’ve been trying it on and off and I think I like it enough to keep it.

I’d have to learn how to drive REW all over again but this time should be easier.

You can convolve your correction IR with house curve and that way the result is combination of the two at processing cost of one. This is what is great about convolution filters, because you can combine all kinds of things into single IR. You could even add some reverb/echo to the mix if you like.

1 Like

I have to confess this somewhere, so this thread will do.

I have a condition. It is called “Fixing things that aren’t broken”. I cannot count the number of times over the past 25 years I have done something to my computer hoping to “improve” already satisfactory performance and completely stuffed it up. This is the most recent episode.

As can be seen from the screenshots above my server (MUSE) was using ASDM7EC and ext2 in HQP on 192 kHz source files without stuttering. That was “well enough” and I should have left it alone.

Instead I:

  • Upgraded to Audiophile Optimizer 3.0 on a Good Friday deal;
  • Ran the AO Strip Windows 10 tool;
  • Ran the Black Viper script; and
  • Tinkered about with Services myself, disabling some and making others Manual start.

The results were a progressive slide downwards. The first thing that happened was I got stuttering where there hadn’t been any. Then the system started randomly crashing. Then I lost Remote Desktop communication.

At this point I gave up, formatted the server C: drive, reinstalled Windows 10 and HQP and reinstalled Roon from a backup. I am now back where I started.

In the process I worked out what Windows 10 Services I can safely disable. Basically they are anything associated with:

  • Bluetooth;
  • Smartcards;
  • Themes;
  • Printers; and
  • XBox.

Services I have now left up that I had previously removed include the Windows Firewall and the Restore capacity. The Firewall is now running without adversely affecting performance. I will make a Restore point so I can revert to it the next time I experience a relapse of my condition.

I am very pleased that the restore from backup of the Roon database worked out and I haven’t lost any substantial edits etc.


I would guess you’ve already asked Roon but just in case , tagging brian

1 Like

I removed the tag to brian because I’ve already done it via whisper :nerd_face: The good news is that it is now on the drawing board.

This would avoid an unnecessary downconversion where a user is using PEQ (or other DSP in Roon) and then sending it to an HQP Zone. Not likely to make a big difference, but the best downconversion is the one you can avoid.


If you want to tinker a little, in a non-destructive way, by searching you can find a command that brings you Windows 10 “Ultimate Performance” mode visible in the Power Management settings, that is normally only available under Windows 10 for Workstations. That can be useful for example on multicore CPUs and brings a little bit of extra reliability over the normal “High Performance” mode.

And it is very easy to just click on the original power profile to go back if needed.

1 Like

must resist temptation …

Oh what’s the use. Here’s a link to how to do it.


Improvements and Bug Fixes for Build 511

  • HQPlayer: Roon sends 64bit float stream when practical

Ask and you shall receive :nerd_face:.


Hello Jussi,

I am using NUC 7i7xxx with ROCK OS as Roon core and Dell Workstation with 2 ways Xeon CPU (8 cores per processor) as my HQPlayer 4 desktop host, DSD output is default setting, and I am using ext2 ASDM7EC for oversampling and shaping.
DSD128 is current output format, so far it is running stable without stuttering, but I also noted here are only 4 cores with high utilization, I tried to disable HyperThread to optimize performance, looks a bit improvement, but I still cannot output DSD 256 format without stuttering at the moment.
Therefore I would install a Nvidia Graphic Card with compute capability 5.2 or above like Quadro M4000 into my Dell Workstation to enable CUDA offload, but I am not sure if it is helpful to output DSD256 format with existing filter and modulator settings, because a bit confusion here about CUDA offload, if CUDA offload enabled, does mean all computing work load will handover to CUDA from CPU? Or will HQPlayer balance workload between CUDA and CPU in this scenario?

Thanks in advance!

You will need a fairly recent CPU with capability to run cores at 4+ GHz speed. For example i9-9900K(S) and i9-10900K CPUs can do it (also i7-7700K and i7-8086K of earlier generations). Likely also current fastest i7 K-models work, but I have not tested this myself.

It means that filters and convolution is running on the GPU, modulators always run on CPU and cannot be moved to GPU (not a kind of task where GPU is efficient).

Hello Jussi,
Very thanks for your clarifications!
I totally agree with you about use recent CPU spec to run cores at 4+GHz speed for DSD256 output.
Attached is screenshot regarding to current situation of 2 processors utilization during DSD128 output, it shows 2 cores always keep heavy work loads around at 80%-90% utilization, may I check again if I need to add a graphic card like Geforce RTX serials into system and enable CUDA, might be helpful to reduce CPU work load; or it is not meaningful at all, because current bottleneck is single core performance which is insufficient compute capacity to run EC modulator.


For light weight filters, you essentially have four cores with relatively high load. Rest can be offloaded to a GPU. Which may help a little by gaining a bit more clock boost on the high loaded cores.

Got it, thanks!

Jussi, I plan to buy a GPU with CUDA. Do you think you’ll may use in further release of HQPlayer some NVIDIA CUDA features you do not use today.
I’m wondering if I’d better choose a GPU with an higher CUDA level than the one you recommend today (5.2).

Yes, certainly.

Yes, you should get latest generation. One reason is that Nvidia also keeps bumping up their lowest supported compute level for new CUDA releases. Latest CUDA releases don’t support old GPUs anymore.