Last active
May 12, 2021 14:42
-
-
Save rjzamora/f6069a6ceb6994407f11009847cc1d22 to your computer and use it in GitHub Desktop.
Simple examples of the Dataframe-based workflows targeted by the ongoing Scheduler-optimization project.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "id": "3c3b6f55-09f0-4fb1-9c1a-4ec0b4bcc9fb", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "import pickle\n", | |
| "import dask\n", | |
| "from dask.datasets import timeseries\n", | |
| "import dask.dataframe as dd\n", | |
| "\n", | |
| "def get_ddf(big=False):\n", | |
| " if big:\n", | |
| " return timeseries(\n", | |
| " start=\"2000-01-01\",\n", | |
| " end=\"2002-01-01\",\n", | |
| " freq=\"120s\",\n", | |
| " partition_freq=\"1h\",\n", | |
| " seed=42,\n", | |
| " )\n", | |
| " return timeseries(\n", | |
| " start=\"2000-01-01\",\n", | |
| " end=\"2000-01-02\",\n", | |
| " freq=\"120s\",\n", | |
| " partition_freq=\"12h\",\n", | |
| " seed=42,\n", | |
| " )" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "92508e86-eb29-4a74-9eb1-2faf07ad027a", | |
| "metadata": {}, | |
| "source": [ | |
| "### Shuffle Example\n", | |
| "\n", | |
| "#### [Dask-2.30] Client Computation & Communication Measurements\n", | |
| "\n", | |
| "Construct HLG for a timeseries + shuffle\n", | |
| "\n", | |
| "```\n", | |
| "%time ddf = get_ddf(big=True).shuffle(\"id\", shuffle=\"tasks\").head(compute=False)\n", | |
| "\n", | |
| "CPU times: user 3.69 s, sys: 321 ms, total: 4.01 s\n", | |
| "Wall time: 4.01 s\n", | |
| "```\n", | |
| "\n", | |
| "Optimize the HLG\n", | |
| "\n", | |
| "```\n", | |
| "%time ddf_opt, = dask.optimize(ddf)\n", | |
| "\n", | |
| "CPU times: user 1.24 s, sys: 66 ms, total: 1.31 s\n", | |
| "Wall time: 1.3 s\n", | |
| "```\n", | |
| "\n", | |
| "Estimate serialization time\n", | |
| "\n", | |
| "```\n", | |
| "%%time\n", | |
| "\n", | |
| "total = 0\n", | |
| "for k, v in ddf_opt.__dask_graph__().items():\n", | |
| " total += len(pickle.dumps(k)) + len(pickle.dumps(v))\n", | |
| "\n", | |
| "CPU times: user 459 ms, sys: 8.78 ms, total: 468 ms\n", | |
| "Wall time: 467 ms\n", | |
| "```\n", | |
| "\n", | |
| "\n", | |
| "Estimate time to ship the graph to the scheduler\n", | |
| "\n", | |
| "```\n", | |
| "dask.utils.format_bytes(total)\n", | |
| "\n", | |
| "'58.68 MB'\n", | |
| "```\n", | |
| "\n", | |
| "Which is ~587ms at 100 MB/s" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "0c032bc0-fbb6-4165-b91d-cd3518073f41", | |
| "metadata": {}, | |
| "source": [ | |
| "#### [NOW] Client Computation & Communication Measurements\n", | |
| "\n", | |
| "Construct HLG for a timeseries + shuffle" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "id": "3200c67f-c11c-4c4c-ae0d-e207a718dd68", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "CPU times: user 357 ms, sys: 28 ms, total: 385 ms\n", | |
| "Wall time: 384 ms\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "%time ddf = get_ddf(big=True).shuffle(\"id\", shuffle=\"tasks\").head(compute=False)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "8b96e249-ea9c-46fd-9005-6375d09d3d94", | |
| "metadata": {}, | |
| "source": [ | |
| "Optimize the HLG" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "id": "c4c5ef1e-32bc-475d-a513-a75d66683acf", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "CPU times: user 81.7 ms, sys: 9.05 ms, total: 90.7 ms\n", | |
| "Wall time: 89.2 ms\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "%time ddf_opt, = dask.optimize(ddf)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "1f3a56d8-be3a-4099-968b-8fe8547e7519", | |
| "metadata": {}, | |
| "source": [ | |
| "Estimate serialization time" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "id": "d0f846da-73f1-491a-b51f-72e46be63add", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "CPU times: user 239 ms, sys: 75.4 ms, total: 315 ms\n", | |
| "Wall time: 372 ms\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "%%time\n", | |
| "\n", | |
| "total = 0\n", | |
| "for k, v in ddf_opt.__dask_graph__().__dask_distributed_pack__(None, None).items():\n", | |
| " total += len(pickle.dumps(k)) + len(pickle.dumps(v))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "1098e5b3-3909-4c14-a071-968de6539fa1", | |
| "metadata": {}, | |
| "source": [ | |
| "Estimate time to ship the graph to the scheduler" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 5, | |
| "id": "1cd3e403-187b-44e0-a6b3-da65ce57c197", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "'43.25 MiB'" | |
| ] | |
| }, | |
| "execution_count": 5, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "dask.utils.format_bytes(total)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "120c1666-6a50-46c1-bfb0-8429364359db", | |
| "metadata": {}, | |
| "source": [ | |
| "Which is ~433ms at 100 MB/s" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "2cb826ab-ed11-4987-aae9-665e7c8a42f8", | |
| "metadata": {}, | |
| "source": [ | |
| "#### Sample Code" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 6, | |
| "id": "fab483a2-7c99-40f7-9eb4-60aa60e31d63", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "ddf = get_ddf().set_index(\"id\", shuffle=\"tasks\") # `set_index` uses `shuffle`" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "2a3c5f87-4fa2-4a4c-9bf2-44c6032bfdbc", | |
| "metadata": {}, | |
| "source": [ | |
| "**Unoptimized LLG**" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 7, | |
| "id": "286f0ad6-d092-49cc-b6a3-2ced525e4cdb", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<IPython.core.display.Image object>" | |
| ] | |
| }, | |
| "execution_count": 7, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "ddf.visualize(verbose=False, size=\"10\", rankdir=\"LR\", optimize_graph=False)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "cc2c53cf-9121-44de-8bec-2ac54f10ba52", | |
| "metadata": {}, | |
| "source": [ | |
| "**Unoptimized HLG**" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 8, | |
| "id": "0dd1859f-347a-4f62-bb72-1fd3b8d54f2a", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<IPython.core.display.Image object>" | |
| ] | |
| }, | |
| "execution_count": 8, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "ddf.dask.visualize(rankdir=\"LR\", size=\"10\", format=\"png\")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "915f99b2-3a46-4d66-90d2-576f8a1225d1", | |
| "metadata": {}, | |
| "source": [ | |
| "**Optimized LLG**" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 9, | |
| "id": "e7841781-5397-4d78-a215-55d97f20d0e2", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<IPython.core.display.Image object>" | |
| ] | |
| }, | |
| "execution_count": 9, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "ddf.visualize(verbose=False, size=\"10\", rankdir=\"LR\", optimize_graph=True)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "9405544d-ca2a-4f82-bca3-a1ecf566b1e3", | |
| "metadata": {}, | |
| "source": [ | |
| "**Optimized HLG**" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 10, | |
| "id": "ce4c279c-f151-4036-b09f-ced6ee295dd3", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<IPython.core.display.Image object>" | |
| ] | |
| }, | |
| "execution_count": 10, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "dsk = dd.optimize(ddf.dask, ddf.__dask_keys__())\n", | |
| "dsk.visualize(rankdir=\"LR\", size=\"10\", format=\"png\")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "52ef74ce-0249-4cea-bbc0-af0a58e1482d", | |
| "metadata": {}, | |
| "source": [ | |
| "**Optimized LLG with `head`**\n", | |
| "\n", | |
| "LLG optimizations include graph culling, which reduces the graph size when we do something like `head`" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 11, | |
| "id": "daac3719-fcb1-4bd7-bd85-2c05925c5f19", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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iori4+M9PDy62/mx/f4/G0lJSZMmTaJQKBQKZcKECRQKhXrN5GftD4KAgMBAT71cXV3Hjx8/a9as6OhoVl5vYdSoUXPnzr1+/Xr3GUJ7e7uwsPAgmup15vOzEyfqGde2bduio6NxONydO3d+1kL/52YDPTH7sf2eJ2YYhjH53ExYWLi9vX1wrwUAAMCy+H79FAzDMKyiomL16tVpaWkEAmHFihWurq5OTk7z589fsGCBh4eHubl5z39SX1JQULBixQoxMbFly5a5u7tTH5w9ezb11iVatquor69fs2YN7d9MQUEBhmEEAqGoqKioqCghIYGfn3/79u2M3omwqalpQDnr6uowDGttbc3Pz8/Pz3/06JGoqKinp+eiRYsGF6DPt3rOnDkjR46MjY01NTUdPnz4woULm5ubey792z3+PWPGDOr+7ZMnT165cuXLly8nTJjw5MmTH48phmEzZ85UUVFRUVFRV1efPHkyhmHd+7/0bOeff/6hPpidnX39+vXr169Ta19bW9vw8PA+2+/52egzZ596td/c3DzoEUQBAYFv377Fxsb2fIQ6MPkzgoKCX758KS8vT05O3r9//9ixY0kk0tB3Y6E7ERGRV69evXv3TllZedSoUc7OzgQCYXDnbNQzHw8Pj+7vMTMz8/Xr1xQKZdGiRb1+1kJCQry9vaOiovpvgaqgoODVq1fl5eWLFi2Kj49XUlKaO3fu3Llz+2y/+8SptrZ29erVxsbGfbafkZGRnZ398uVLIpFoampqZWX143eUlJRkaGiYmpqKYZienl5GRsYvu6DdIC5rAAAAYH20FtD37t2bNGnS48eP7969e+3aNXl5+StXrhAIhEWLFi1dulRfX7/nP6kjW2PGjImJifn9999fvnzZvSDdgAoLSUnJixcv0v78tWvXUv/4ycjI4PH45cuX6+rqds8QYBxxcfGIiAjanz9jxgwMw3h4eBQVFfF4vJmZmZSU1FBuWurzraZ+45qamuHh4atWrUpJSREVFZWRkUlPT29ubn716lX33IPExETq+sdpaWlpaWkSEhLUx388pliPI/jjoezZzp49e6gP6ujoWFhYBAQESElJUR+5cOHCj+3z8PD0bLDPnH36sf1BI5FIQkJCwsLCbW1t1Ec6Ozt/HJNua2vrLom6i/vOzs62traioiI+Pr7KykpG7/CXkpLSfc7Gw8Pz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\n", | |
| "text/plain": [ | |
| "<IPython.core.display.Image object>" | |
| ] | |
| }, | |
| "execution_count": 11, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "ddf.head(compute=False).visualize(verbose=False, size=\"10\", rankdir=\"LR\", optimize_graph=True)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "9cf4abe8-ec9b-47bf-937d-97672af81222", | |
| "metadata": {}, | |
| "source": [ | |
| "### Parquet Example\n", | |
| "\n", | |
| "#### Sample Code" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 12, | |
| "id": "7f876381-8b3e-41b0-8f4d-882c137056c9", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "path = \"/raid/dask-space/rzamora/parquet_demo\"\n", | |
| "get_ddf().to_parquet(path)\n", | |
| "\n", | |
| "ddf = dd.read_parquet(path)\n", | |
| "ddf = ddf[[\"id\", \"x\", \"y\"]] + 1" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "2367d79f-ee11-490d-8112-ef985e73f7ec", | |
| "metadata": {}, | |
| "source": [ | |
| "**Unoptimized LLG**" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 13, | |
| "id": "4fdd5c93-2a55-4c0d-b1a4-30022d786f28", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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HY2IiIiISCN0voDKzc3Fjz/+CDs7O4SGhmL79u04efLkGz+rnjo1b94c+/btw5EjR3D79m20atUKX331FTIyMmRHIyIiIiJSK52ehe/8+fMYM2YMbt68iW+//RZTpkyBiYmJ7FhvlLy8PKxYsQLffvstLCwssHLlSnh6esqORURERESkDro5C19GRgamTp0KFxcXWFhYICoqCl9//TWLJwkMDAwwYcIEXL16Ffb29vDy8sLo0aORnJwsOxoRERERkcrpXAtUREQE/Pz88PDhQ3z33XeYOHEi9PR0sg6slPbv34/x48cjLy8Pv//+O7y9vWVHIiIiIiJSFd1pgRJCYOnSpXBzc4OVlRUuX76MyZMns3jSMn369MHly5fRtWtX9OrVC5MnT0Z2drbsWEREREREKqETLVAPHjzAkCFDcObMGfzwww+YMmUKCycdsHbtWkyePBlNmzbFtm3b0KRJE9mRiIiIiIheh/a3QIWGhqJt27Z48OABzpw5g88//5zFk44YPXo0Ll68CD09PbRr1w779++XHYmIiIiI6LVodSWyatUqeHp6om3btjh79ixat24tOxKVU5MmTRAWFoYBAwagX79++Oqrr5Cfny87FhERERFRhWhlF76cnByMHTsWmzZtwnfffYevv/4aCoVCdix6TStXrsTkyZPRvXt3bNmyBVWrVpUdiYiIiIioPDK1roBKTk7G+++/j4iICGzduhU+Pj6yI5EKhYeHo3///rCyssKBAwfw9ttvy45ERERERFRW2jUGKi4uDm5uboiJicGpU6dYPFVCLi4uOHPmDLKystCuXTtcvHhRdiQiIiIiojLTmgIqOjoarq6uMDY2xrlz5+Dk5CQ7EqlJw4YNERYWhqZNm6JLly4ICQmRHYmIiIiIqEy0ooCKiIhAly5d0Lx5cwQHB8PKykp2JFKzWrVq4ciRI/Dy8oK3tzcOHz4sOxIRERER0StJL6BCQ0Ph6emJDh064ODBg6hWrZrsSKQhRkZG2Lp1KwYNGoS+ffti586dsiMREREREZVKagF16tQpeHt7o3v37tizZw9MTU1lxiEJ9PX1sWbNGowePRqDBw/Gjh07ZEciIiIiIiqRgawVnz17Fn369EGvXr3wxx9/wMBAWhSSTE9PD7/88gsMDQ0xbNgwmJqaonfv3rJjEREREREVIWUa86ioKHTt2hXt2rXD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\n", | |
| "text/plain": [ | |
| "<IPython.core.display.Image object>" | |
| ] | |
| }, | |
| "execution_count": 13, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "ddf.visualize(verbose=False, size=\"10\", rankdir=\"LR\", optimize_graph=False)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "299310cf-2e36-4b0b-81bb-4c388fc69a9d", | |
| "metadata": {}, | |
| "source": [ | |
| "**Unoptimized HLG**" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 14, | |
| "id": "b5af9ae7-d220-4cc0-98e3-a07a59d72e31", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfgAAAA7CAYAAACXI5jRAAAABmJLR0QA/wD/AP+gvaeTAAARRElEQVR4nO3de1BU9fsH8PdhuSzgSgR4w1uCSnkDI1QUkQGSLMsEpBkvQ5I5gWbJTDplAzPQhN8ZhUlqLC1N8w/QCbwEiKCyqFg5MeOlUrlIqaiAiKyoK/D8/vC3Oyx7gbOcZXF7XjNnxj3nc855zsdnz3PO7ucsAhERGGOMMWZT7KwdAGOMMcakxwWeMcYYs0Fc4BljjDEbZN99xvXr13HmzBlrxMKYpIKDgzFy5Ehrh2GW3Nxca4fArIzzl4lhMF+om5ycHALAE0/P/JSTk9M9vZ8Z1u47nqw/cf7y1Nd80buD1yAeXM+eYYIgWDuEPsvJycGSJUusHQazAs5fJoaxfOHv4BljjDEbxAWeMcYYs0Fc4BljjDEbxAWeMcYYs0Fc4BljjDEbxAWeMcYYs0Fc4BljjDEbxAWeMcYYs0Fc4BljjDEbxAWeMcYYs0Fc4BljjDEbxAWeMcYYs0Fc4JnkDh48CEEQcO7cOQBAQ0MD7OzssH37ditHxljPOH+ZGAM5X2yywO/evRuCIODAgQPWDuU/6dSpU1AoFAgICAAAKJVKEBHmzp1rcp3IyEi4ublBoVAgNDQUxcXF/RUyM9O5c+cgCAJSU1OtHYpkxOZvXV0dsrOzMX/+fDg5OUEQBBQVFfVnyOz/iT33S1ErxOTLgwcPsG/fPrz55psYO3YsnJycMGLECMTFxaGystLsGIyxyQLPxDt16hQEQUB6erok2woODoZMJgMAlJWVwdPTEy+++KLB9kePHsW8efNQUlKC+/fvQ6VSQalUIioqCvv37+9zPKxvxOaGlLlkDWLzd8aMGVi7di2Ki4uhVqv7M1Q2AIjJly+//BLLli3D4cOHUVdXB7Vajfr6euTm5mLGjBmSXxhygWeSevToEf744w+dq9eysjKEhIQY/JvFarUaq1evRkdHB9avX4+GhgY0NzcjLS0NRITExESoVKr+PAQmQmBgIIjIZu7gxeYvAIwdOxZJSUkoKirCqlWr+itUNgCIzReFQqEt8DU1NWhra0NlZSUiIyPx5MkTJCUlSRofF3jWZxkZGRAEAYIgwNnZGWq1Gp999pl23vnz55GXl6d9nZGRoV23pKQEdXV1mDt3LrZs2QJPT08899xz2LRpExYvXozGxkYcPHjQikfXNzdv3rR2CKwHfclfADh79qz2I3pHR0crHYVl3L59Gx0dHdYOY0DpS75s2LABe/fuxRtvvIEXXngBzs7O8Pf3R35+Ptzd3VFTU4OmpibJYpWkwBcVFUEQBGRlZaGsrAyhoaFQKBQIDAwEABARfvjhBwQHB0OhUMDZ2RnTpk3D119/DSLS2ZZSqcTSpUvh6+sLJycneHl5YeHChTh9+rTefu/du4c1a9Zg+PDhcHZ2RmBgII4cOdKn+EtLSxEcHAwXFxcMGTIEq1atQkNDg946vY2zp74xdgyGvhvauXOn0e+LNMvy8/N15vem79PT0xESEgIA+Pzzz7WJaeyORUpKpRIAsHTpUr1ly5YtA/D0ivhZFRoaCn9/f2zduhU3btyw6L6am5uRmJiIYcOG9ZhLgDS50f07+N7kUm/PB13fOydOnEBwcDBcXV0xatQonZPmtm3bMHHiRMjlcvj5+fHXOhLavn07hg4dig8//BAVFRV652spWfLcL1WtsBQXFxeMHj0a9vb2cHV1lW7D1E1OTg4ZmG1SYWEhAaDY2Fiyt7cnAASAAgICqLOzk5YuXaqd131atWqVdjv19fVG29nb21NZWZm27cOHD8nf31+vnSAIFBcXRwBo//79ouOXyWR62/Tz86PW1laz4jTVN2KPYceOHUaPS7MsLy9PO6+3fZ+Wlma0jVjvvvsujRo1Svv6m2++IUEQqKGhwWD76OhoAkCnT5/WW1ZVVUUAKCwsTHQcACgnJ0f0elIbM2aMNi8EQaDZs2fTd999R01NTSbXExu/2FySKjd+//13AkApKSm9ai/mfKB578TFxem8dzTT1q1b6ZNPPtGbb2dnR5WVlb3uu67E5m93SUlJBIAKCwvN2r/GQMnf1NRUkslk5ODgQADI29ubPv30U7pw4YLJ9cTGb8lzv5S1oru+5ovG33//TXZ2drR48WKz4jDW35IWeAC0cuVKunz5MrW3txMR0Z49ewgATZkyhQoKCqipqYlUKhWVlZXRtGnTCACdOXOGiIhu3bpFkZGRdPjwYfr3339JrVbT7du3KTc3l1xdXem1117T7vN///sfAaCJEydSSUkJtba2Uk1NDSUmJmpjEVvgAVB8fDxdvXqVVCoVKZVKmjJlCgGgTZs2aduLidNU34g9BrEFXkzfl5eXEwBKS0vrVZ8ZM2bMGIqPj9e+jo2NpcmTJxttHxkZSQDor7/+0lt29+5dAkDTp08XHcdAOUFqCnzXk4pMJiM7OzsKCwujH3/8ke7fv6+3ntj4u+ZSaWkptba2Um1tLa1du9ZgLkmVG90LfE/txey363vno48+omvXrpFKpaIDBw6Qg4MDubm5kUKhoJ07d9KdO3eoqamJkpOTCQCtWLGi133Xldj87c4WC7yTk5NODjs6OhIA8vX1pZSUFLp69areemLjt+S5X8pa0V1f84WISKVS0fTp08nd3Z1qa2vNiqNfCvzMmTOps7NTZ1lYWBjJZDK6efOm3nqXLl0iALRhwwbtvHPnzlFsbCyNGDFC76p95MiR2nYzZswgQRDo4sWLetsNDw83q8AHBQXpxV9dXU0ODg7k5+enM7+3cZrqG7HHILbAi+l7KQq85o57z549RPT0bs3Ly4vWrFljdJ2IiAijBb6pqcnmCnzXSVPoHR0dacGCBZSbm0uPHz8mIvHxBwUFGc0lzUVU17yRKjfEFngx+9W8d6KiovTaaj752bJli8789vZ2cnNzo8DAQL11emJO/nb3XyjwXSfNnf3UqVMpKyuL6uvrici8+C117peyVnQlRb6oVCoKDw8nFxcXnU8pxDLW3/aQUEREhN73tpcuXUJHRwdGjRoFAKCnFxXafwPAP//8AwA4c+YMwsLCjD5q8vDhQ+2/q6qq4O3tjUmTJum1i4qKQmlpqfZ1Y2MjvLy8dNp4eHigsbFRZ96rr76qF/+4ceMwYcIEXLlyRTtPTJwahvpGzDGYQ0zfG9NT323cuBGbN2/WWb5ixQqsWLFC+zo7OxvZ2dkAgB07duC9997TLnNzcwMA3L17V2/fzc3NOm3EOnv2bL+MIzDl0aNHRpdpBi+p1WoUFxejoKAACoUC77zzDgCI+r6zurraaC7Nnz8fx44d05knRW6Yw5z9hoaG6m1nzJgxAKD3rLFMJoO3tzdu374NwPL5a0kDIX8vXbpkcvmTJ08AABcuXEBycjLWr1+PefPmAQDa2tp6vR9LnfvFtu/PfGlubsbrr7+O8+fPo6CgwOTvhJhL0gLv4eGhN6+zsxMATI7E1PynZmRkQK1WIyUlBcuXL4e3t7f2hyP8/Pz0CrK1mBOnob4Ry87u6ZhITZ92ZeiiQkzfW4uvry8A4OLFiwgODtZZdv78eZ02YmVmZiIzM7NvAfZRb0dVt7e3AwBaW1uxY8cOAMCRI0cQGxur/X/vibFiYOhCwVq5Yc5+5XK5XhvNsRpbZug98qwZCPkL9C6HiQgdHR0QBAHHjx8H8LS4RUVFYdiwYT2u/6yc+6VSX1+P+fPno7a2FoWFhdqBqVKz+GNyfn5+cHFxwb1797RX690nzejempoaDB06FKmpqfDx8YFcLocgCKiursbVq1d1tuvr64sbN24YvMLs/mMBnp6eevs0lDDFxcV6J8OamhpcuXIFPj4+OvN6G6cpYo4BAIYMGQIAqK2t1VumeVN1JabvNUVEU2g0euq7jIwM7fzw8HCEhoZqX2/cuBGDBw9Ge3u7dl73q1nNVeu+ffv04v/pp5902oiVk5Nj9Lj7axo+fHiPcTo4OEAQBLi4uGDZsmU4dOgQAGDhwoW9Lu4+Pj64fv06/vzzT71l3e/eAWlywxhT7cXsVwqWzl9LGgj5m5qa2uOnCIIgaHP4lVdeQVZWFgBg3bp1vSrugOXO/WLb90e+VFdXY/bs2airq8PRo0ctVtyBfijwCQkJaGtrQ0REBI4cOYKGhgao1WrU1dXhl19+QXR0tPYjktGjR+POnTvIzs5GS0sLWlpaUFBQgAULFuhdkUdHR4OIEB0djePHj0OlUqG2thZJSUlmf7T922+/ISEhAVVVVXjw4AFOnTqFt99+G0+ePEFMTIy2nZg4TRF7DC+99BIAICsrCydPnsTDhw9x7do1JCcn6z0eB4jr++effx4AUF5ebtZzmO3t7Th79qxOspaXl+v8wpMhERERGD16NJRKJZKTk9HY2IiWlhakp6fj559/hqenJxYtWiQ6noFOJpPBzs4ODg4OiIiIwO7du9HQ0IC9e/di4cKForenyaWYmBicPHkSDx48QF1dHT7++GODP/lrydww1V7MfvuTufn7X2Zv//QD4PHjxyMtLQ3Xr1/Hr7/+inXr1oneliXP/ZaoFebmy8WLFzFnzhw0Nzfj2LFjep9aSo666csgu8zMTL1lnZ2dFB8fb3SQBroMSMnPzze4PCAggCZPnkweHh7a7VriMbmYmJhePSYnJk5TfWPOMSxevFivvb29PS1fvlxvkJ2Yvm9vbydvb2+95b1VUVFBAOjo0aPaY3NycqIvvviiV/1vqN8FQTB7oBEGyCClroPsuo6gnzlzJn377bfU0tJicD2x8be1tdHUqVMN9mFsbCwBoPz8fG17qXLD0CA7U+3F7NfUe0czWt7Q41qTJk0ib2/vXvcdUd/y19Rjf2LOQ10NlPztPshOM4Lex8eHUlJS6PLlywbXExu/Jc/9lnhMztx8SUhIMJkrAMx6xNNYf1v8Dl4QBOzatQs5OTmIiIiAu7s7HB0dMW7cOCxatAh5eXmIiIgAALz11lvYt28fpk6dCmdnZwwfPhyrV69GaWkpnJycdLYrl8tx4sQJJCYmYujQoZDL5QgICEBeXh6ioqLMinX27NkoLCxEUFAQnJ2d4enpiYSEBCiVSgwaNEjbTkycpphzDN9//z1WrlwJDw8PyOVyzJo1CyUlJQY/xhbT9zKZDAcOHMCcOXPM+qGF8vJyyGQyzJo1C8DTT0MeP36MOXPm9LhuVFQUTp48ifDwcCgUCri6uiIkJARFRUVYsmSJ6FgGIkEQEBQUhK+++gq3bt1CRUUF3n//fQwePFiS7Ts7O+PEiRNYvXo1hgwZArlcjpdffhmHDh3SfvLj7u6uE4+lcsNUezH77U99yV9b9/jxYwDAsGHDsG7dOlRWVqKqqgqpqamYMGGCJPuw5LnfErXimcmX7hXfnDv4Z52pOwVr2bVrl9lX/2zg3AHFxMTQ5s2bqa6uTtR6UsXf0dFBAQEBJAgCNTY29nl7rH8MlPzdtm0bffDBB6RUKvUe8zVloMT/X2GsvyUdRc8Y09WfP5uanJyMgIAAhISEwMvLC1euXEF6ejoqKysRFhYmyZMc7L9lzZo11g6B9QEXeMZsxOXLl7F161a9+YMGDTI4nzFm2/ivyTFmIzIzMxEfH6/zxzpiYmJQUVEBf39/a4fHGOtnfAePp4O8nn6NMXDEx8cjPj7e2mGwZ8j48eOxa9cua4fBGBsg+A6eMcYYs0Fc4BljjDEbxAWeMcYYs0Fc4BljjDEbxAWeMcYYs0Fc4BljjDEbxAWeMcYYs0Fc4BljjDEbxAWeMcYYs0Fc4BljjDEbxAWeMcYYs0Fc4BljjDEbxAWeMcYYs0FG/5pcbm5uf8bBGOumoqLC2iEwZjbOX+szWuDj4uL6Mw7GWDdZWVnIysqydhiMmYXz1/oEGmh/CJ0xxhhjfcbfwTPGGGM2iAs8Y4wxZoO4wDPGGGM2yB7AfmsHwRhjjDFp/R+YV8QTl5jqegAAAABJRU5ErkJggg==\n", | |
| "text/plain": [ | |
| "<IPython.core.display.Image object>" | |
| ] | |
| }, | |
| "execution_count": 14, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "ddf.dask.visualize(rankdir=\"LR\", format=\"png\")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "fd823bb9-71cb-4436-8c42-2616973ed421", | |
| "metadata": {}, | |
| "source": [ | |
| "**Optimized LLG**" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 15, | |
| "id": "a4b7dafe-aa7e-4892-bb17-a1e093a52e2d", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<IPython.core.display.Image object>" | |
| ] | |
| }, | |
| "execution_count": 15, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "ddf.visualize(verbose=False, size=\"10\", rankdir=\"LR\", optimize_graph=True)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "id": "7c896d62-8462-40c1-be26-42a11c088142", | |
| "metadata": {}, | |
| "source": [ | |
| "**Optimized HLG**" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 16, | |
| "id": "e9529af2-4347-4e0e-b8a8-7ef7c338d55f", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<IPython.core.display.Image object>" | |
| ] | |
| }, | |
| "execution_count": 16, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "dsk = dd.optimize(ddf.dask, ddf.__dask_keys__())\n", | |
| "dsk.visualize(rankdir=\"LR\", format=\"png\")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "id": "a1003cbf-8565-4f8d-8426-c7b1ea9399ab", | |
| "metadata": {}, | |
| "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.8.8" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 5 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment