Usando multiprocesamiento para encontrar rutas de red

Actualmente estoy usando la función networkx * all_simple_paths * para encontrar todas las rutas dentro de una red G, para un conjunto dado de nodos de origen y destino.

En redes más grandes / densas, este proceso es increíblemente intensivo.

Me gustaría saber si es posible que se pueda usar multiprocesamiento en este problema, y ​​si alguien tiene alguna idea sobre cómo podría implementarse, mediante la creación de un Pool, etc.

import networkx as nx

G = nx.complete_graph(8)
sources = [1,2]
targets = [5,6,7]

for target in targets:
    for source in sources:
        for path in nx.all_simple_paths(G, source=source, target=target, cutoff=None):
            print(path)

Muchas gracias de antemano por cualquier sugerencia que pueda tener!

Respuestas a la pregunta(2)

Su respuesta a la pregunta