{ "cells": [ { "cell_type": "markdown", "metadata": { "nbpresent": { "id": "a1aca7c8-bd61-487a-bd0c-1766515a774d" } }, "source": [ "### Comparison of different methods" ] }, { "cell_type": "markdown", "metadata": { "nbpresent": { "id": "8c843e38-da91-4647-94f4-278908fe0c43" } }, "source": [ "The various codes that were used for calculation are- \n", "* code 1 : The FAST cluster calculation code called as subprocess from python\n", "* code 2 : Steinhardt module called as library from python\n", "* code 3 : Traj files read in through python and passed to steinhardt module called as library\n", "* code 4 : Traj files read in through memory mapped file and passed to steinhardt module called as library\n", "* code 5 : Python is used to split files which are read in through c++.\n", " \n", "They were tested on three different types of trajectories- \n", "* traj 1 : short 10 slice, 500 atom per snapshot trajectory\n", "* traj 2 : long 10000 slice, 500 atom per snapshot trajectory" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Performance for traj 1" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "scrolled": false }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "objects = ('code 1', 'code 2', 'code 3', 'code 4', 'code 5')\n", "y_pos = np.arange(len(objects))\n", "performance = [629,548,575,559,600]\n", " \n", "plt.bar(y_pos, performance, align='center', alpha=0.5,color='#880E4F')\n", "plt.xticks(y_pos, objects)\n", "plt.ylabel('Time (ms)')\n", "plt.title('Performance for traj 1')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Performance of traj 2" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "objects = ('code 1', 'code 2', 'code 3', 'code 4', 'code 5')\n", "y_pos = np.arange(len(objects))\n", "performance = [37,22,26,25,28]\n", " \n", "plt.bar(y_pos, performance, align='center', alpha=0.5,color='#880E4F')\n", "plt.xticks(y_pos, objects)\n", "plt.ylabel('Time (s)')\n", "plt.title('Performance for traj 2')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Implementing 'lazy' calculation with Dask" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dask is a python library which provides laptop-cluster scalable easy calculations. Dask also allows lazy objects, which prepare the recipe for calculations and then iplement it. Dask will show a lower memory footprint because of the delayed reading. It reads in just enough of the data." ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "import steinhardt as st\n", "import os\n", "import sys\n", "import subprocess as sub\n", "from dask import delayed" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "# function to read a file and calculate nucsize\n", "\n", "def getQTrajectory(filename):\n", " #create Steinhardt system objects\n", " sys = st.System()\n", " #set inout file and read it\n", " sys.set_inputfile(filename)\n", " sys.read_particle_file()\n", " #set nucsize parameters\n", " sys.set_neighbordistance(3.63)\n", " sys.set_nucsize_parameters(7,0.5,0.5)\n", " #now calculate nucsize\n", " nuc = sys.calculate_nucsize()\n", " return nuc" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "#function to calculate nucsuze over a traj\n", "\n", "def calculate_nuctraj(trajname,nop):\n", " x = []\n", " filename = trajname\n", " natoms=nop\n", " nblock = natoms+9\n", " startblock = 0\n", " count=1\n", " files = []\n", " #convert file to snaps\n", " with open(filename) as infile:\n", " for line in infile:\n", " if(count==1):\n", " ff = 'snap.'+str(startblock)+'.dat'\n", " files.append(ff)\n", " fout = open(ff,'w')\n", " fout.write(line)\n", " #count+=1\n", " elif(count\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mget_ipython\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun_cell_magic\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mu'timeit'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34mu''\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34mu'nucs = []\\nfor i in range(len(delayed_traj)):\\n nucs.append(delayed_traj[i].compute())'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/IPython/core/interactiveshell.pyc\u001b[0m in \u001b[0;36mrun_cell_magic\u001b[0;34m(self, magic_name, line, cell)\u001b[0m\n\u001b[1;32m 2115\u001b[0m \u001b[0mmagic_arg_s\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvar_expand\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mline\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstack_depth\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2116\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbuiltin_trap\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2117\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmagic_arg_s\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcell\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2118\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2119\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36mtimeit\u001b[0;34m(self, line, cell)\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/IPython/core/magic.pyc\u001b[0m in \u001b[0;36m\u001b[0;34m(f, *a, **k)\u001b[0m\n\u001b[1;32m 186\u001b[0m \u001b[0;31m# but it's overkill for just that one bit of state.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 187\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mmagic_deco\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 188\u001b[0;31m \u001b[0mcall\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mlambda\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 189\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 190\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mcallable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/IPython/core/magics/execution.pyc\u001b[0m in \u001b[0;36mtimeit\u001b[0;34m(self, line, cell)\u001b[0m\n\u001b[1;32m 1055\u001b[0m \u001b[0mnumber\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1056\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0m_\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m10\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1057\u001b[0;31m \u001b[0mtime_number\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtimer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtimeit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnumber\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1058\u001b[0m \u001b[0mworst_tuning\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmax\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mworst_tuning\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtime_number\u001b[0m \u001b[0;34m/\u001b[0m \u001b[0mnumber\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1059\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mtime_number\u001b[0m \u001b[0;34m>=\u001b[0m \u001b[0;36m0.2\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/IPython/core/magics/execution.pyc\u001b[0m in \u001b[0;36mtimeit\u001b[0;34m(self, number)\u001b[0m\n\u001b[1;32m 137\u001b[0m \u001b[0mgc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdisable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 138\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 139\u001b[0;31m \u001b[0mtiming\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minner\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mit\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtimer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 140\u001b[0m \u001b[0;32mfinally\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 141\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mgcold\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36minner\u001b[0;34m(_it, _timer)\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/dask/base.pyc\u001b[0m in \u001b[0;36mcompute\u001b[0;34m(self, **kwargs)\u001b[0m\n\u001b[1;32m 154\u001b[0m \u001b[0mdask\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbase\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcompute\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 155\u001b[0m \"\"\"\n\u001b[0;32m--> 156\u001b[0;31m \u001b[0;34m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcompute\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtraverse\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mFalse\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 157\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 158\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/dask/base.pyc\u001b[0m in \u001b[0;36mcompute\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 400\u001b[0m \u001b[0mkeys\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__dask_keys__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mcollections\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 401\u001b[0m \u001b[0mpostcomputes\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__dask_postcompute__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mcollections\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 402\u001b[0;31m \u001b[0mresults\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mschedule\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdsk\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkeys\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 403\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mrepack\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ma\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mzip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresults\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpostcomputes\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 404\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/distributed/client.pyc\u001b[0m in \u001b[0;36mget\u001b[0;34m(self, dsk, keys, restrictions, loose_restrictions, resources, sync, asynchronous, direct, retries, priority, fifo_timeout, **kwargs)\u001b[0m\n\u001b[1;32m 2191\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2192\u001b[0m results = self.gather(packed, asynchronous=asynchronous,\n\u001b[0;32m-> 2193\u001b[0;31m direct=direct)\n\u001b[0m\u001b[1;32m 2194\u001b[0m \u001b[0;32mfinally\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2195\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mf\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mfutures\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/distributed/client.pyc\u001b[0m in \u001b[0;36mgather\u001b[0;34m(self, futures, errors, maxsize, direct, asynchronous)\u001b[0m\n\u001b[1;32m 1566\u001b[0m return self.sync(self._gather, futures, errors=errors,\n\u001b[1;32m 1567\u001b[0m \u001b[0mdirect\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdirect\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlocal_worker\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlocal_worker\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1568\u001b[0;31m asynchronous=asynchronous)\n\u001b[0m\u001b[1;32m 1569\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1570\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mgen\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcoroutine\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/distributed/client.pyc\u001b[0m in \u001b[0;36msync\u001b[0;34m(self, func, *args, **kwargs)\u001b[0m\n\u001b[1;32m 651\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mfuture\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 652\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 653\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0msync\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mloop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 654\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 655\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__repr__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/distributed/utils.pyc\u001b[0m in \u001b[0;36msync\u001b[0;34m(loop, func, *args, **kwargs)\u001b[0m\n\u001b[1;32m 273\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 274\u001b[0m \u001b[0;32mwhile\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_set\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 275\u001b[0;31m \u001b[0me\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 276\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0merror\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 277\u001b[0m \u001b[0msix\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreraise\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0merror\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/threading.pyc\u001b[0m in \u001b[0;36mwait\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 612\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__cond\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 613\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__flag\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 614\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__cond\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 615\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__flag\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 616\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/threading.pyc\u001b[0m in \u001b[0;36mwait\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 357\u001b[0m \u001b[0;32mbreak\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 358\u001b[0m \u001b[0mdelay\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdelay\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mremaining\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m.05\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 359\u001b[0;31m \u001b[0m_sleep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdelay\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 360\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mgotit\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 361\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0m__debug__\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mKeyboardInterrupt\u001b[0m: " ] }, { "name": "stderr", "output_type": "stream", "text": [ "distributed.nanny - WARNING - Restarting worker\n", "distributed.nanny - WARNING - Restarting worker\n", "distributed.nanny - WARNING - Restarting worker\n", "distributed.nanny - WARNING - Restarting worker\n", "distributed.nanny - WARNING - Restarting worker\n", "distributed.nanny - WARNING - Restarting worker\n", "distributed.nanny - WARNING - Restarting worker\n", "distributed.nanny - WARNING - Restarting worker\n" ] } ], "source": [ "%%timeit\n", "nucs = []\n", "for i in range(len(delayed_traj)):\n", " nucs.append(delayed_traj[i].compute())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now comparing agaon for traj 1 with the dask implementation-" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "objects = ('code 1', 'code 2', 'code 3', 'code 4', 'code 5', 'Dask-serial')\n", "y_pos = np.arange(len(objects))\n", "performance = [629,548,575,559,600,253]\n", " \n", "plt.bar(y_pos, performance, align='center', alpha=0.5,color='#880E4F')\n", "plt.xticks(y_pos, objects)\n", "plt.ylabel('Time (ms)')\n", "plt.title('Performance for traj 1')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Dask clusters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dask can set up clusters for easy parallel calculations. There can be local clusters or clusters for various queuing systems like SUNGRID, SLURRM etc." ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "distributed.nanny - WARNING - Worker process still alive after 47 seconds, killing\n", "distributed.nanny - WARNING - Worker process 8003 was killed by signal 15\n" ] }, { "ename": "TimeoutError", "evalue": "Worker failed to start", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mTimeoutError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mdistributed\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mClient\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mLocalCluster\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mcluster\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mLocalCluster\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mclient\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mClient\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcluster\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mclient\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/distributed/deploy/local.pyc\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, n_workers, threads_per_worker, processes, loop, start, ip, scheduler_port, silence_logs, diagnostics_port, services, worker_services, service_kwargs, asynchronous, security, **worker_kwargs)\u001b[0m\n\u001b[1;32m 137\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mworker_kwargs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'security'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msecurity\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 138\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 139\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstart\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mip\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mip\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mn_workers\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mn_workers\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 140\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 141\u001b[0m \u001b[0mclusters_to_close\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/distributed/deploy/local.pyc\u001b[0m in \u001b[0;36mstart\u001b[0;34m(self, **kwargs)\u001b[0m\n\u001b[1;32m 167\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_started\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_start\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 168\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 169\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msync\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_start\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 170\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 171\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mgen\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcoroutine\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/distributed/deploy/local.pyc\u001b[0m in \u001b[0;36msync\u001b[0;34m(self, func, *args, **kwargs)\u001b[0m\n\u001b[1;32m 160\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mfuture\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 161\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 162\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0msync\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mloop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 163\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 164\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mstart\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/distributed/utils.pyc\u001b[0m in \u001b[0;36msync\u001b[0;34m(loop, func, *args, **kwargs)\u001b[0m\n\u001b[1;32m 275\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 276\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0merror\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 277\u001b[0;31m \u001b[0msix\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreraise\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0merror\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 278\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 279\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/distributed/utils.pyc\u001b[0m in \u001b[0;36mf\u001b[0;34m()\u001b[0m\n\u001b[1;32m 260\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mtimeout\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 261\u001b[0m \u001b[0mfuture\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgen\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwith_timeout\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtimedelta\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mseconds\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfuture\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 262\u001b[0;31m \u001b[0mresult\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32myield\u001b[0m \u001b[0mfuture\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 263\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mexc\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 264\u001b[0m \u001b[0merror\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msys\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexc_info\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/tornado/gen.pyc\u001b[0m in \u001b[0;36mrun\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1131\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1132\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1133\u001b[0;31m \u001b[0mvalue\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfuture\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1134\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mException\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1135\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhad_exception\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mTrue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/tornado/concurrent.pyc\u001b[0m in \u001b[0;36mresult\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 259\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_exc_info\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 260\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 261\u001b[0;31m \u001b[0mraise_exc_info\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_exc_info\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 262\u001b[0m \u001b[0;32mfinally\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 263\u001b[0m \u001b[0mself\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/tornado/gen.pyc\u001b[0m in \u001b[0;36mrun\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1139\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mexc_info\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1140\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1141\u001b[0;31m \u001b[0myielded\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgen\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mthrow\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mexc_info\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1142\u001b[0m \u001b[0;32mfinally\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1143\u001b[0m \u001b[0;31m# Break up a reference to itself\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/distributed/deploy/local.pyc\u001b[0m in \u001b[0;36m_start\u001b[0;34m(self, ip, n_workers)\u001b[0m\n\u001b[1;32m 187\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mscheduler\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstart\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mscheduler_address\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 188\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 189\u001b[0;31m \u001b[0;32myield\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_start_worker\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mworker_kwargs\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mn_workers\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 190\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 191\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstatus\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'running'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/tornado/gen.pyc\u001b[0m in \u001b[0;36mrun\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1131\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1132\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1133\u001b[0;31m \u001b[0mvalue\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfuture\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1134\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mException\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1135\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhad_exception\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mTrue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/tornado/concurrent.pyc\u001b[0m in \u001b[0;36mresult\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 259\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_exc_info\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 260\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 261\u001b[0;31m \u001b[0mraise_exc_info\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_exc_info\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 262\u001b[0m \u001b[0;32mfinally\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 263\u001b[0m \u001b[0mself\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/tornado/gen.pyc\u001b[0m in \u001b[0;36mcallback\u001b[0;34m(f)\u001b[0m\n\u001b[1;32m 881\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mf\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mchildren\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 882\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 883\u001b[0;31m \u001b[0mresult_list\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 884\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 885\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mfuture\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdone\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/tornado/concurrent.pyc\u001b[0m in \u001b[0;36mresult\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 259\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_exc_info\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 260\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 261\u001b[0;31m \u001b[0mraise_exc_info\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_exc_info\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 262\u001b[0m \u001b[0;32mfinally\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 263\u001b[0m \u001b[0mself\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/tornado/gen.pyc\u001b[0m in \u001b[0;36mrun\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1145\u001b[0m \u001b[0mexc_info\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1146\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1147\u001b[0;31m \u001b[0myielded\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgen\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1148\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1149\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mstack_context\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_state\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcontexts\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0morig_stack_contexts\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/users/menonsqr/anaconda2/lib/python2.7/site-packages/distributed/deploy/local.pyc\u001b[0m in \u001b[0;36m_start_worker\u001b[0;34m(self, death_timeout, **kwargs)\u001b[0m\n\u001b[1;32m 213\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mw\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstatus\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'closed'\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mscheduler\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstatus\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'running'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 214\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mworkers\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mremove\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mw\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 215\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mgen\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mTimeoutError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Worker failed to start\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 216\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 217\u001b[0m \u001b[0;32mraise\u001b[0m \u001b[0mgen\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mReturn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mw\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mTimeoutError\u001b[0m: Worker failed to start" ] } ], "source": [ "from distributed import Client, LocalCluster\n", "\n", "cluster = LocalCluster()\n", "client = Client(cluster)\n", "client" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Client is now a local cluster - it has 8 workers which are the individual cores of the computer" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "def wrapper_function(delayed_traj):\n", " nucs = []\n", " for i in range(len(delayed_traj)):\n", " nucs.append(delayed_traj[i].compute())\n", " return nucs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The above function is just used to wrap the delayed object calculation - this is required in order to submit the jobs to local cluster." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "del_traj = calculate_nuctraj('traj.light',500)\n", "jobs = client.submit(wrapper_function,del_traj)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Future: wrapper_function status: finished, type: list, key: wrapper_function-0303ade79a48f63032d26c2d36825d32" ], "text/plain": [ "" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "jobs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "jobs is Future function - it is not run yet, but scheduled in different clusters available in the system. Nothing is run yet - but everything is planned. A delayed object on future function." ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "100 loops, best of 3: 10.9 ms per loop\n" ] } ], "source": [ "%%timeit\n", "jj = jobs.result()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "results function calculated the results now - this ran really fast! of course, because it ran in parallel." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Compared to the **10.3 ms** used by the dask code, our python parallel implementation with the same cores took **450 ms**! " ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "del_traj = calculate_nuctraj('traj.long',500)\n", "jobs = client.submit(wrapper_function,del_traj)" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "100 loops, best of 3: 12.1 ms per loop\n" ] } ], "source": [ "%%timeit\n", "jj = jobs.result()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### On testing with the longer trajectory, dask took 10.1ms whereas the python implementation took 12 s!" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "objects = ('python mp - traj1', 'dask cluster - traj 1', 'python mp - traj2', 'dask cluster - traj 2')\n", "y_pos = np.arange(len(objects))\n", "performance = [10,450,12,1200]\n", " \n", "plt.bar(y_pos, performance, align='center', alpha=0.5,color='#880E4F')\n", "plt.xticks(y_pos, objects)\n", "plt.ylabel('Time (ms - traj1) (s- traj 2)')\n", "plt.title('Performance for traj 1')" ] } ], "metadata": { "kernelspec": { "display_name": "Python [Root]", "language": "python", "name": "Python [Root]" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.12" }, "nbpresent": { "slides": { "2895b545-a8e7-4805-87b2-d73c6764e920": { "id": "2895b545-a8e7-4805-87b2-d73c6764e920", "prev": "dbaf5877-fbcd-468e-8122-fe6b154e1f1a", "regions": { "3d209cbd-dd0a-411e-99c7-510e898196af": { "attrs": { "height": 0.8, "width": 0.8, "x": 0.1, "y": 0.1 }, "content": { "cell": "aa5b06c9-13d9-4898-9cb8-cc483880e309", "part": "whole" }, "id": "3d209cbd-dd0a-411e-99c7-510e898196af" } } }, "59a6bb65-d0fa-479b-a493-19e299f679c7": { "id": "59a6bb65-d0fa-479b-a493-19e299f679c7", "prev": null, "regions": { "dad17a3c-9379-4543-a457-7af7e8d85066": { "attrs": { "height": 0.8, "width": 0.8, "x": 0.1, "y": 0.1 }, "content": { "cell": "a1aca7c8-bd61-487a-bd0c-1766515a774d", "part": "whole" }, "id": "dad17a3c-9379-4543-a457-7af7e8d85066" } } }, "dbaf5877-fbcd-468e-8122-fe6b154e1f1a": { "id": "dbaf5877-fbcd-468e-8122-fe6b154e1f1a", "prev": "59a6bb65-d0fa-479b-a493-19e299f679c7", "regions": { "43e141d8-6937-4614-9329-9142bdc7577d": { "attrs": { "height": 0.8, "width": 0.8, "x": 0.1, "y": 0.1 }, "content": { "cell": "8c843e38-da91-4647-94f4-278908fe0c43", "part": "whole" }, "id": "43e141d8-6937-4614-9329-9142bdc7577d" } } } }, "themes": { "default": "95373924-e02f-43f9-b58c-77d971b996a4", "theme": { "95373924-e02f-43f9-b58c-77d971b996a4": { "backgrounds": { "dc7afa04-bf90-40b1-82a5-726e3cff5267": { "background-color": "31af15d2-7e15-44c5-ab5e-e04b16a89eff", "id": "dc7afa04-bf90-40b1-82a5-726e3cff5267" } }, "id": "95373924-e02f-43f9-b58c-77d971b996a4", "palette": { "19cc588f-0593-49c9-9f4b-e4d7cc113b1c": { "id": "19cc588f-0593-49c9-9f4b-e4d7cc113b1c", "rgb": [ 252, 252, 252 ] }, "31af15d2-7e15-44c5-ab5e-e04b16a89eff": { "id": "31af15d2-7e15-44c5-ab5e-e04b16a89eff", "rgb": [ 68, 68, 68 ] }, "50f92c45-a630-455b-aec3-788680ec7410": { "id": "50f92c45-a630-455b-aec3-788680ec7410", "rgb": [ 197, 226, 245 ] }, "c5cc3653-2ee1-402a-aba2-7caae1da4f6c": { "id": "c5cc3653-2ee1-402a-aba2-7caae1da4f6c", "rgb": [ 43, 126, 184 ] }, "efa7f048-9acb-414c-8b04-a26811511a21": { "id": "efa7f048-9acb-414c-8b04-a26811511a21", "rgb": [ 25.118061674008803, 73.60176211453744, 107.4819383259912 ] } }, "rules": { "a": { "color": "19cc588f-0593-49c9-9f4b-e4d7cc113b1c" }, "blockquote": { "color": "50f92c45-a630-455b-aec3-788680ec7410", "font-size": 3 }, "code": { "font-family": "Anonymous Pro" }, "h1": { "color": "19cc588f-0593-49c9-9f4b-e4d7cc113b1c", "font-family": "Merriweather", "font-size": 8 }, "h2": { "color": "19cc588f-0593-49c9-9f4b-e4d7cc113b1c", "font-family": "Merriweather", "font-size": 6 }, "h3": { "color": "50f92c45-a630-455b-aec3-788680ec7410", "font-family": "Lato", "font-size": 5.5 }, "h4": { "color": "c5cc3653-2ee1-402a-aba2-7caae1da4f6c", "font-family": "Lato", "font-size": 5 }, "h5": { "font-family": "Lato" }, "h6": { "font-family": "Lato" }, "h7": { "font-family": "Lato" }, "li": { "color": "50f92c45-a630-455b-aec3-788680ec7410", "font-size": 3.25 }, "pre": { "font-family": "Anonymous Pro", "font-size": 4 } }, "text-base": { "color": "19cc588f-0593-49c9-9f4b-e4d7cc113b1c", "font-family": "Lato", "font-size": 4 } } } } } }, "nbformat": 4, "nbformat_minor": 2 }