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, display
We 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 * x
We will run this function on
100
integer numbers in parallel:>>> numbers = list(range(100))
We execute
f
on our list numbers in parallel across all...