TLDR
Две машины с тем же количеством vCPUs позволяют другое количество потоков MPI. Почему?
Я выполняю два экземпляра Ubuntu:
У обоих есть 32 vCPUs с 16 ядрами и 2 потоками на ядро.
Экземпляр AMI 2 может работать mpirun -np 19 python3
в то время как экземпляр AMI 1 дает ошибку:
--------------------------------------------------------------------------
There are not enough slots available in the system to satisfy the 19
slots that were requested by the application:
python3
Either request fewer slots for your application, or make more slots
available for use.
Почему я ограничен 16 процессами MPI на AMI1, но могу работать 19 + процессы AMI на AMI2?
Я работал lscpu
:
AMI 1:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 32
On-line CPU(s) list: 0-31
Thread(s) per core: 2
Core(s) per socket: 16
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 79
Model name: Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz
Stepping: 1
CPU MHz: 1683.161
CPU max MHz: 3000.0000
CPU min MHz: 1200.0000
BogoMIPS: 4600.14
Hypervisor vendor: Xen
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 46080K
NUMA node0 CPU(s): 0-31
AMI2
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 32
On-line CPU(s) list: 0-31
Thread(s) per core: 2
Core(s) per socket: 16
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 79
Model name: Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz
Stepping: 1
CPU MHz: 2237.235
CPU max MHz: 3000.0000
CPU min MHz: 1200.0000
BogoMIPS: 4600.14
Hypervisor vendor: Xen
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 46080K
NUMA node0 CPU(s): 0-31
AMI 1 не работает в его максимальной скорости https://en.wikichip.org/wiki/intel/xeon_e5/e5-2686_v4, тогда как AMI 2. Я подкачал бы центральные процессоры и видел бы, перемещается ли проблема; если это делает, у Вас есть дефектный ЦП для возврата к Intel в соответствии с гарантией.