Sto provando a eseguire un ciclo parallelo su un semplice esempio.
Cosa sto sbagliando?Scrittura di un ciclo parallelo
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)
Il problema con il codice è che quando viene eseguito in ambienti Windows in Python 3, si apre num_cores
istanze di Python per eseguire i lavori paralleli, ma solo uno è attivo. Questo non dovrebbe essere il caso in quanto l'attività del processore dovrebbe essere del 100% anziché del 14% (in i7 - 8 core logici).
Perché le istanze aggiuntive non stanno facendo nulla?
Si riceve un messaggio di errore? Funziona bene per me ... Il rientro dovrebbe essere di 4 spazi invece di uno ... –
Ho lo stesso problema. Il problema è che il codice gira solo su un core e non sui core N. –