{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Using `ipyparallel`\n", "====\n", "\n", "Parallel execution is tightly integrated with Jupyter in the `ipyparallel` package. Install with\n", "\n", "```bash\n", "conda install ipyparallel\n", "ipcluster nbextension enable\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Official documentation](https://ipyparallel.readthedocs.org/en/latest/)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Starting engines" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will only use engines on local cores which does not require any setup - see [docs](https://ipyparallel.readthedocs.org/en/latest/process.html) for detailed instructions on how to set up a remote cluster, including setting up to use Amazon EC2 clusters.\n", "\n", "You can start a cluster on the `IPython Clusters` tab in the main Jupyter browser window or via the command line with\n", "\n", "```\n", "ipcluster start -n \n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The main advantage of developing parallel applications using `ipyparallel` is that it can be done interactively within Jupyter." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Basic concepts of `ipyparallel`" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from ipyparallel import Client" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The client connects to the cluster of \"remote\" engines that perfrom the actual computation. These engines may be on the same machine or on a cluster. " ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "rc = Client()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[0, 1, 2, 3]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rc.ids" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A view provides access to a subset of the engines available to the client. Jobs are submitted to the engines via the view. A direct view allows the user to explicitly send work specific engines. The load balanced view is like the `Pool` object in `multiprocessing`, and manages the scheduling and distribution of jobs for you." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Direct view**" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [], "source": [ "dv = rc[:]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Add 10 sets of 3 numbers in parallel using all engines." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dv.map_sync(lambda x, y, z: x + y + z, range(10), range(10), range(10))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Add 10 sets of 3 numbers in parallel using only alternate engines." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rc[::2].map_sync(lambda x, y, z: x + y + z, range(10), range(10), range(10))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Add 10 sets of 3 numbers using a specific engine." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rc[2].map_sync(lambda x, y, z: x + y + z, range(10), range(10), range(10))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Load balanced view**\n", "\n", "Use this when you have many jobs that take differnet amounts of time to complete." ] }, { "cell_type": "code", "execution_count": 75, "metadata": { "collapsed": true }, "outputs": [], "source": [ "lv = rc.load_balanced_view()" ] }, { "cell_type": "code", "execution_count": 80, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[50261.04884692176,\n", " 49966.438133877964,\n", " 49825.131766711958,\n", " 50131.890397676114,\n", " 49939.572135256865,\n", " 50162.518589135783,\n", " 50065.751713594087,\n", " 49922.903432015002,\n", " 49983.505820534752,\n", " 49942.245237953692]" ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lv.map_sync(lambda x: sum(x), np.random.random((10, 100000)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Calling functions with apply" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In contrast to `map`, `apply` is just a simple function call run on all remote engines, and has the usual function signature `apply(f, *args, **kwargs)`. It is a primitive on which other more useful functions (such as `map`) are built upon." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[25, 25]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rc[1:3].apply_sync(lambda x, y: x**2 + y**2, 3, 4)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[25, 25]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rc[1:3].apply_sync(lambda x, y: x**2 + y**2, x=3, y=4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Synchronous and asynchronous jobs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We have used the `map_sync` and `apply_sync` methods. The `sync` suffix indicate that we want to run a synchronous job. Synchronous jobs `block` until all the computation is done and return the result." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "res = dv.map_sync(lambda x, y, z: x + y + z, range(10), range(10), range(10))" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In contrast, asynchronous jobs return immediately so that you can do other work, but returns a `AsyncMapResult` object, similar to the `future` object returned by the `concurrent.futures` package. You can query its status, cancel running jobs and retrieve results once they have been computed." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "res = dv.map_async(lambda x, y, z: x + y + z, range(10), range(10), range(10))" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ ">" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res.done()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res.get()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is also a `map` method that by defulat uses asynchronous mode, but you can change this by setting the `blcok` attribute or function argument." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [], "source": [ "res = dv.map(lambda x, y, z: x + y + z, range(10), range(10), range(10))" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res.get()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Change blocking mode for just one job." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": true }, "outputs": [], "source": [ "res = dv.map(lambda x, y, z: x + y + z, range(10), range(10), range(10), block=True)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Change blocking mode for this view so that all jobs are synchronous." ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": true }, "outputs": [], "source": [ "dv.block = True" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": true }, "outputs": [], "source": [ "res = dv.map(lambda x, y, z: x + y + z, range(10), range(10), range(10))" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Remote function decorators " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `@remote` decorator results in functions that will execute simultaneously on all engines in a view. For example, you can use this decorator if you always want to run $n$ independent parallel MCMC chains." ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [], "source": [ "@dv.remote(block = True)\n", "def f1(n):\n", " return np.random.rand(n)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[array([ 0.14231309, 0.85848692, 0.49302051, 0.87264134]),\n", " array([ 0.80395014, 0.74717739, 0.23667959, 0.94655422]),\n", " array([ 0.72474235, 0.23430899, 0.55128161, 0.40699965]),\n", " array([ 0.47586201, 0.11789862, 0.63038679, 0.63673176])]" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f1(4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The @parallel decorator breaks up elementwise operations and distributes them." ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": true }, "outputs": [], "source": [ "@dv.parallel(block = True)\n", "def f2(x):\n", " return x" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[range(0, 4), range(4, 8), range(8, 12), range(12, 15)]" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f2(range(15))" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": true }, "outputs": [], "source": [ "@dv.parallel(block = True)\n", "def f3(x):\n", " return sum(x)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[6, 22, 38, 39]" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f3(range(15))" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": true }, "outputs": [], "source": [ "@dv.parallel(block = True)\n", "def f4(x, y):\n", " return x + y" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18])" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f4(np.arange(10), np.arange(10))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Example: Use the `@parallel` decorator to speed up Mandelbrot calculations" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def mandel1(x, y, max_iters=80):\n", " c = complex(x, y)\n", " z = 0.0j\n", " for i in range(max_iters):\n", " z = z*z + c\n", " if z.real*z.real + z.imag*z.imag >= 4:\n", " return i\n", " return max_iters" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": true }, "outputs": [], "source": [ "@dv.parallel(block = True)\n", "def mandel2(x, y, max_iters=80):\n", " c = complex(x, y)\n", " z = 0.0j\n", " for i in range(max_iters):\n", " z = z*z + c\n", " if z.real*z.real + z.imag*z.imag >= 4:\n", " return i\n", " return max_iters" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": true }, "outputs": [], "source": [ "x = np.arange(-2, 1, 0.01)\n", "y = np.arange(-1, 1, 0.01)\n", "X, Y = np.meshgrid(x, y)" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 1.02 s, sys: 5.2 ms, total: 1.02 s\n", "Wall time: 1.02 s\n" ] } ], "source": [ "%%time\n", "im1 = np.reshape(list(map(mandel1, X.ravel(), Y.ravel())), (len(y), len(x)))" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 28.2 ms, sys: 8.84 ms, total: 37 ms\n", "Wall time: 408 ms\n" ] } ], "source": [ "%%time\n", "im2 = np.reshape(mandel2.map(X.ravel(), Y.ravel()), (len(y), len(x)))" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(1, 2, figsize=(12, 4))\n", "axes[0].grid(False)\n", "axes[0].imshow(im1, cmap='jet')\n", "axes[1].grid(False)\n", "axes[1].imshow(im2, cmap='jet')\n", "pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Functions with dependencies" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Modules imported locally are NOT available in the remote engines." ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import time\n", "import datetime" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def g1(x):\n", " time.sleep(0.1)\n", " now = datetime.datetime.now()\n", " return (now, x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This fails with an Exception because the `time` and `datetime` modules are not imported in the remote engines.\n", "\n", "```python\n", "dv.map_sync(g1, range(10))\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The simplest fix is to import the module(s) *within* the function" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def g2(x):\n", " import time, datetime\n", " time.sleep(0.1)\n", " now = datetime.datetime.now()\n", " return (now, x)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[(datetime.datetime(2016, 4, 9, 11, 54, 40, 389541), 0),\n", " (datetime.datetime(2016, 4, 9, 11, 54, 40, 493559), 1),\n", " (datetime.datetime(2016, 4, 9, 11, 54, 40, 388099), 2),\n", " (datetime.datetime(2016, 4, 9, 11, 54, 40, 389526), 3),\n", " (datetime.datetime(2016, 4, 9, 11, 54, 40, 389520), 4)]" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dv.map_sync(g2, range(5))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Alternatively, you can simultaneously import both locally and in the remote engines with the `sycn_import` context manager." ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "importing time on engine(s)\n", "importing datetime on engine(s)\n" ] } ], "source": [ "with dv.sync_imports():\n", " import time\n", " import datetime" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now the `g1` function will work." ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[(datetime.datetime(2016, 4, 9, 11, 54, 40, 645512), 0),\n", " (datetime.datetime(2016, 4, 9, 11, 54, 40, 749825), 1),\n", " (datetime.datetime(2016, 4, 9, 11, 54, 40, 641631), 2),\n", " (datetime.datetime(2016, 4, 9, 11, 54, 40, 641632), 3),\n", " (datetime.datetime(2016, 4, 9, 11, 54, 40, 642624), 4)]" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dv.map_sync(g1, range(5))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, there is also a `require` decorator that can be used. This will force the remote engine to import all packages given." ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from ipyparallel import require" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "collapsed": false }, "outputs": [], "source": [ "@require('scipy.stats')\n", "def g3(x):\n", " return scipy.stats.norm(0,1).pdf(x)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[0.0044318484119380075,\n", " 0.053990966513188063,\n", " 0.24197072451914337,\n", " 0.3989422804014327,\n", " 0.24197072451914337,\n", " 0.053990966513188063,\n", " 0.0044318484119380075]" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dv.map(g3, np.arange(-3, 4))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Moving data around" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can send data to remote engines with `push` and retrieve them with `pull`, or using the dictionary interface. For example, you can use this to distribute a large lookup table to all engines once instead of repeatedly as a function argument." ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[None, None, None, None]" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dv.push(dict(a=3, b=2))" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def f(x):\n", " global a, b\n", " return a*x + b" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[2, 5, 8, 11, 14]" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dv.map_sync(f, range(5))" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[[3, 2], [3, 2], [3, 2], [3, 2]]" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dv.pull(('a', 'b'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### You can also use the dictionary interface as an alternative to push and pull" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "collapsed": false }, "outputs": [], "source": [ "dv['c'] = 5" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[3, 3, 3, 3]" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dv['a']" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[5, 5, 5, 5]" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dv['c']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Working with compiled code" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Numba" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using `numba.jit` is straightforward." ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "importing numba on engine(s)\n" ] } ], "source": [ "with dv.sync_imports():\n", " import numba" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "collapsed": true }, "outputs": [], "source": [ "@numba.jit\n", "def f_numba(x):\n", " return np.sum(x)" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[1.4260310583057128,\n", " 2.743483501632218,\n", " 3.009397757283332,\n", " 1.145951696998727,\n", " 1.7508418471631069,\n", " 2.75037418092905]" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dv.map(f_numba, np.random.random((6, 4)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Cython" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We need to do some extra work to make sure the shared libary compiled with cython is available to the remote engines:\n", "\n", "- Compile a `named` shared module with the `-n` flag\n", "- Use `np.ndarray[dtype, ndim]` in place of memroy views\n", " - for example, double[:] becomes np.ndarray[np.float64_t, ndim=1]\n", "- Move the shared library to the `site-packages` directory\n", " - Cython magic moules can be found in `~/.ipython/cython`\n", "- Import the modules remtoely in the usual ways" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%load_ext cython" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%%cython -n cylib\n", "\n", "import cython\n", "import numpy as np\n", "cimport numpy as np\n", "\n", "@cython.boundscheck(False)\n", "@cython.wraparound(False)\n", "def f(np.ndarray[np.float64_t, ndim=1] x):\n", " x.setflags(write=True)\n", " cdef int i\n", " cdef int n = x.shape[0]\n", " cdef double s = 0\n", "\n", " for i in range(n):\n", " s += x[i]\n", " return s" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Copy the compiled module in `site-packages` so that the remote engines can import it" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'/Users/cliburn/anaconda2/envs/p3/lib/python3.5/site-packages/cylib.cpython-35m-darwin.so'" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import site\n", "import shutil\n", "src = glob.glob(os.path.join(os.path.expanduser('~/'), '.ipython', 'cython', 'cylib*so'))[0]\n", "dst = site.getsitepackages()[0]\n", "shutil.copy(src, dst)" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "importing cylib on engine(s)\n" ] } ], "source": [ "with dv.sync_imports():\n", " import cylib" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using parallel magic commands\n", "----\n", "\n", "In practice, most users will simply use the `%px` magic to execute code in parallel from within the notebook. This is the simplest way to use `ipyparallel`." ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[2.017269882929705,\n", " 2.0551330836787485,\n", " 1.7354664085414502,\n", " 3.2959252645109527,\n", " 1.6032104169868933,\n", " 0.265696865060396]" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dv.map(cylib.f, np.random.random((6, 4)))" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "### %px" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This sends the command to all targeted engines." ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "\u001b[0;31mOut[0:2]: \u001b[0m2.9214397362530504" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "\u001b[0;31mOut[1:2]: \u001b[0m1.2663235592392268" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "\u001b[0;31mOut[2:2]: \u001b[0m1.6476882945611011" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "\u001b[0;31mOut[3:2]: \u001b[0m2.5324941555165084" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%px a = np.random.random(4)\n", "%px a.sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### List comprehensions in parallel" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `scatter` method partitions and distributes data to all engines. The `gather` method does the reverse. Together with `%px`, we can simulate parallel list comprehensions." ] }, { "cell_type": "code", "execution_count": 72, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[stdout:0] [5 9 2]\n", "[stdout:1] [5 9 5]\n", "[stdout:2] [2 7]\n", "[stdout:3] [6 4]\n" ] } ], "source": [ "dv.scatter('a', np.random.randint(0, 10, 10))\n", "%px print(a)" ] }, { "cell_type": "code", "execution_count": 73, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([5, 9, 2, 5, 9, 5, 2, 7, 6, 4])" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dv.gather('a')" ] }, { "cell_type": "code", "execution_count": 74, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144,\n", " 169, 196, 225, 256, 289, 324, 361, 400, 441, 484, 529])" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dv.scatter('xs', range(24))\n", "%px y = [x**2 for x in xs]\n", "np.array(dv.gather('y'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Running magic functions in parallel" ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[output:1]" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nPWNcAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": { "engine": 1 }, "output_type": "display_data" }, { "data": { "text/plain": [ "[output:3]" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": { "engine": 3 }, "output_type": "display_data" } ], "source": [ "%%px --target [1,3]\n", "%matplotlib inline\n", "import seaborn as sns\n", "x = np.random.normal(np.random.randint(-10, 10), 1, 100)\n", "sns.kdeplot(x);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Running in non-blcoking mode" ] }, { "cell_type": "code", "execution_count": 64, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%px --target [1,3] --noblock\n", "%matplotlib inline\n", "import seaborn as sns\n", "x = np.random.normal(np.random.randint(-10, 10), 1, 100)\n", "sns.kdeplot(x);" ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[output:1]" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nQogQ8r/TbSJ4vkLcYAAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": { "engine": 1 }, "output_type": "display_data" }, { "data": { "text/plain": [ "[output:3]" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": { "engine": 3 }, "output_type": "display_data" } ], "source": [ "%pxresult" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Interacting with individual enggines" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can interact with individual engines by calling the %qtconsole on each engine." ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%px %qtconsole" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Try looking at some of the variables defined in earlier cells - e..g `a`, `x`, `y` etc. Change the values directly in the console, then pull back into the notebook interface. Are the changes made preserved?" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.1" } }, "nbformat": 4, "nbformat_minor": 0 }