Interacting with asynchronous parallel tasks in IPython
In this recipe, we will show how to interact with asynchronous tasks running in parallel with ipyparallel.
Getting ready
You need to start the IPython engines (see the previous recipe). The simplest option is to launch them from the IPython Clusters tab in the Notebook dashboard. In this recipe, we use four engines.
How to do it...
Let's import a few modules:
>>> import sys import time import ipyparallel import ipywidgets from IPython.display import clear_output, displayWe create a client:
>>> rc = ipyparallel.Client()
Now, we create a load-balanced view on the IPython engines:
>>> view = rc.load_balanced_view()
We define a simple function for our parallel tasks:
>>> def f(x): import time time.sleep(.1) return x * xWe will run this function on
100integer numbers in parallel:>>> numbers = list(range(100))
We execute
fon our list numbers in parallel across all...