MPI detects half of the physical cores on Ryzen Threadripper 3990x

Discussion created by aalmutairi on Jul 10, 2020
Latest reply on Jul 22, 2020 by misterj

I am using AMD threadripper 3990x in my PC running Windows 10 Pro (v.10.0.19041.329). Initially I was interested in using some simulation software that utilizes MPI. Hence, I decided to resort to WSL2 and Ubuntu linux (v.20.04). There I noticed the following when use the command lscpu:

Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
Address sizes: 48 bits physical, 48 bits virtual
CPU(s): 64
On-line CPU(s) list: 0-63
Thread(s) per core: 2
Core(s) per socket: 32
Socket(s): 1
Vendor ID: AuthenticAMD
CPU family: 23
Model: 49
Model name: AMD Ryzen Threadripper 3990X 64-Core Processor

As you can see, it only detected 32 physical cores (64 logical ones). I initially though it was just a WSL2 issue so I tried hyper-V but to no avail. So I assumed it is an issue of virtualization since Windows correctly detect 64 physical cores (128 logical ones). However, I tried to run mpi directly on Windows (knowing that it is not the best). The result was the same, even on native Windows, MPI (with provided by openmpi or MPICH) always detects 32 cores. I tried asking through the Microsoft WSL2 GitHub page but no one seems to know how to fix it. I tried contacting the support on AMD and they recommended asking here. Has anyone experienced something similar? and are there any fixes I can test? 

Thank you