Library scanning not using all AMD Ryzen CPU cores

I just set up two Roon cores. One for my home and one for my office. I have two lifetime subscriptions.

One Core is on a new NUC10i7FNH running a fresh install of Windows 10 LTSC, licensed and activated. Its got 16GB of memory and a 256GB M.2 NVME SSD.

The other is on a new desktop PC also running a fresh install of Windows 10 LTSC, also licensed and activated. Its got an AMD Ryzen 9 5950x on an Asus Crosshair VIII Dark Hero motherboard, 64GB of memory and a 1TB NVME SSD. A 360mm Corsair H150i Capellix AIO liquid cooler takes care of keeping CPU temperatures down. It hovers at 5 degrees over ambient at idle.

I decided to run Roon on Windows instead of ROCK because those computers will also be used for tasks other than Roon.

First, the NUC. I wired it to my home gigabit network via CAT6E as is my Synology DS918+ NAS where my CD rips are stored.

Installing Roon on the NUC went without a hitch. I set it to use all 12 logical cores of the i7-10710U inside the NUC to scan albums from my NAS. Based on Windows task manager, this was certainly the case. All 12 cores were pegged at 100% while Roon doing its thing. I believe this is normal so I fully expected this. CPU usage went down to 1% and stayed there once Roon finished scanning.

Next, my Ryzen computer. Installing Roon also went without a hitch but based again on Windows task manager, only 8 of the 5950x’s thirty-two logical cores were being used while scanning albums from the same NAS.

I could change core usage from 1 to 2, 3, 4 and so on and Windows task manager shows me the CPU cores “firing up,” so to speak, but only up to 8 cores. Any higher setting was being ignored. During this time CPU temperatures were manageably low according to both the Ryzen Master software and CoreTemp. At no time did my CPU throttle.

To test if all 32 cores are working properly, I ran Cinebench. During the multicore test, Windows task manager indeed showed all 32 cores working.

So basically, Roon uses only 8 logical cores of my AMD 5950x to scan my albums. Cores 9 to 32 aren’t, even if I set it from 9 to 32.

Why is this? Is there anything I can do so that Roon will use all 32 cores? Thanks in advance.

Not Sure.

Roon uses multiple cores during the initial audio analysis. After that Roon is basically single Cored usage. The other times Roon might use additional cores, was going to type out a ton of text but this thread might provide some info while you wait for official support to chime in.

Thanks for your response, Daniel. I appreciate it.

Please allow me to provide some photos and screenshots for context.

Here is my NUC10i7FNH.

Inside are 16GB (two sticks of 8GB) memory and a 256GB M.2 NVME SSD.

I am installing the Roon Core on that NUC for use in my office. Here it is on my desk, at the lower left of the photo. The big computer on the right will run the Roon Core for my home.

Here is CPU usage on that NUC while Roon was adding albums to its library from my NAS.

I set Roon to use all 12 cores and I’m happy that was indeed the case. All 12 were being used at 100%. The darker squiggles you see on a couple of cores are because I checked the “show kernel times” option in Windows task manager.

Once Roon on the NUC finished scanning my NAS, I packed it up so that I could bring it to my office. What’s left on my desk is my home computer. Please excuse the sushi wallpaper. :grinning:

Here’s a screenshot while Roon was adding albums to its library from the same NAS.

The text is a bit small so let me zoom in, specifically the part where I’ve set Roon to use 32 cores.

Here’s Windows task manager from the same photo.

Evidently, only a few of the CPU’s thirty-two cores are being used, even as I’ve set Roon to use 32. I wonder why this is the case? The Intel CPU on my NUC used all of its 12 cores. Could this be an AMD thing?

How do I get Roon to use all 32 CPU cores as it adds albums to its library from my NAS?

Hi Leonard,

If i didn’t mention it before, I am just another user like you. Mods are volunteers. The choice of Core #s is the only setting we have to regulate. Why Roon prioritizes/utilizes the number of cores it does during the audio analysis process would have to be addressed by the devs, probably @brian, to shed light on what you are seeing.

