Help with hardware (CUDA)

Ok, it seems it just doesn’t work. I now installed Ubuntu 22 and tried there, with HQPlayer Embedded as well as with HQPlayer Desktop. (In the HQPlayer OS image, there are no NVIDIA drivers available and thus no CUDA offload.)

The behaviour is always the same (found now when I hear sound and when not):

  • If HQPlayer is first started after a reboot with CUDA offload and SDM output, and a song is played through Roon, the progress meter on Roon’s playing screen does not advance. After a while (about a minute or more at DSD512, much less at DSD256) about a second of buzzing noise is played, and afterwards, a short bit of noise follows roughly once per second. After a config change or something similar, the progress meter will still not advance, and HQPlayer will only play the short noises (immediately), not the long noise from the beginning.
  • If HQPlayer is then quit and started again, Roon’s progress meter will advance at normal speed when playing a song, but no sound will be played at all.
  • If PCM output is used first, Roon’s progress meter does advance at normal speed. There will be constant buzzing noises, pitch and buzzing speed depending on the output sampling rate. Switching to SDM will not produce any sound.
  • After no sound at SDM, switching to PCM will produce no sound, too, but switching output rate will lead to the buzzing sound again.
  • The buzzing sound is not always the same, pitch changes from invocation to invocation.

I guess all that means that it just doesn’t work with the M1200 graphics card or possibly with CUDA capabilities 5.0 in general. Damn. :-/

No it doesn’t. As obviously Nvidia doesn’t support CUDA on HQPlayer OS. And I support CUDA only on platforms where Nvidia officially supports CUDA…

Nvidia CUDA stack first went to support only 5.2 and up and then backed to 5.0. I didn’t go back and forth in my requirements though, so 5.2 that is. But overall, from HQPlayer perspective the limit should be actually somewhere above 6.0. It is quite massive difference since RTX line.

Just wanted to add that I was successful with CUDA after all. Not with the laptop I had been testing with first, but I bought a used RTX 2060 (Ghainward Ghost OC) for cheap and put it into my old i3-6100 PC (two cores only!).

I wasn’t sure how far that would bring me as the SDM modulators can’t be offloaded. But that meagre combo is enough to do all modulators in DSD256 (didn’t test those that are aimed at higher rates), with all filters but the extreme ones—sinc-L doesn’t work, e.g., but the sinc-M variants or poly-sinc-ext3 are no problem, even with DAC correction active.

Nice.

2 Likes

I’m wondering if I should get an NVIDIA Tesla K20 for HQPlayer duty. That card can do more than double the fp64 throughput than an RTX 5070 and is available used for €35.

However, as it’s very old, CUDA capability is 3.5 only. I’ve read in old threads in other forums that people were using a Tesla K20 for HQPlayer in 2017, but would that still work today?

EDIT: I know you said above that probably 6.0 is required, but I was hoping that maybe it’s only certain stuff that matters that the old professional cards already provided or something like that. And maybe that somebody has one and could test.
Not supported by NVIDIA anymore, but no problem to install the drivers in Arch Linux.

Or maybe the P100? That would be CUDA capabilities 6.0 and still relatively affordable. The V100 (6.1) is still cheaper used than most powerful graphics cards but is ridiculously overpowered for HQPlayer use (about 10x the FP64 throughput of TOTL consumer graphics cards).

It won’t work, minimum is CUDA 5.2. And I don’t think such performance figures are accurate.

From latest CUDA release notes, under deprecated architectures:

Architecture support for Maxwell, Pascal, and Volta is considered feature-complete and will be frozen in an upcoming release.

I would recommend to stay within newer than these, as these will subsequently fall out in not so distant future.

(there is a reason why the old cards are so cheap)

1 Like

Ok, thank you!

(In case anyone is wondering: P100 uses Pascal, V100 uses Volta architecture.)

What determines the minimum CUDA capabilities required for HQPlayer? Is it NVIDIA’s libraries, so as soon as those (and the drivers provided by Ubuntu) change, HQPlayer changes with them, and that might be anytime without further notice? Or is it the functions you choose to use?

In other words, with a Pascal card, could I be sure that HQPlayer will support it as long as it’s version 5 or something similar, or can it fall out of support anytime? (Not that that would necessarily be a problem, nobody forces me to update, after all, but just for me to know.)

Both, I use certain set of features which determines minimum level required from my perspective. I always use the latest CUDA development tools so that the tools are in sync with the other development tools as well, and support latest hardware generations in an optimal way. This means that when Nvidia discontinues support for older generations, those stop working. When there is major update to CUDA, they usually purge support for set of old hardware. At the moment lowest level CUDA supports is close to my minimum requirement. Their minimum level is 5.0 and mine is 5.2.

When they eventually release CUDA 13, it will likely drop support for bunch of older hardware. And it sounds like that will include Maxwell, Pascal and Volta. Last time they jumped from 3.5 to 5.0. Now it sounds like the next jump could be 5.0 to 7.5 (Turing). Which is precisely where GTX changed to RTX.

3 Likes