J'apprends le calcul parallèle dans ipython. Je suis tombé sur un exemple,passer différents arguments pour les clients parallèles ipython
from ipyparallel import Client
rc = Client()
rc.block = True
print(rc.ids)
def mul(a,b):
return a*b
dview = rc[:]
print(dview.apply(mul, 5, 6))
print(rc[0].apply(mul, 5, 5))
print(rc[1].apply(mul, 5, 9))
Dans le code ci-dessus, lorsque dview.apply
est appelé, il passe le même ensemble d'arguments pour tous les clients. J'ai appris à appeler chaque client séparément. Mais si les clients doivent effectuer des tâches exigeant beaucoup de données, existe-t-il un moyen de passer des arguments différents à travers dview.apply
puisque c'est plutôt le point de faire un calcul parallèle.
S'il n'y a pas d'autre moyen, pouvons-nous rendre chaque appel client asynchrone, de sorte que les tâches seront effectuées parallèlement au lieu d'attendre les résultats du premier client lorsque des clients individuels sont appelés?