sklearn PLSRegression - нечетные временные показатели в Azure Ubuntu DSVM при удвоении количества ядер - PullRequest
0 голосов
/ 09 октября 2019

Я обнаружил странное поведение при выполнении некоторого кода, который при запуске на виртуальной машине данных Ubuntu Azure (DSVM) выполняет PLSRegression из sklearn.

Запуск того же кода в8-ядерная виртуальная машина и 16-ядерная виртуальная машина занимают одинаковое количество времени на стену, несмотря на то, что количество ядер вдвое больше. Вот выходные данные %time в ноутбуке Jupyter:

8 ядер:

CPU times: user 56min 29s, sys: 54min 4s, total: 1h 50min 33s
Wall time: 14min 8s

16 ядер:

CPU times: user 1h 42min 3s, sys: 1h 52min 35s, total: 3h 34min 38s
Wall time: 13min 29s

Используя htop, я могуубедитесь, что все ядра максимально работают во время работы кода. Так как основной код выполняется обычным образом (т. Е. Однопоточным), я предполагаю, что часть PLSRegression является многопоточной или многопроцессной и использует все доступные ядра. Я взял это до 64 ядер с похожими результатами, то есть очень мало изменений во время стены.

Мои вопросы:

  1. Почему время стены такое жес удвоенным временем ЦП при использовании 16 ядер?
  2. Можно ли как-нибудь заставить код работать быстрее в условиях настенного времени, используя больше ядер?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...