Hyperthreading: недостаточно доступных слотов - PullRequest
0 голосов
/ 26 апреля 2018

Я пытался назначить 4 задачи для 4 процессоров. Выход hwloc-ls --of console:

L2 L#0 (256KB) + L1d L#0 (32KB) + L1i L#0 (32KB) + Core L#0
      PU L#0 (P#0)
      PU L#1 (P#2)
L2 L#1 (256KB) + L1d L#1 (32KB) + L1i L#1 (32KB) + Core L#1
      PU L#2 (P#1)
      PU L#3 (P#3)

из которого я делаю вывод, что есть 2 ядра и всего 4 процессора. Графический

enter image description here

Я сделал файл ранга в соответствии с Христо :

Rankfile:

rank 0=localhost slot=p0
rank 1=localhost slot=p2
rank 2=localhost slot=p1
rank 3=localhost slot=p3

, а также добавлена ​​опция -use-hwthread-cpus в соответствии с Gilles , приводящая к следующей команде:

mpirun -use-hwthread-cpus -n 4 -H localhost -rf rankfile ./a.out

Однако я получил сообщение об ошибке:

В системе недостаточно слотов, чтобы удовлетворить 2 слоты, запрошенные приложением.

Я продолжал пробовать разные файлы рангов как Hamy , надеясь, что проблема связана со способом обращения к процессорам, но все же я получил сообщение об ошибке для каждой комбинации. Моя версия OpenMPI 3.0.1.

...