An example on Windows:
from joblib import Parallel, delayed
import multiprocessing
data = range(100)
def process_task(i):
print (i)
if __name__ == '__main__':
num_cores = multiprocessing.cpu_count()
results = Parallel(n_jobs=num_cores)(delayed(process_task)(i) for i in data)
from joblib import Parallel, delayed
import multiprocessing
data = range(100)
def process_task(i):
print (i)
num_cores = multiprocessing.cpu_count()
results = Parallel(n_jobs=num_cores)(delayed(process_task)(i) for i in data)
Note that on Windows, there must be a "if __name__ == '__main__':" to avoid recursive spawning of subprocesses over the code in the scope of main.