You can ignore the Audio Analysis part and just have Roon identify the albums. Those are two separate processes and it is the audio analysis which is using the processing.

Audio analysis is used to generate the wave form/timeline during playback and for volume leveling. I never use vol. leveling and I set my system to “analyze on demand”, forgoing all the extra processing at the start. But, I do see the allure, of just getting it all out of the way immediately.

Here is my Core:

Cheers,
Daniel

1 Like

Thanks again for your response, Daniel. I appreciate it. Nice to see we have Corsair case. Your build looks very nice. :grinning:

Here’s a close-up of mine.

The main reason I will use this computer as my new Roon core is for fast audio analysis.

My previous Core ran on an old Windows 10 PC with an i7-4790k CPU and 16 gigs of RAM. It reads lossless albums from a Synology NAS connected to the same gigabit network. On the Roon iPad Remote app, I would tap on a locally stored song and it would take 5-6 seconds before it plays. This is regardless of the “on demand audio analysis” setting. Even if I set that to “off” it still takes a few seconds before the song plays because its “waveform” graph hasn’t shown up yet.

And what I’m trying to play are songs I added to my NAS long ago, which Roon has already indexed. They’re not new additions. For me, it appears as if Roon forgot that it even analyzed those songs, so it has to do it again.

However, if I swipe the song timeline all the way to the end, the next song plays instantly. The timeline graph remains flat until the waveform shows up 5-6 seconds later, but I don’t mind because the song is already playing. But if I tap on a different song, I’d have to wait again, roughly 5-6 seconds for it to play. And this is on Roon version 778.

To avoid this, my Roon core will be running on my new PC with its fast, multithreaded CPU. I really hope when I tap on any song, it plays instantly. :slightly_smiling_face:

Looks nice. Am planning to update to a later NVidia card. ( I also game and us HQPlayer, so win win). I used to be a big AMD fan, until I switched to the Core 2 Duo processor long ago. My first computer had an Ati video card…

I have this same processor and ram config for my roon core on a hackintosh running macOS 10.13.6. My music is on a thunderbolt drive enclosure with a softraid config.

I don’t get the 5-6 second delay you’re having. The only delay I have is when I use my hqplayer endpoint.

What is your library at and is it on local drives. He has, from picks, nearly 850k files which I assume are on the DS918 Nas. I would guess actually, that, there is some network delay due to using the NAS.

If he is really curious, he can copy some music onto a local drive and test access between it and the NAS. I bet he’d find it much faster locally. Personally, I keep all my music local and then have the first backup to a NAS, and then a second backup onto other external drives.

90k local tracks on the an external drive. I guess just a wee bit less. :roll_eyes:

With 800k tracks The playing field changes a bit. Lol

Throughput for my audio drives is only around 260mb/s (random uncashed read is only 2.76mb/s). The system drive with the database is an nvme drive, ~2500mb/s for that. But random uncashed read is 56mb/s, so about 20x quicker than the audio drives there.

This would be an interesting experiment.

I once tried running roon server on a headless Ubuntu rig and accessed the drives in my current setup via network and I don’t recall getting the delay. But this isn’t a nas box and it isn’t 800k tracks that I was accessing. But I still think the 800k tracks would be affected more on the database drive and it’s access speed more than the access to the audio tracks locations. I can see where network latency could be an issue though.

Even having a lot of throughput on the audio drive, the network is the bottleneck with a theoretical max of 116mb/s on gigabit.

Thanks for your responses, guys. I really appreciate them. :grinning:

The main problem I was having on the Windows 10 computer (i7-4790k CPU, 16 gigs of RAM) that previously ran my Roon Core was slow loading of songs from my Synology DS918+ NAS. Both it and my Roon computer are wired via CAT6 to an 8-port gigabit switch which connects to an Asus RT-AC87U Wi-Fi router also via CAT6.

I do not have Tidal nor Qobuz. I only play my own CD rips from my NAS, which are filed in this manner:

