Jump to content
IGNORED

HQ Player


Recommended Posts

2 hours ago, Luca72c said:

No windows strange behaviour, then: same results in linux and macos. I think maybe people is too inclined to blame windows everytime something goes wrong... 

 

There is really no notable change on macOS unless multicore DSP is set to enabled. If you have a quad core for example and it is set to auto, the code is practically same as before and there's no core pinning because macOS doesn't support it. Unless you have a lot of cores, you shouldn't enable multicore DSP because it has extra overhead and there are no spare cores.

 

For example on my 3.5 GHz Xeon E5v3 on Ubuntu, with multicore DSP set to auto, I can almost run poly-sinc-ext2 + ASDM7EC to DSD256; I have one drop-out every 10 seconds or so. If I enable multicore DSP, it can do only DSD128, and even that only after the 4.1.1 optimizations...

 

My i7-6950X running Win10 for Workstations can do DSD256 with poly-sinc-ext2 + ASDM5EC modulator. CPU running at 3.2 GHz. ASDM7EC is not reliable on it though. This is multicore DSP set to auto. If I set to enabled, it cannot do it with the same settings anymore.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
11 minutes ago, juanitox said:

always wanting to be up to date is not necessarily a good idea , i still play fine any of the Ec modulators at DSD256 without any problem with an old windows 1803 and a I7 6700K 😉

 

Likely all versions work fine on that one. Not so much different from my i7-7700K which can do ASDM7EC with newest version to DSD256 without any problems (and any filter due to RTX2080 GPU). So far nobody with i9-9900K has reported problems either?

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
35 minutes ago, Miska said:

 

4.11.2 went through couple of cycles of testing by me and others where each build had some tuning updates.

 

 

For me, 4.11.1 performance depends on phase of the moon and time of the day... 4.11.2 gives systematically same load distribution always.

 

Have you tried the 4.11.2 HQPlayer OS bootable image? Because that's a good baseline because it is the same OS and build for all. If you want to test on the same baseline as Windows and macOS, you need to use HQPlayer OS or the Ubuntu build.

 

On Debian/Fedora build I turned off one extra optimization which is not always improving performance. I can put it back on for testing. But otherwise for a quad core there shouldn't be much difference between 4.11.1 apart from core pinning if you have multicore set to auto. And if the kernel is throwing the high load threads between CPU cores all the time it certainly won't help performance.

 

Thanks for your explanation, if possible I would like to try your special Debian 4.11.2 version with this extra optimization.

As in Debian I can load the whole HQPe into RAM and then pull off the USB stick to achieve much  better SQ ! But it seems not feasible to do this in Ubuntu so I deeply hope  Debian version will be supported continuously !

I will try 4.11.2 OS for sure and believe it would be a new experience for me .

 

 

 

 

Link to comment

NM, I found it.

 

 

Speakers: Vandersteen Model 7s, 4 M&K ST-150Ts, 1 VCC-5; Amplification: 2 Vandersteen M7-HPAs, CI Audio D200 MKII, Ayre V-6xe; Preamp: Doshi Audio Line Stage v3.0; Phono Pre: Doshi Audio Phono Pre; Analog: Wave Kinetics NVS with Durand Telos composite arm; SME 3012R arm, Clearaudio Goldfinger Statement v2; Reel to Reel:  Technics RS-1500; Doshi Tape Pre-Amp; Studer A810, Studer A812, Tascam BR-20; Multi-channel: Bryston SP-3; Digital: Custom PC (Sean Jacobs DC4/Euphony/Stylus)> Lampizator Pacific

Link to comment

Anyone using RTX 2070 with HQPlayer to do DSD512 xtr?

 

I have AMD 1920x and RTX 2070 super which from some unkown reason cannot do DSD512 properly. It plays well but has very short freezes every few seconds. CPU is low (10-15%) GPU (60-72%)

 

If I use CPU only it's better but not perfect for 48K family (still some freezes). CPU alone take ~40%.

 

Does anyone experience anything similar? Is it possible this is still not enough for HQPlayer xtr?

 

Link to comment
1 hour ago, sbenyo said:

Anyone using RTX 2070 with HQPlayer to do DSD512 xtr?

 

