Im essayant de comprendre comment faire le traitement distribué avec ipyparallel et cahier de jupyter, ainsi j'ai fait un certain essai et ai obtenu des résultats impairs.ipyparallel comportement aérien étrange
from ipyparallel import Client
%px import numpy as np
rc = Client()
dview = rc[:]
bview = rc.load_balanced_view()
print(len(dview))
print(len(bview))
data = [np.random.rand(10000)] * 4
%time np.sin(data)
%%time #45.7ms
results = dview.map(np.sin, data)
results.get()
%%time #110ms
dview.push({'data': data})
%px results = np.sin(data)
results
%%time #4.9ms
results = np.sin(data)
results
%%time #93ms
results = bview.map(np.sin, data)
results.get()
Quel est le problème avec le surdébit? Est-ce que la tâche est liée dans ce cas et qu'un seul noyau peut le faire mieux? J'ai essayé des tableaux plus grands et j'ai quand même obtenu de meilleurs temps sans traitement parallèle.
Merci pour le conseil!
Il fonctionne sur la machine locale. les nœuds ne sont que des moteurs fonctionnant sur la même machine. –
Mais Ipyparallel utilise toujours le protocole ZeroMQ. Théoriquement, vous devriez être capable de l'accélérer en utilisant MPI. –