9950x3d cache optimizations on Linux?
from Comexs@lemmy.zip to linux@lemmy.ml on 30 Jun 01:56
https://lemmy.zip/post/42785493

I’m considering getting a 9950x3D on either Monday or Tuesday at a Micro Center as a upgrade to my current setup. My main question is, how is the experience with the 9950x3D on Linux with strange architecture with half of the cores having extra L3 cache and the other half with a normal amount of L3 cache.

I have been busy working and suddenly there’s been a promotion for the 9950x3D that I want to take advantage of since my motherboard on my current system has been deteriorating as of late. Asrock x570 Extreme4 with a 3700x. USB has been very flaky and I’ve been dual boating and the other SSD slot is on the chipset. Which makes my windows boot incredibly slow.

I plan to stay on Arch Linux or hop over to CachyOS but want to know what are your thoughts on this as well?

I primarily game but occasionally do some video/audio encoding, video editing and want to build ffmpeg-full from the aur but takes too long on my 3700X.

I’ve only been able to read/watch three mediums level1tech, and two Phoronix articles, but haven’t mental capacity to register and remember everything.

I watched the Ryzen 9950x3D? On Linux video by Level1tech. And one of the things he mentions is gamemode. Is it recommended.

As for the Phoronix articles one is the review of the 9950x3D and the other is the cache optimization driver.

By default for the Ryzen 9 9950X3D it was using the “frequency” preference as default. But if writing “cache” to /sys/bus/platform/drivers/amd_x3d_vcache/AMDI0101:00/amd_x3d_mode it will prefer using the CCD with the larger cache. This cache vs. frequency bias can all be easily manipulated at run-time for those interested.

Is there some sort of automation for this? Or, do I have to do it manually for each program? I’ve never messed with kernel parameters other than for my Nvidia GPU to get Wayland to work.

I’m sorry that this question feels very unorganized. I just don’t have time to write a proper one. I’ll be able to reply on my next break.

Thank you for your help.

#linux

threaded - newest

Fecundpossum@lemmy.world on 30 Jun 08:56 next collapse

You’re overthinking the hell out of this. Just plug it in and go. My 8700x3d is insanely fast during any load I’ve ever thrown at it, your new chip will be even more so.

Eideen@lemmy.world on 30 Jun 10:01 next collapse

L3 cache is a hardware level function so unless the application like memtest86+ tells the cpu not to cache, everything is cached.

There are games that is so memory intensive when it comes to IO/s , that the cache plays a smaller role, like “X4: Foundations“.

/sys/bus/platform/drivers/amd_x3d_vcache/AMDI0101 is a global function. You can use ‘taskset’ to set cpu affinity at launch of application.

SteveTech@programming.dev on 30 Jun 12:50 collapse

If it helps, I wrote a KDE widget to switch between the modes: github.com/Steve-Tech/KDE-AMD-X3D-Selector

<img alt="Screenshot of the KDE X3D Mode widget" src="https://programming.dev/pictrs/image/d3bf7139-87c4-4461-a298-005545207e0f.png">

My understanding is amd_x3d_mode basically prioritises what cores the scheduler will assign tasks to. I usually keep it on cache since I do a lot of code compilation, but I will usually switch it to frequency for gaming and stuff.

F04118F@feddit.nl on 30 Jun 13:48 collapse

keep it on cache since I do a lot of code compilation, but I will usually switch it to frequency for gaming and stuff.

Isn’t gaming the most cache-heavy CPU workload there is? The X3D CPUs have consistently topped gaming benchmarks, even outperforming much more modern CPUs that lack 3D cache.

I’d sooner do it the other way around: frequency for compiling, rendering, transcoding, etc. Cache for gaming!

ryannathans@aussie.zone on 30 Jun 14:34 next collapse

This

SteveTech@programming.dev on 30 Jun 21:50 collapse

Oh okay, I had assumed compiling would be a bit more I/O bound, while gaming would be a bit more CPU bound, but I guess you’re right about the benchmarks!