{ "metadata": { "name": "", "signature": "sha256:1e9336d35cc07875300c5b876df6ce1f1971c2ee94870788c6ea32bbb789c42b" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "<img src=\"../images/ipython_logo.png\">" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Back to the main [Index](../Index.ipynb)" ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Parallel Computing" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "IPython includes an architecture and library for interactive parallel computing. The enables Python functions, along with their arguments, to be run in parallel a multicore CPU, cluster or cloud using a simple Python API." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Tutorials" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* [Data Publication API](Data Publication API.ipynb) " ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Examples" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* [Monitoring an MPI Simulation - 1](Monitoring an MPI Simulation - 1.ipynb)\n", "* [Monitoring an MPI Simulation - 2](Monitoring an MPI Simulation - 2.ipynb)\n", "* [Parallel Decorator and map](Parallel Decorator and map.ipynb)\n", "* [Parallel Magics](Parallel Magics.ipynb)\n", "* [Using Dill](Using Dill.ipynb)\n", "* [Using MPI with IPython Parallel](Using MPI with IPython Parallel.ipynb)\n", "* [Monte Carlo Options](Monte Carlo Options.ipynb)" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Non-notebook examples" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This directory also contains examples that are regular Python (`.py`) files." ] }, { "cell_type": "code", "collapsed": false, "input": [ "%run ../utils/list_pyfiles.ipy" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "<a href='customresults.py' target='_blank'>customresults.py</a><br>" ], "metadata": {}, "output_type": "display_data", "text": [ "/Users/bgranger/Documents/Computing/IPython/code/ipython/examples/Parallel Computing/customresults.py" ] }, { "html": [ "<a href='dagdeps.py' target='_blank'>dagdeps.py</a><br>" ], "metadata": {}, "output_type": "display_data", "text": [ "/Users/bgranger/Documents/Computing/IPython/code/ipython/examples/Parallel Computing/dagdeps.py" ] }, { "html": [ "<a href='dependencies.py' target='_blank'>dependencies.py</a><br>" ], "metadata": {}, "output_type": "display_data", "text": [ "/Users/bgranger/Documents/Computing/IPython/code/ipython/examples/Parallel Computing/dependencies.py" ] }, { "html": [ "<a href='fetchparse.py' target='_blank'>fetchparse.py</a><br>" ], "metadata": {}, "output_type": "display_data", "text": [ "/Users/bgranger/Documents/Computing/IPython/code/ipython/examples/Parallel Computing/fetchparse.py" ] }, { "html": [ "<a href='iopubwatcher.py' target='_blank'>iopubwatcher.py</a><br>" ], "metadata": {}, "output_type": "display_data", "text": [ "/Users/bgranger/Documents/Computing/IPython/code/ipython/examples/Parallel Computing/iopubwatcher.py" ] }, { "html": [ "<a href='itermapresult.py' target='_blank'>itermapresult.py</a><br>" ], "metadata": {}, "output_type": "display_data", "text": [ "/Users/bgranger/Documents/Computing/IPython/code/ipython/examples/Parallel Computing/itermapresult.py" ] }, { "html": [ "<a href='nwmerge.py' target='_blank'>nwmerge.py</a><br>" ], "metadata": {}, "output_type": "display_data", "text": [ "/Users/bgranger/Documents/Computing/IPython/code/ipython/examples/Parallel Computing/nwmerge.py" ] }, { "html": [ "<a href='phistogram.py' target='_blank'>phistogram.py</a><br>" ], "metadata": {}, "output_type": "display_data", "text": [ "/Users/bgranger/Documents/Computing/IPython/code/ipython/examples/Parallel Computing/phistogram.py" ] }, { "html": [ "<a href='task_profiler.py' target='_blank'>task_profiler.py</a><br>" ], "metadata": {}, "output_type": "display_data", "text": [ "/Users/bgranger/Documents/Computing/IPython/code/ipython/examples/Parallel Computing/task_profiler.py" ] }, { "html": [ "<a href='throughput.py' target='_blank'>throughput.py</a><br>" ], "metadata": {}, "output_type": "display_data", "text": [ "/Users/bgranger/Documents/Computing/IPython/code/ipython/examples/Parallel Computing/throughput.py" ] } ], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "More substantial examples can be found in subdirectories:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%run ../utils/list_subdirs.ipy" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "daVinci Word Count/<br>\n", " <a href='daVinci Word Count/pwordfreq.py' target='_blank'>pwordfreq.py</a><br>\n", " <a href='daVinci Word Count/wordfreq.py' target='_blank'>wordfreq.py</a><br>" ], "metadata": {}, "output_type": "display_data", "text": [ "daVinci Word Count/\n", " pwordfreq.py\n", " wordfreq.py" ] }, { "html": [ "interengine/<br>\n", " <a href='interengine/bintree.py' target='_blank'>bintree.py</a><br>\n", " <a href='interengine/bintree_script.py' target='_blank'>bintree_script.py</a><br>\n", " <a href='interengine/communicator.py' target='_blank'>communicator.py</a><br>\n", " <a href='interengine/interengine.py' target='_blank'>interengine.py</a><br>" ], "metadata": {}, "output_type": "display_data", "text": [ "interengine/\n", " bintree.py\n", " bintree_script.py\n", " communicator.py\n", " interengine.py" ] }, { "html": [], "metadata": {}, "output_type": "display_data", "text": [] }, { "html": [ "pi/<br>\n", " <a href='pi/parallelpi.py' target='_blank'>parallelpi.py</a><br>\n", " <a href='pi/pidigits.py' target='_blank'>pidigits.py</a><br>" ], "metadata": {}, "output_type": "display_data", "text": [ "pi/\n", " parallelpi.py\n", " pidigits.py" ] }, { "html": [ "rmt/<br>\n", " <a href='rmt/rmt.ipy' target='_blank'>rmt.ipy</a><br>\n", " <a href='rmt/rmt.ipynb' target='_blank'>rmt.ipynb</a><br>\n", " <a href='rmt/rmtkernel.py' target='_blank'>rmtkernel.py</a><br>" ], "metadata": {}, "output_type": "display_data", "text": [ "rmt/\n", " rmt.ipy\n", " rmt.ipynb\n", " rmtkernel.py" ] }, { "html": [ "wave2D/<br>\n", " <a href='wave2D/communicator.py' target='_blank'>communicator.py</a><br>\n", " <a href='wave2D/parallelwave-mpi.py' target='_blank'>parallelwave-mpi.py</a><br>\n", " <a href='wave2D/parallelwave.py' target='_blank'>parallelwave.py</a><br>\n", " <a href='wave2D/RectPartitioner.py' target='_blank'>RectPartitioner.py</a><br>\n", " <a href='wave2D/wavesolver.py' target='_blank'>wavesolver.py</a><br>" ], "metadata": {}, "output_type": "display_data", "text": [ "wave2D/\n", " communicator.py\n", " parallelwave-mpi.py\n", " parallelwave.py\n", " RectPartitioner.py\n", " wavesolver.py" ] }, { "html": [ "workflow/<br>\n", " <a href='workflow/client.py' target='_blank'>client.py</a><br>\n", " <a href='workflow/job_wrapper.py' target='_blank'>job_wrapper.py</a><br>\n", " <a href='workflow/wmanager.py' target='_blank'>wmanager.py</a><br>" ], "metadata": {}, "output_type": "display_data", "text": [ "workflow/\n", " client.py\n", " job_wrapper.py\n", " wmanager.py" ] } ], "prompt_number": 2 } ], "metadata": {} } ] }