Для C ++ мы можем использовать OpenMP для параллельного программирования; однако OpenMP не будет работать с Python. Что мне делать, если я хочу распараллелить некоторые части моей программы на Python?
Структуру кода можно рассматривать как:
solve1(A)
solve2(B)
Где solve1
и solve2
две независимые функции. Как запустить такой код параллельно, а не последовательно, чтобы сократить время выполнения? Код такой:
def solve(Q, G, n):
i = 0
tol = 10 ** -4
while i < 1000:
inneropt, partition, x = setinner(Q, G, n)
outeropt = setouter(Q, G, n)
if (outeropt - inneropt) / (1 + abs(outeropt) + abs(inneropt)) < tol:
break
node1 = partition[0]
node2 = partition[1]
G = updateGraph(G, node1, node2)
if i == 999:
print "Maximum iteration reaches"
print inneropt
Где setinner
и setouter
две независимые функции. Вот где я хочу провести параллель ...