2017-02-14 3 views
1

Я использую сервер linux с 128 ядрами, но я не единственный, кто его использует, поэтому я хочу убедиться, что для своей программы я использую максимум 60 ядер. Программа, которую я пишу, представляет собой серию симуляций, где каждая симуляция распараллеливается. Количество ядер такой симуляции может быть выбрано, и я обычно использую 12.Процессы пула процессов Python count

Так теоретически я могу запустить 5 из этих симуляций одновременно, что приведет к (5x12) 60 ядрам, используемым в Всего. Я хочу начать симуляции с python (так как там происходит вся препроцессия), и мой взгляд поймал многопроцессорную библиотеку, особенно класс Pool.

Теперь мой вопрос: я должен использовать бассейн = бассейн (процессы = 5) или бассейн = бассейн (процессы = 60)

Идея заключается в том: имеет ли аргумент процессы означающие на сумму рабочих используется (где каждому работнику назначено 12 ядер) или общий объем доступных процессов?

+0

_processes_ - количество используемых рабочих процессов. Из документа [docs] (https://docs.python.org/3.6/library/multiprocessing.html#multiprocessing.pool.Pool) –

+0

Я считаю, что общее количество процессов, доступных в пуле, будет выделено из числа физических ядер, доступных системе, поэтому вы, вероятно, хотите «Пул (процессы = 60)». – martineau

ответ

1

Аргумент «процессы» в пуле означает общий подпроцесс, который вы хотите создать в этой программе. Итак, если вы хотите использовать все 60 ядер, здесь должно быть 60.

Смежные вопросы