Алгоритм, который я хотел бы распараллелить, имеет следующую логику c:
initiliaze weight
for i <- 1 to n do
work on w to get a reward r // r <- f(w)
update w
return r
Например:
def test():
w = [1, 1, 1, 1]
for i in range(10):
if i % 2 == 0:
w = [x + 1 for x in w]
return sum(w)
Я не знаю, как распараллелить для циклов когда в каждой итерации l oop выполняется какое-то обновление.
Я пытался сделать следующее:
def g(w, i):
if i % 2 == 0:
w = [x + 1 for x in w]
return sum(w)
w = [1, 1, 1, 1]
Parallel(n_jobs=-1)(delayed(g)(w, i) for i in range(10))