I have both Linux and Windows 10 installed on a dual Xeon 6138 computer with 64GB of RAM. I cannot access the computer immediately (because of the lockdown) but I strongly believe the Windows version is Windows 10 Enterprise. The system has last been updated in late 2018, and not after.
Xeon 6138 specs are available here (basically, each CPU has 20 cores, totalizing 40 HT threads for a single CPU, and 80 in my dual setup):
When I run a CPU-intensive program in Linux on this setup, all 80 threads of my system are used (see attached image 1).
My question is: when I run the same program on Windows 10, compiled with VC++ 2017, the process can only saturate 40 of the 80 threads available on my system.
Why, and how can I have all 80 threads used? (I know there is the concept of processor groups on Windows, but most of the programs I use are simply not processor-group aware, and I just know that I can't change that).