Hello,
I have a server with following specs:
- OS: Windows Server 2022 (Build 20348.2402)
- CPU: AMD EPYC 9554P (64 physical cores, 128 logical cores)
With NUMA nodes per socket set to 4 (NPS4) in the BIOS, Windows is configuring processor groups in an odd way. In task manager "Processor affinity" (right-click on a process and select "Set affinity") two groups are shown with the following nodes:
Group 0:
CPU 0 to CPU 15 (Node 0), CPU 0 to CPU 15 (Node 2), CPU 0 to CPU 15 (Node 0), CPU 0 to CPU 15 (Node 2)
Group 1:
CPU 0 to CPU 15 (Node 1), CPU 0 to CPU 15 (Node 3), CPU 0 to CPU 15 (Node 1), CPU 0 to CPU 15 (Node 3)
The fact that the first 15 CPUs of each node are repeated seems an "esthetic" error. Actually the "repeated" CPUs are CPU 16 to CPU 31 of each node. But the important thing is that nodes are interleaved. So if I set the affinity of a process to the first 32 threads, it would be running on two different NUMA nodes which does not seem ideal. I have the same behaviour using SetProcessAffinityMask function.
I tested with other server with a CPU AMD EPYC 7713P (64 physical cores, 128 logical cores) and NUMA nodes per socket set to 4 (NPS4), Windows Processor Group configuration is as following:
Group 0:
CPU 0 to CPU 31 (Node 0), CPU 0 to CPU 31 (Node 2)
Group 1:
CPU 0 to CPU 31 (Node 1), CPU 0 to CPU 31 (Node 3)
In this case, processor group configuration seems optimal.
Could this be a compatibility issue of Windows with AMD EPYC 9004?
Best Regards,
Antonio