Многопроцессорная обработка для одной команды в Python - PullRequest
0 голосов
/ 22 января 2019

У меня есть этот код:

from multiprocessing import Pool
from multiprocessing import cpu_count
processes = cpu_count()
pool = Pool(processes)

pool.map(print("Hello, world!"))

Это дает ошибку: TypeError: map() missing 1 required positional argument: 'iterable'.Это похоже на другие пакеты параллелизации (например, concurrent.futures).Они требуют, чтобы определенная функция была применена к итерации.Но как можно заставить одну команду использовать более одного ядра процессора?

Допустим, вместо print("Hello, world!") выше, была команда для запуска тематической модели или для вычисления Pi или чего-то еще: Может ли этоускорить процесс распараллеливания?Или даже тот факт, что 100% загрузка процессора на 1 из, скажем, 16 ядер, все еще может означать, что используется вся вычислительная мощность машины?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...