I have AMD 1920x and RTX 2070 super which from some unkown reason cannot do DSD512 properly. It plays well but has very short freezes every few seconds. CPU is low (10-15%) GPU (60-72%)

 

If I use CPU only it's better but not perfect for 48K family (still some freezes). CPU alone take ~40%.

 

Does anyone experience anything similar? Is it possible this is still not enough for HQPlayer xtr?

 

What modulator are you using? Is the source Roon? If yes, have you tried file playback directly by HQPlayer without Roon?

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
1 hour ago, Yviena said:

With auto/off I'm always limited to 13.5% CPU usage which is not enough for playback without stuttering, clock frequency is set to fixed in bios, the only thing setting core affinity does is telling/limiting which CPU core/thread HQplayer can run on.

 

Problem with that is that HQPlayer checks how many CPU cores there are and based on that calculates how many threads it uses to split work and set thread affinities to cores. If you set affinity externally, that likely breaks the logic unless that is also reflected in the CPU information provided by the OS (you can see this from the log - how many cores are reported and what is the core mask).

 

1 hour ago, Yviena said:

In my case core 8/10/12/14 corresponds to core 5/6/7/8 without SMT so quad core while 9/11/13/15 is SMT threads belonging to those cores, and in my case HQplayer is still using SMT threads aka core 1/3/5/7/9/11/13/15 if I leave core affinity at default, I can see thread 1 at 65/70 CPU usage which means SMT is used. 

 

HQPlayer walks CPU topology as described by the OS and sets thread affinities to match physical cores, not the SMT ones (except now in latest build with separate support for those). The core mask reported in log lists logical cores that are reported to be physical ones by the OS. Right-most bit is LSB and corresponds to core 0. Then core allocation pins each task to a particular physical core.

 

When multicore is set to enabled, there are some tasks that are run on all threads, because based on my benchmarking that gave better performance than sticking to just one core.

 

14 hours ago, Yviena said:

clock frequency is set to fixed in bios

 

Are you sure it is good idea to do so? It would be good to have the most loaded cores boosted and others running at lower clock.

 

14 hours ago, Yviena said:

limiting it to 4 real cores brings it down to 19-22% CPU usage,

 

If this makes it work, then only reason I can think of is that these four cores get boosted clocks. Otherwise the CPU cache is doing something strange.

 

 

There's now new build with some small extra tunings and support for SMT/HyperThreading (homeless extra threads are placed there now). You can also now disable core allocations by setting environment variable HQPLAYER_COREPINNING to value "0" before starting HQPlayer.

 

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment

I am using Muso but I also tried to load a local file but it's the same. I even tried playing a simple 44.1k file and it does not matter if I try to up sample to 44kx512 or 48x512 (always using adaptive rate).

 

It seems strange as my AMD 1920x seems much stronger and is not used much. GPU can get up to 80% at peaks.

During freezes it does not seem specifically at peak. I still don't see a reason it should not work. I can hardly believe it's the difference between 2080 and 2070 super. 

 

I suspect something else is causing this issue. Nothing else is running during play. I also tried to stop anti-virus and it did not help. I may have to start killing processes to see if something else might be causing this.

 

hqp2.thumb.PNG.7de5c03a5ed14b79027ca0e1d235bc67.PNG

 

 

Link to comment
19 minutes ago, Miska said:

 

I'm not expecting any... In some cases there seem to be challenges on some systems, but I have not been able to established any common denominator between such yet...

 

 

No stuttering issues with my i9-9900K except CPU core speeds are higher than those I’ve seen by others.

 

My cores are running at ~4.7GHz most of the time

 

I sent email a few days ago with screenshots

 

Link to comment

@Miska, I just tested the new build. With CUDA enabled it's the same. No matter if I use the environment setting or not.

 

If I disable the CUDA and use CPU only everything works without any issues now!!

CPU is completely stable at 33% for 48k and 30% for 44k. I am really excited to see it so I will just do more tests now. 😀

 

I got back to using Muso which automatically launches hqplayer. It also works great.

Just to know, when issues started, I disabled both virtualization in bios and hyper-threading in Windows. Should I return hyper-threading now? Will it work better with it in the new build?

 

I am very pleased. I still wish I could make it work with CUDA offload as well.

