Я пытаюсь запустить параллельный цикл на простом примере.
Что я делаю неправильно?Написание параллельного цикла
from joblib import Parallel, delayed
import multiprocessing
def processInput(i):
return i * i
if __name__ == '__main__':
# what are your inputs, and what operation do you want to
# perform on each input. For example...
inputs = range(1000000)
num_cores = multiprocessing.cpu_count()
results = Parallel(n_jobs=4)(delayed(processInput)(i) for i in inputs)
print(results)
Проблема с кодом является то, что при выполнении под средой Windows, в Python 3, он открывает num_cores
экземпляров питона для выполнения параллельных заданий, но только один активен. Это не должно быть так, так как активность процессора должна быть на 100% вместо 14% (в i7-8 логических ядрах).
Почему дополнительные экземпляры ничего не делают?
Вы получили сообщение об ошибке? Это отлично работает для меня .... Отступы должны быть 4 пробела вместо одного ... –
У меня такая же проблема. Проблема в том, что код работает только на одном ядре, а не на n-ядрах. –