Artist A
–Album A
----Song 1
----Song 2
----Folder.jpg (the cover art)
–Album B
----Song 1
----Song 2
----Folder.jpg
Artist B
–Album A
----Song 1
----Song 2
----Folder.jpg
–Album B
----Song 1
----Song 2
----Folder.jpg

…so on and so forth.

On the Roon Remote app, I would tap on a song and I would sometimes have to wait several seconds for it to play. During this time, a purple streak on the song’s timeline swings left to right. 5-6 seconds later, the song’s “waveform” appears and it starts playing. This is the case even if I set Roon’s “on-demand audio analysis” to OFF.

Why “sometimes?” Because sometimes I tap on a song and it plays instantly. The 5-6 second delay happens most often on albums I have not played in a while. And this is the case even after I reboot my NAS and reboot the PC running the Roon Core.

To avoid the delay, I would drag the song timeline all the way to the end. The next song plays instantly even if its “waveform” graph has not yet loaded.

But often I do not want to hear the next song but 2 or 3 songs down. If I tap on that song, there’s a 50% chance that a purple streak on the song’s timeline will swing left to right for 5-6 seconds. Then the song’s “waveform” appears and it starts playing.

I want my songs to play instantly. That’s why I am setting up a new Roon Core installation on a very fast computer.

Oh and I am pretty sure there are no issues with either the PC running the Roon Core or my NAS. Copying files back and forth happens at gigabit speeds.

Also, I used to have a Cambridge CXN V1 (not the current V2) wired to the same network. I’d choose songs via its “Cambridge Connect” iPad app. Minimserver running on my NAS appears on the app. I’d simply tap on it to see my albums. Song playback was lightning quick. I could navigate to any album, tap on any song and it would play instantly. No lag, no delay.

Then I sold the Cambridge CXN and got a PS Audio Directstream DAC. I also got the optional Bridge II network card which is Roon-ready. I did not yet have Roon, so I would control it via its mConnectHD app, which works in the same way as Cambridge Connect. I would tap on Minimserver, choose an album, choose a song and it plays instantly. No lags nor delays.

Then I bought a Sonore OpticalRendu. It connects to my PS Audio DAC via USB. When set to DLNA/UPnP mode, I can use the same mConnectHD app to choose songs. Still no lags nor delays. Playback of any song from any album happens instantly.

Having read glowing reviews about Roon, I got myself a lifetime subscription and installed the Core in the Windows 10 computer mentioned earlier. I set it to scan albums from my NAS and enabled two endpoints, the Network Bridge Card of my PS Audio DAC and my OpticalRendu. But on either endpoint, songs play instantly only half the time. The other half, I’ve got to wait 5-6 seconds for the song’s "waveform: to appear. Then it starts playing.

I still haven’t gotten to the bottom of this I’m sure it isn’t my hardware, which plays songs instantly if I use DLNA/UPnP and not Roon.

If a new Roon installation on a fast computer isn’t the solution, what is? I’d appreciate any advice you could give. Thanks again! :grinning:

You should take a close look at this thread if you haven’t already. There is a lot of information in there from Roon’s CTO discussing performance considerations with huge libraries. It’s pretty rare that he shares that much information in one thread. Clearly it’s something he’s passionate about.

You are in rarefied air in terms of library size (>800,000 tracks). One key takeaway from Brian’s discussion above is:

“Unfortunately, when a Roon library gets up into the several-hundred-thousand-tracks range, it pushes mono’s memory management infrastructure so hard that bad behavior starts to result. Symptoms might include laggy screen loading, slow focuses/searches, audio dropouts, or other stuff like that. … On all platforms, there is a point where increasing the library size to the extreme results in performance degradation.”

At the time he wrote this it was around 500,000 tracks. You may be at the point where Roon’s limitations run into liabilities. Only you can decide the balance between keeping a library that large and the downsides which come from it.

Something major has changed since that thread. We stopped using mono for Roon OS (ROCK / Nucleus / Nucleus +), so the performance gap with Windows no longer exists.

At this point, for a large library, I would probably lean towards Roon OS. I would reiterate the recommendation to use local storage for the content, and get the fastest NUC you can, with plenty of RAM.

2 Likes