我只是想确定在使用 joblib 和 multiprocessing 时 for 循环的划分是如何发生的。我现在正在使用的是: 职位库:
solution = Parallel(n_jobs=16)(delayed(cell_simulation)(t, i, param, model, I_batt) for i in range(N))
在多处理中:
p_solve = Process(target=system_solve, args=(I, V, qo))
p_solve.start()
p_solve.join()
Q1。通过这样的 joblibs 调用,如果 N 可以被 16 整除,是否会确保 for 循环的各个迭代在单独的内核中处理?如果 N == 16 怎么办?或者,它是否将每个单独的循环分配到 16 个?
Q2。对于 multiprocessing Process,如何确保不会过度使用或使用不足的 CPU 资源?
multiprocessing.pool
在分布方面是否像 joblibs 一样工作?