I am not sure why the RTX 2070 super cannot handle it. If CUDA offload could somehow use more of the CPU power and balance  the GPU usage, it could be much better but I am not sure it this is possible.

 

Link to comment

@Miska the boost behaviour of Ryzen is kind of broken atm only true single core loads boost beyond 4.3 to 4.35ghz, when more cores are used like HQplayer the boost is actually lower than my fixed all core overclock of 4.25ghz.

Setting the core allocation manually does nothing to boost clocks as it's fixed/disabled in bios atm. I actually think the issue is a combination of windows scheduler + Ryzen architecture + core pinning as 4.1.0.1 was basically perfect.

3950x is said to be releasing this/next month so maybe you'll be able to replicate it there.

Link to comment
7 hours ago, sbenyo said:

Should I return hyper-threading now? Will it work better with it in the new build?

 

It only makes difference in HQPlayer when multicore DSP is set to "enabled". But otherwise it should give a small overall performance boost in Windows, because OS needs to do half the context switches for multitasking.

 

7 hours ago, sbenyo said:

I am not sure why the RTX 2070 super cannot handle it. If CUDA offload could somehow use more of the CPU power and balance  the GPU usage, it could be much better but I am not sure it this is possible.

 

A bit surprising that there's so much difference for this case between 2070 Super and regular 2080. It could be something else too, but I cannot think of right now what...

 

It is really either or, otherwise just overhead increases. But if everything works on plain CPU for you now with decent load, no need to worry about it more.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
4 hours ago, Yviena said:

Yeah in my case the newest build works better with core pinning disabled via the environment variable, and just manually assigning cores seems best, leaving everything at auto/defaults still has frequent dropouts.

 

Also with multicore DSP enabled, and no affinity settings or anything from outside? How many cores are you manually assigning now? With your CPU, this version now uses 6 cores when set to "auto" and 8 cores + 8 threads when set to "enabled". But only "enabled" uses parallelized modulator. I could add feature to control number of reserved cores, so you could also use 4 or 6 cores with "enabled" setting.  Now if you assign for example 4 cores, HQPlayer still splits work for 8 cores and Windows needs to context switch between two threads on the same CPU - adds overhead.

 

Now with your manual assignment only difference is that Windows gets to decide which cores get which work (not necessarily always the same).

 

5 hours ago, Yviena said:

I actually think the issue is a combination of windows scheduler + Ryzen architecture + core pinning as 4.1.0.1 was basically perfect.

 

If you were using 4.1.0.1 with multicore "enabled", it also had some core pinning, but different kind and it was blasting work for all 16 logical CPUs. Win10 1903+ has specific support for Ryzen in the scheduler. Just no documentation what it actually does...

 

Sounds almost like putting extra context switching and overhead somehow helps on your new Ryzen. Which is strange and counter-intuitive.

 

Somewhat annoying that different CPUs behave so different when they are pushed to the edge! Makes it nightmare trying to optimize software to work best on all CPUs! 😅

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
7 hours ago, asdf1000 said:

No stuttering issues with my i9-9900K except CPU core speeds are higher than those I’ve seen by others.

 

My cores are running at ~4.7GHz most of the time

 

I sent email a few days ago with screenshots

 

It could be motherboard/BIOS feature, different OS power profile settings, other processes running, etc... Even just better CPU/cooling.

 

You know motherboard manufacturers compete on features and speed, so sometimes they like to clock higher to make their board perform better in benchmarks.

 

And almost all graphics cards do this for GPU, more or less. ASUS for example has many RTX 2080 models with different clocks.

 

I have some vague memory of seeing that email, but now I cannot find it... But hard to say much about it.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
46 minutes ago, Miska said:

 

It could be motherboard/BIOS feature, different OS power profile settings, other processes running, etc... Even just better CPU/cooling.

 

You know motherboard manufacturers compete on features and speed, so sometimes they like to clock higher to make their board perform better in benchmarks.

 

And almost all graphics cards do this for GPU, more or less. ASUS for example has many RTX 2080 models with different clocks.

 

I have some vague memory of seeing that email, but now I cannot find it... But hard to say much about it.

 

 

Noted, thanks.

 

It may be related to cooling because I don't see any CPU temp ever going above 60 deg C with Noctua NH-U14S cooling the 9900K.

 

