Verwenden der Map von multiprocessing.Pool in iPython Ich möchte es nicht so oft wie möglich verwenden, da Python ein Zombie wird, wenn der Kernel gestoppt wird. Parallelisieren Sie daher mit der Standardfunktion von iPython.
Hier ist die minimale Verwendung der Parallelisierung durch iPyhton. Weitere Informationen finden Sie unter [Paralleles Rechnen mit IPython].
Standardmäßig wurde das ipython notebook auf jupyter verschoben Sie müssen jetzt ipyparallel auf dem Cluster-Startbildschirm installieren. (Es wurde für eine lange Zeit migriert, aber ich werde es bis zu diesem Zeitpunkt 2016/1/19 hinzufügen)
Installationsbefehl
pip install ipyparallel
Darüber hinaus ist es nur wirksam, wenn die folgende Zeile zu jupyter_notebook_config.py hinzugefügt wird. .. ..
c.NotebookApp.server_extensions.append('ipyparallel.nbextension')
Obwohl sich jupyter_notebook_config.py in .jupyter in Ihrem Home-Verzeichnis befindet. .. .. .. Es scheint, dass es nicht standardmäßig generiert wird, es sei denn, Sie führen die folgende eine Zeile aus. .. ..
jupyter notebook --generate-config
Wählen Sie auf dem Bildschirm Cluster aus, wenn das iPython-Notebook gestartet wird. Stellen Sie die Anzahl der Motoren ein und starten Sie sie, die dem beim Starten des Notebooks angegebenen Profil entsprechen (siehe unten).
import numpy as np
from IPython import parallel
clients = parallel.Client()
#Synchrone Ausführung(Während der parallelen Berechnung wurde keine Kontrolle zurückgegeben)
clients.block = True
view = clients.load_balanced_view()
dview = clients[:]
#Cluster(Motor?)Überprüfen Sie die Anzahl der
print clients.ids
def func(n):
return np.arange(n)
#Cluster(Motor?)Numpy importieren
dview.execute('import numpy as np')
#Führen Sie func parallel aus
view.map(func, np.arange(3))
Recommended Posts