я новичок и только начал использовать joblib. Программа выдает результат, но не вырабатывает нагрузку на 2 ядра. Пожалуйста, помогите пожалуйста! Приблизительный код программы:
G={}
def boundary_foo(x,y):
return x**2+y**2
def para(y_start, x_start):
Iterations = 100
Width = 10
Height = 10
X_base = -5
Y_base = -5
G_sum = 0
m = map.map(Width, Height, X_base, Y_base, Iterations, x_start, y_start);
m.start()
point_stat = m.stat()
for point in point_stat:
(_point, x_str, y_str) = point.split()
x = int(x_str)
y = int(y_str)
G_point = boundary_foo(x,y) * point_stat[point] / Iterations
G_sum += G_point
G['Point ' + str(x_start) + str(y_start)] = G_sum
if __name__ == '__main__':
Parallel(n_jobs=1)(delayed(para)(y_start, x_start) \
for y_start in range( Y_base, -(Y_base-1) ) \
for x_start in range( X_base, -(X_base-1) ))
print(G)
После работы программы с n_jobs = 1 я получаю:
{'Point -5-5': 50.0, 'Point -4-5': 41.0, 'Point -3-5': 34.0, 'Point -2-5': 29.0, 'Point -1-5': 26.0, 'Point 0-5': 25.0, 'Point 1-5': 26.0, 'Point 2-5': 29.0, 'Point 3-5': 34.0, 'Point 4-5': 41.0, 'Point 5-5': 50.0, ... 'Point -45': 41.0, 'Point -35': 34.0, 'Point -25': 29.0, 'Point -15': 26.0, 'Point 05': 25.0, 'Point 15': 26.0, 'Point 25': 29.0, 'Point 35': 34.0, 'Point 45': 41.0, 'Point 55': 50.0}
А после работы с n_jobs = 2:
{}
Помогите кто чем может, пожалуйста!