I have seen from your screenshots you are over 60 deg C with ext2 to DSD256 with ASDM7EC.


I’m using this command to watch clock speed:

 

watch -n1 "cat /proc/cpuinfo | grep \"^[c]pu MHz\""

 

I’m watching CPU clock speed at 1 second intervals and it does touch 4.9 GHz quite often.

 

Mostly is around 4.7 GHz.

 

I’ve seen your i7-8086K is down closer to 4.3 GHz? Is that overall all cores average?

 

Do you also see individual cores running close to 5Ghz?

 

Maybe this isn't the best way to know average CPU running speed?

 

HQPe on Ubuntu Server 18.04.3 LTS.

 

 

image.png.c52043d5fbf85ef11adec16a3c4690e5.png

 
 
Link to comment
9 hours ago, sbenyo said:

I may have to start killing processes to see if something else might be causing this.

 

On your system are 208 processes and 3460 threads activ. It's realy to much! Look at my picture, there only 65 processes and 676 threads activ. My OS ist Windows 10 Pro and AudiophilOptimizer 3.00. CPU i9-9900K with 4GHz, no GPU. No Problems with convolution on - poly-sinc-ext2 - ASDM7EC - 96kHz/24bit - DSD256

 

New version HQPlayer 4 Desktop 4.1.1 seems to load the cores more accurately. Some cores are idle. Before, the load was distributed more on all cores. I think this result was so wanted? In the end, I have a stable and great sound.

 

36683162me.png

Link to comment
43 minutes ago, StreamFidelity said:

 

On your system are 208 processes and 3460 threads activ. It's realy to much! Look at my picture, there only 65 processes and 676 threads activ. My OS ist Windows 10 Pro and AudiophilOptimizer 3.00. CPU i9-9900K with 4GHz, no GPU. No Problems with convolution on - poly-sinc-ext2 - ASDM7EC - 96kHz/24bit - DSD256

 

New version HQPlayer 4 Desktop 4.1.1 seems to load the cores more accurately. Some cores are idle. Before, the load was distributed more on all cores. I think this result was so wanted? In the end, I have a stable and great sound.

 

36683162me.png

 

 

Hi @StreamFidelity

 

Was is your CPU running speed  most of the time and what is the 'peak' that you observe?

 

Do you ever see any core speed go above 4.7 GHz?

 

And what motherboard do you have and what CPU temperature after a couple hours playing ASDM7EC + ext2 at DSD256?

 

Many thanks!

 

Link to comment
1 hour ago, asdf1000 said:

I’ve seen your i7-8086K is down closer to 4.3 GHz? Is that overall all cores average?

 

Do you also see individual cores running close to 5Ghz?

 

Maybe this isn't the best way to know average CPU running speed?

 

That's roughly average figure, some cores can hit 4.7 GHz. But it seems to be fairly stable with some occasional variation upwards. But I have not paid so much attention to the figures. I just occasionally check the figures and temps.

 

Best would be to average values over longer time.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
54 minutes ago, StreamFidelity said:

On your system are 208 processes and 3460 threads activ. It's realy to much! Look at my picture, there only 65 processes and 676 threads activ. My OS ist Windows 10 Pro and AudiophilOptimizer 3.00. CPU i9-9900K with 4GHz, no GPU.

 

I don't think they are actually active, just processes exist sleeping in idle. Just like on many desktop Linux systems you can see similar figures. But most processes and threads are sleeping waiting for events and may have not been run in many days, or just occasional timeout wakeup and go back to sleep. You can check what kind of CPU load you have in an idle system to have some idea. HQPlayer also launches lot of threads of which not all ever wake up during their lifetime.

 

58 minutes ago, StreamFidelity said:

New version HQPlayer 4 Desktop 4.1.1 seems to load the cores more accurately. Some cores are idle. Before, the load was distributed more on all cores. I think this result was so wanted? In the end, I have a stable and great sound.

 

Yes, looks like working as it should. Most of the time CPU core siblings (SMT/HyperThreading) are left unused for the OS to execute other tasks. Only exception is when multicore DSP is set to enabled and EC modulators are used, then now in latest build some of the extra threads are placed on the siblings on purpose.

 

With "auto", when there are enough cores, two cores are "reserved" for other tasks and usually have fairly low load. This also helps clock boost on other cores.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...