Skip to content

Instantly share code, notes, and snippets.

@ScottWales
Created July 2, 2024 01:04
Show Gist options
  • Save ScottWales/f2fcac7849e7441dfc4ee88b2efb2df1 to your computer and use it in GitHub Desktop.
Save ScottWales/f2fcac7849e7441dfc4ee88b2efb2df1 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "d39b99fd-31b0-42bd-be2f-b0c25bf955fe",
"metadata": {},
"outputs": [],
"source": [
"import dask.array"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "426ea153-41de-4d3a-b804-753bc1021bbc",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <td>\n",
" <table style=\"border-collapse: collapse;\">\n",
" <thead>\n",
" <tr>\n",
" <td> </td>\n",
" <th> Array </th>\n",
" <th> Chunk </th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" \n",
" <tr>\n",
" <th> Bytes </th>\n",
" <td> 7.63 MiB </td>\n",
" <td> 3.12 kiB </td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> Shape </th>\n",
" <td> (1000, 1000) </td>\n",
" <td> (20, 20) </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Dask graph </th>\n",
" <td colspan=\"2\"> 2500 chunks in 1 graph layer </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Data type </th>\n",
" <td colspan=\"2\"> float64 numpy.ndarray </td>\n",
" </tr>\n",
" </tbody>\n",
" </table>\n",
" </td>\n",
" <td>\n",
" <svg width=\"170\" height=\"170\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"0\" y1=\"4\" x2=\"120\" y2=\"4\" />\n",
" <line x1=\"0\" y1=\"12\" x2=\"120\" y2=\"12\" />\n",
" <line x1=\"0\" y1=\"16\" x2=\"120\" y2=\"16\" />\n",
" <line x1=\"0\" y1=\"24\" x2=\"120\" y2=\"24\" />\n",
" <line x1=\"0\" y1=\"31\" x2=\"120\" y2=\"31\" />\n",
" <line x1=\"0\" y1=\"36\" x2=\"120\" y2=\"36\" />\n",
" <line x1=\"0\" y1=\"43\" x2=\"120\" y2=\"43\" />\n",
" <line x1=\"0\" y1=\"50\" x2=\"120\" y2=\"50\" />\n",
" <line x1=\"0\" y1=\"55\" x2=\"120\" y2=\"55\" />\n",
" <line x1=\"0\" y1=\"62\" x2=\"120\" y2=\"62\" />\n",
" <line x1=\"0\" y1=\"67\" x2=\"120\" y2=\"67\" />\n",
" <line x1=\"0\" y1=\"74\" x2=\"120\" y2=\"74\" />\n",
" <line x1=\"0\" y1=\"81\" x2=\"120\" y2=\"81\" />\n",
" <line x1=\"0\" y1=\"86\" x2=\"120\" y2=\"86\" />\n",
" <line x1=\"0\" y1=\"93\" x2=\"120\" y2=\"93\" />\n",
" <line x1=\"0\" y1=\"100\" x2=\"120\" y2=\"100\" />\n",
" <line x1=\"0\" y1=\"105\" x2=\"120\" y2=\"105\" />\n",
" <line x1=\"0\" y1=\"112\" x2=\"120\" y2=\"112\" />\n",
" <line x1=\"0\" y1=\"120\" x2=\"120\" y2=\"120\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"120\" style=\"stroke-width:2\" />\n",
" <line x1=\"4\" y1=\"0\" x2=\"4\" y2=\"120\" />\n",
" <line x1=\"12\" y1=\"0\" x2=\"12\" y2=\"120\" />\n",
" <line x1=\"16\" y1=\"0\" x2=\"16\" y2=\"120\" />\n",
" <line x1=\"24\" y1=\"0\" x2=\"24\" y2=\"120\" />\n",
" <line x1=\"31\" y1=\"0\" x2=\"31\" y2=\"120\" />\n",
" <line x1=\"36\" y1=\"0\" x2=\"36\" y2=\"120\" />\n",
" <line x1=\"43\" y1=\"0\" x2=\"43\" y2=\"120\" />\n",
" <line x1=\"50\" y1=\"0\" x2=\"50\" y2=\"120\" />\n",
" <line x1=\"55\" y1=\"0\" x2=\"55\" y2=\"120\" />\n",
" <line x1=\"62\" y1=\"0\" x2=\"62\" y2=\"120\" />\n",
" <line x1=\"67\" y1=\"0\" x2=\"67\" y2=\"120\" />\n",
" <line x1=\"74\" y1=\"0\" x2=\"74\" y2=\"120\" />\n",
" <line x1=\"81\" y1=\"0\" x2=\"81\" y2=\"120\" />\n",
" <line x1=\"86\" y1=\"0\" x2=\"86\" y2=\"120\" />\n",
" <line x1=\"93\" y1=\"0\" x2=\"93\" y2=\"120\" />\n",
" <line x1=\"100\" y1=\"0\" x2=\"100\" y2=\"120\" />\n",
" <line x1=\"105\" y1=\"0\" x2=\"105\" y2=\"120\" />\n",
" <line x1=\"112\" y1=\"0\" x2=\"112\" y2=\"120\" />\n",
" <line x1=\"120\" y1=\"0\" x2=\"120\" y2=\"120\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"0.0,0.0 120.0,0.0 120.0,120.0 0.0,120.0\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"60.000000\" y=\"140.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >1000</text>\n",
" <text x=\"140.000000\" y=\"60.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,140.000000,60.000000)\">1000</text>\n",
"</svg>\n",
" </td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"dask.array<ones_like, shape=(1000, 1000), dtype=float64, chunksize=(20, 20), chunktype=numpy.ndarray>"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Create a dask array - just a whole bunch of ones here. Dask arrays are broken up\n",
"# into chunks, so that each chunk can be computed one at a time\n",
"\n",
"a = dask.array.ones((1000,1000),chunks=(20,20))\n",
"a"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "f2d1d746-5821-477d-a4cc-6aae4ad2bb6c",
"metadata": {},
"outputs": [],
"source": [
"# Normally you'd get a dask array from opening a file with xarray with chunking\n",
"\n",
"# xarray.open_dataset(path, chunks={'lat': 100, 'lon': 100})"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "446db633-23e7-4411-b306-c3e6a9c036d2",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <td>\n",
" <table style=\"border-collapse: collapse;\">\n",
" <thead>\n",
" <tr>\n",
" <td> </td>\n",
" <th> Array </th>\n",
" <th> Chunk </th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" \n",
" <tr>\n",
" <th> Bytes </th>\n",
" <td> 7.63 MiB </td>\n",
" <td> 3.12 kiB </td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> Shape </th>\n",
" <td> (1000, 1000) </td>\n",
" <td> (20, 20) </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Dask graph </th>\n",
" <td colspan=\"2\"> 2500 chunks in 2 graph layers </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Data type </th>\n",
" <td colspan=\"2\"> float64 numpy.ndarray </td>\n",
" </tr>\n",
" </tbody>\n",
" </table>\n",
" </td>\n",
" <td>\n",
" <svg width=\"170\" height=\"170\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"0\" y1=\"4\" x2=\"120\" y2=\"4\" />\n",
" <line x1=\"0\" y1=\"12\" x2=\"120\" y2=\"12\" />\n",
" <line x1=\"0\" y1=\"16\" x2=\"120\" y2=\"16\" />\n",
" <line x1=\"0\" y1=\"24\" x2=\"120\" y2=\"24\" />\n",
" <line x1=\"0\" y1=\"31\" x2=\"120\" y2=\"31\" />\n",
" <line x1=\"0\" y1=\"36\" x2=\"120\" y2=\"36\" />\n",
" <line x1=\"0\" y1=\"43\" x2=\"120\" y2=\"43\" />\n",
" <line x1=\"0\" y1=\"50\" x2=\"120\" y2=\"50\" />\n",
" <line x1=\"0\" y1=\"55\" x2=\"120\" y2=\"55\" />\n",
" <line x1=\"0\" y1=\"62\" x2=\"120\" y2=\"62\" />\n",
" <line x1=\"0\" y1=\"67\" x2=\"120\" y2=\"67\" />\n",
" <line x1=\"0\" y1=\"74\" x2=\"120\" y2=\"74\" />\n",
" <line x1=\"0\" y1=\"81\" x2=\"120\" y2=\"81\" />\n",
" <line x1=\"0\" y1=\"86\" x2=\"120\" y2=\"86\" />\n",
" <line x1=\"0\" y1=\"93\" x2=\"120\" y2=\"93\" />\n",
" <line x1=\"0\" y1=\"100\" x2=\"120\" y2=\"100\" />\n",
" <line x1=\"0\" y1=\"105\" x2=\"120\" y2=\"105\" />\n",
" <line x1=\"0\" y1=\"112\" x2=\"120\" y2=\"112\" />\n",
" <line x1=\"0\" y1=\"120\" x2=\"120\" y2=\"120\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"120\" style=\"stroke-width:2\" />\n",
" <line x1=\"4\" y1=\"0\" x2=\"4\" y2=\"120\" />\n",
" <line x1=\"12\" y1=\"0\" x2=\"12\" y2=\"120\" />\n",
" <line x1=\"16\" y1=\"0\" x2=\"16\" y2=\"120\" />\n",
" <line x1=\"24\" y1=\"0\" x2=\"24\" y2=\"120\" />\n",
" <line x1=\"31\" y1=\"0\" x2=\"31\" y2=\"120\" />\n",
" <line x1=\"36\" y1=\"0\" x2=\"36\" y2=\"120\" />\n",
" <line x1=\"43\" y1=\"0\" x2=\"43\" y2=\"120\" />\n",
" <line x1=\"50\" y1=\"0\" x2=\"50\" y2=\"120\" />\n",
" <line x1=\"55\" y1=\"0\" x2=\"55\" y2=\"120\" />\n",
" <line x1=\"62\" y1=\"0\" x2=\"62\" y2=\"120\" />\n",
" <line x1=\"67\" y1=\"0\" x2=\"67\" y2=\"120\" />\n",
" <line x1=\"74\" y1=\"0\" x2=\"74\" y2=\"120\" />\n",
" <line x1=\"81\" y1=\"0\" x2=\"81\" y2=\"120\" />\n",
" <line x1=\"86\" y1=\"0\" x2=\"86\" y2=\"120\" />\n",
" <line x1=\"93\" y1=\"0\" x2=\"93\" y2=\"120\" />\n",
" <line x1=\"100\" y1=\"0\" x2=\"100\" y2=\"120\" />\n",
" <line x1=\"105\" y1=\"0\" x2=\"105\" y2=\"120\" />\n",
" <line x1=\"112\" y1=\"0\" x2=\"112\" y2=\"120\" />\n",
" <line x1=\"120\" y1=\"0\" x2=\"120\" y2=\"120\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"0.0,0.0 120.0,0.0 120.0,120.0 0.0,120.0\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"60.000000\" y=\"140.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >1000</text>\n",
" <text x=\"140.000000\" y=\"60.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,140.000000,60.000000)\">1000</text>\n",
"</svg>\n",
" </td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"dask.array<add, shape=(1000, 1000), dtype=float64, chunksize=(20, 20), chunktype=numpy.ndarray>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Dask arrays work just like numpy arrays, but rather than computing the output \n",
"# they save the formula to compute the output\n",
"\n",
"a + 10\n",
"\n",
"# Note how now the graph says '2 graph layers' - this is dask storing the addition"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "c3d34cdf-78fc-412c-a227-07cd9419a633",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
" <div style=\"width: 24px; height: 24px; background-color: #e1e1e1; border: 3px solid #9D9D9D; border-radius: 5px; position: absolute;\"> </div>\n",
" <div style=\"margin-left: 48px;\">\n",
" <h3 style=\"margin-bottom: 0px;\">Client</h3>\n",
" <p style=\"color: #9D9D9D; margin-bottom: 0px;\">Client-f41b334d-380e-11ef-87f5-000007a9fe80</p>\n",
" <table style=\"width: 100%; text-align: left;\">\n",
"\n",
" <tr>\n",
" \n",
" <td style=\"text-align: left;\"><strong>Connection method:</strong> Cluster object</td>\n",
" <td style=\"text-align: left;\"><strong>Cluster type:</strong> distributed.LocalCluster</td>\n",
" \n",
" </tr>\n",
"\n",
" \n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"/proxy/8787/status\" target=\"_blank\">/proxy/8787/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\"></td>\n",
" </tr>\n",
" \n",
"\n",
" </table>\n",
"\n",
" \n",
"\n",
" \n",
" <details>\n",
" <summary style=\"margin-bottom: 20px;\"><h3 style=\"display: inline;\">Cluster Info</h3></summary>\n",
" <div class=\"jp-RenderedHTMLCommon jp-RenderedHTML jp-mod-trusted jp-OutputArea-output\">\n",
" <div style=\"width: 24px; height: 24px; background-color: #e1e1e1; border: 3px solid #9D9D9D; border-radius: 5px; position: absolute;\">\n",
" </div>\n",
" <div style=\"margin-left: 48px;\">\n",
" <h3 style=\"margin-bottom: 0px; margin-top: 0px;\">LocalCluster</h3>\n",
" <p style=\"color: #9D9D9D; margin-bottom: 0px;\">dcb1f411</p>\n",
" <table style=\"width: 100%; text-align: left;\">\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard:</strong> <a href=\"/proxy/8787/status\" target=\"_blank\">/proxy/8787/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Workers:</strong> 2\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads:</strong> 2\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total memory:</strong> 9.00 GiB\n",
" </td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td style=\"text-align: left;\"><strong>Status:</strong> running</td>\n",
" <td style=\"text-align: left;\"><strong>Using processes:</strong> True</td>\n",
"</tr>\n",
"\n",
" \n",
" </table>\n",
"\n",
" <details>\n",
" <summary style=\"margin-bottom: 20px;\">\n",
" <h3 style=\"display: inline;\">Scheduler Info</h3>\n",
" </summary>\n",
"\n",
" <div style=\"\">\n",
" <div>\n",
" <div style=\"width: 24px; height: 24px; background-color: #FFF7E5; border: 3px solid #FF6132; border-radius: 5px; position: absolute;\"> </div>\n",
" <div style=\"margin-left: 48px;\">\n",
" <h3 style=\"margin-bottom: 0px;\">Scheduler</h3>\n",
" <p style=\"color: #9D9D9D; margin-bottom: 0px;\">Scheduler-da5fd438-b948-4dd4-841c-07050c09ec62</p>\n",
" <table style=\"width: 100%; text-align: left;\">\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Comm:</strong> tcp://127.0.0.1:35891\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Workers:</strong> 2\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard:</strong> <a href=\"/proxy/8787/status\" target=\"_blank\">/proxy/8787/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads:</strong> 2\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Started:</strong> Just now\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total memory:</strong> 9.00 GiB\n",
" </td>\n",
" </tr>\n",
" </table>\n",
" </div>\n",
" </div>\n",
"\n",
" <details style=\"margin-left: 48px;\">\n",
" <summary style=\"margin-bottom: 20px;\">\n",
" <h3 style=\"display: inline;\">Workers</h3>\n",
" </summary>\n",
"\n",
" \n",
" <div style=\"margin-bottom: 20px;\">\n",
" <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
" <div style=\"margin-left: 48px;\">\n",
" <details>\n",
" <summary>\n",
" <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 0</h4>\n",
" </summary>\n",
" <table style=\"width: 100%; text-align: left;\">\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Comm: </strong> tcp://127.0.0.1:45793\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads: </strong> 1\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"/proxy/40279/status\" target=\"_blank\">/proxy/40279/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Memory: </strong> 4.50 GiB\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Nanny: </strong> tcp://127.0.0.1:35313\n",
" </td>\n",
" <td style=\"text-align: left;\"></td>\n",
" </tr>\n",
" <tr>\n",
" <td colspan=\"2\" style=\"text-align: left;\">\n",
" <strong>Local directory: </strong> /jobfs/119519481.gadi-pbs/dask-scratch-space/worker-tr3kw6o6\n",
" </td>\n",
" </tr>\n",
"\n",
" \n",
"\n",
" \n",
"\n",
" </table>\n",
" </details>\n",
" </div>\n",
" </div>\n",
" \n",
" <div style=\"margin-bottom: 20px;\">\n",
" <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
" <div style=\"margin-left: 48px;\">\n",
" <details>\n",
" <summary>\n",
" <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: 1</h4>\n",
" </summary>\n",
" <table style=\"width: 100%; text-align: left;\">\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Comm: </strong> tcp://127.0.0.1:35223\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads: </strong> 1\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"/proxy/34381/status\" target=\"_blank\">/proxy/34381/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Memory: </strong> 4.50 GiB\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Nanny: </strong> tcp://127.0.0.1:34787\n",
" </td>\n",
" <td style=\"text-align: left;\"></td>\n",
" </tr>\n",
" <tr>\n",
" <td colspan=\"2\" style=\"text-align: left;\">\n",
" <strong>Local directory: </strong> /jobfs/119519481.gadi-pbs/dask-scratch-space/worker-08o1ukty\n",
" </td>\n",
" </tr>\n",
"\n",
" \n",
"\n",
" \n",
"\n",
" </table>\n",
" </details>\n",
" </div>\n",
" </div>\n",
" \n",
"\n",
" </details>\n",
"</div>\n",
"\n",
" </details>\n",
" </div>\n",
"</div>\n",
" </details>\n",
" \n",
"\n",
" </div>\n",
"</div>"
],
"text/plain": [
"<Client: 'tcp://127.0.0.1:35891' processes=2 threads=2, memory=9.00 GiB>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Dask will run the actual calculation when either we run `dask.compute()` or when we \n",
"# save the data to a file\n",
"\n",
"# We can get Dask to run the calculation in parallel by starting up a \n",
"# dask.distributed.Client - by default this will use your PBS session's resources\n",
"\n",
"import dask.distributed\n",
"dask.distributed.Client()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "6c5fd780-0b82-4703-b7ad-67a61c46c588",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(array([[2., 2., 2., ..., 2., 2., 2.],\n",
" [2., 2., 2., ..., 2., 2., 2.],\n",
" [2., 2., 2., ..., 2., 2., 2.],\n",
" ...,\n",
" [2., 2., 2., ..., 2., 2., 2.],\n",
" [2., 2., 2., ..., 2., 2., 2.],\n",
" [2., 2., 2., ..., 2., 2., 2.]]),)"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Now we can compute the output in parallel\n",
"\n",
"dask.compute(a + 1)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "71f9c881-c313-4667-aa60-7de858370971",
"metadata": {},
"outputs": [],
"source": [
"# For working with real data, use numpy whole-array operations rather than loops\n",
"# More efficient, plus it can easily be converted with dask\n",
"\n",
"# E.g. a test lat and lon 2d array\n",
"import numpy\n",
"lats = numpy.linspace(-90,90,100)\n",
"lons = numpy.linspace(0, 360,100)\n",
"LL, LN = numpy.meshgrid(lats, lons)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "738e6fb5-5626-437d-8327-eb47c3c33553",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.QuadMesh at 0x1541786d6490>"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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ekeoAQAAViDUAAAAK/i6psZEozynBgAAnzAm6un5makBAABWINQAAAArEGoAAIAVUlpT8/jjj+vhhx/WkSNHNHXqVK1du1YXXXRRn3/exGIyDrkMAAA/MCbm6flTlgieffZZlZWVafXq1dq3b58uuugife9739Phw4dT1SUAAOBjjjHGpOIXT58+Xeeff77Wr18fbzvrrLN07bXXqrKyMuHYSCSiSCQSfx8OhzVx4kTN1JXKUOaA9RkAAHx5UXVrp17QJ598otzc3KSfPyXLT11dXdqzZ49WrlyZ0F5aWqrGxsYex1dWVqq8vLxH+0694FkfAQCAN/7zn//YE2o++ugjxWIxBYPBhPZgMKiWlpYex69atUrLli2Lv//kk080adIkHT582JMvBf3T3t6uCRMmqLm5WTk5OanuzpDGWAwejMXgwVgMHidXWkaNGuXJ+VNaKOx87sF5xpgebZIUCAQUCAR6tOfm5vI/6CCSk5PDeAwSjMXgwVgMHozF4JGW5k1Jb0oKhceMGaP09PQeszKtra09Zm8AAAD6IiWhZtiwYSouLlZ9fX1Ce319vWbMmJGKLgEAAJ9L2fLTsmXLdOutt2ratGn6zne+o7q6Oh0+fFgLFizo9WcDgYDuu+++Uy5JYeAxHoMHYzF4MBaDB2MxeHg9Fim7pVs68fC96upqHTlyRIWFhXrkkUd08cUXp6o7AADAx1IaagAAAJKFPQYAAIAVCDUAAMAKhBoAAGAFQg0AALCCL0PN448/rvz8fA0fPlzFxcX605/+lOouWa+yslIXXHCBsrOzNXbsWF177bV69913E44xxuj+++9XXl6eRowYoUsuuURvv/12ino8dFRWVspxHJWVlcXbGIuB8+GHH+qWW27R6NGjlZWVpW9961vas2dP/HPGYmBEo1Hde++9ys/P14gRIzR58mQ98MADcl03fgxj4Z3XXntNV199tfLy8uQ4jp5//vmEz/vy3UciES1ZskRjxozRyJEjdc011+iDDz7oX0eMz2zZssVkZmaaDRs2mHfeeccsXbrUjBw50hw6dCjVXbPaFVdcYTZu3Gjeeusts3//fjN79mwzceJEc/To0fgxDz30kMnOzjbPPfecOXDggLnhhhvMuHHjTHt7ewp7brddu3aZM88805x77rlm6dKl8XbGYmB8/PHHZtKkSeb22283f/3rX01TU5N56aWXzHvvvRc/hrEYGA8++KAZPXq0+f3vf2+amprMb37zG3PaaaeZtWvXxo9hLLzzwgsvmNWrV5vnnnvOSDLbtm1L+Lwv3/2CBQvMGWecYerr683evXvNpZdeas477zwTjUb73A/fhZpvf/vbZsGCBQltU6ZMMStXrkxRj4am1tZWI8k0NDQYY4xxXdeEQiHz0EMPxY85fvy4yc3NNU888USqumm1jo4OU1BQYOrr601JSUk81DAWA2fFihVm5syZX/g5YzFwZs+ebe64446Etjlz5phbbrnFGMNYDKTPh5q+fPeffPKJyczMNFu2bIkf8+GHH5q0tDTzhz/8oc+/21fLT11dXdqzZ49KS0sT2ktLS9XY2JiiXg1N4XBYkuI7rTY1NamlpSVhbAKBgEpKShgbjyxatEizZ8/W5ZdfntDOWAyc7du3a9q0abruuus0duxYFRUVacOGDfHPGYuBM3PmTL388ss6ePCgJOmNN97Qzp07deWVV0piLFKpL9/9nj171N3dnXBMXl6eCgsL+zU+Kd2lu78++ugjxWKxHpteBoPBHptjwjvGGC1btkwzZ85UYWGhJMW//1ONzaFDhwa8j7bbsmWL9u7dq927d/f4jLEYOO+//77Wr1+vZcuW6Z577tGuXbt05513KhAI6LbbbmMsBtCKFSsUDoc1ZcoUpaenKxaLac2aNbrpppsk8e8ilfry3be0tGjYsGE6/fTTexzTn+u7r0LNSY7jJLw3xvRog3cWL16sN998Uzt37uzxGWPjvebmZi1dulQ7duzQ8OHDv/A4xsJ7rutq2rRpqqiokCQVFRXp7bff1vr163XbbbfFj2MsvPfss8/q6aef1ubNmzV16lTt379fZWVlysvL07x58+LHMRap82W++/6Oj6+Wn8aMGaP09PQeqa21tbVHAoQ3lixZou3bt+uVV17R+PHj4+2hUEiSGJsBsGfPHrW2tqq4uFgZGRnKyMhQQ0ODHn30UWVkZMS/b8bCe+PGjdPZZ5+d0HbWWWfp8OHDkvh3MZDuvvturVy5UjfeeKPOOecc3XrrrbrrrrtUWVkpibFIpb5896FQSF1dXWpra/vCY/rCV6Fm2LBhKi4uVn19fUJ7fX29ZsyYkaJeDQ3GGC1evFhbt27VH//4R+Xn5yd8np+fr1AolDA2XV1damhoYGyS7LLLLtOBAwe0f//++GvatGm6+eabtX//fk2ePJmxGCAXXnhhj0cbHDx4UJMmTZLEv4uBdOzYMaWlJV7S0tPT47d0Mxap05fvvri4WJmZmQnHHDlyRG+99Vb/xudLlzenyMlbup988knzzjvvmLKyMjNy5Ejzz3/+M9Vds9pPfvITk5uba1599VVz5MiR+OvYsWPxYx566CGTm5trtm7dag4cOGBuuukmbpccIJ+9+8kYxmKg7Nq1y2RkZJg1a9aYf/zjH+aZZ54xWVlZ5umnn44fw1gMjHnz5pkzzjgjfkv31q1bzZgxY8zy5cvjxzAW3uno6DD79u0z+/btM5JMTU2N2bdvX/xxK3357hcsWGDGjx9vXnrpJbN3717z3e9+1/5buo0xZt26dWbSpElm2LBh5vzzz4/fVgzvSDrla+PGjfFjXNc19913nwmFQiYQCJiLL77YHDhwIHWdHkI+H2oYi4Hzu9/9zhQWFppAIGCmTJli6urqEj5nLAZGe3u7Wbp0qZk4caIZPny4mTx5slm9erWJRCLxYxgL77zyyiunvEbMmzfPGNO3776zs9MsXrzYjBo1yowYMcJcddVV5vDhw/3qh2OMMV9pXgkAAGAQ8FVNDQAAwBch1AAAACsQagAAgBUINQAAwAqEGgAAYAVCDQAAsAKhBgAAWIFQAwAArECoAQAAViDUAAAAKxBqAACAFf4PJqk5ZRU45aIAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# LL and LN are now the lat and lon of every grid point\n",
"\n",
"import matplotlib.pyplot as plt\n",
"plt.pcolormesh(LN)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "fbdd1480-0769-4ac7-b8e0-8d58e45fd25f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.QuadMesh at 0x154178750810>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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+be3N2fJqY90P/bYY+aNN94wlZWVZvDgweadd97JdmtW+9rXvmaCwaB5/vnnzfHjx1M/J0+eTJ3zwAMPmGAwaLZt22YOHz5sbrzxRj4u2U/++dNPxrAW/WXv3r3G5/OZtWvXmj/96U/mySefNAUFBeaJJ55IncNa9I+FCxeac845J/WR7m3btpkRI0aYlStXps5hLZwTjUbNwYMHzcGDB40ks27dOnPw4MHU162k894vXrzYjB492jz77LPmwIED5rOf/az9H+k2xpgNGzaYcePGmby8PDNlypTUx4rhHEmn/dm0aVPqnGQyae655x4TCoWM3+83l156qTl8+HD2mh5APhpqWIv+88tf/tKUlZUZv99vJkyYYBoaGno9z1r0j0gkYpYvX27Gjh1r8vPzzfjx482aNWtMLBZLncNaOGfXrl2n/RuxcOFCY0x6731nZ6e54447zLBhw8ygQYPMVVddZY4dO3ZGfXiMMeY/misBAACcBVy1pwYAAOBfIdQAAAArEGoAAIAVCDUAAMAKhBoAAGAFQg0AALACoQYAAFiBUAMAAKxAqAEAAFYg1AAAACsQagAAgBX+P1tVfn15ATVCAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# And we can use whole-array operations on them\n",
"\n",
"plt.pcolormesh(numpy.cos(LN))"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "801dc453-6ec8-4006-970c-aa643638b6d3",
"metadata": {},
"outputs": [],
"source": [
"# To convert to dask, use dask.array functions instead of numpy to create the array\n",
"# Once the array is created you can use numpy\n",
"\n",
"lons = dask.array.linspace(0, 360, 100000, chunks=100)\n",
"lats = dask.array.linspace(-90, 90, 100000, chunks=100)\n",
"LL, LN = numpy.meshgrid(lats, lons)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "73c0dc99-42e9-4d1b-b485-cb9beab89bb1",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <td>\n",
" <table style=\"border-collapse: collapse;\">\n",
" <thead>\n",
" <tr>\n",
" <td> </td>\n",
" <th> Array </th>\n",
" <th> Chunk </th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" \n",
" <tr>\n",
" <th> Bytes </th>\n",
" <td> 74.51 GiB </td>\n",
" <td> 78.12 kiB </td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> Shape </th>\n",
" <td> (100000, 100000) </td>\n",
" <td> (100, 100) </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Dask graph </th>\n",
" <td colspan=\"2\"> 1000000 chunks in 3 graph layers </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Data type </th>\n",
" <td colspan=\"2\"> float64 numpy.ndarray </td>\n",
" </tr>\n",
" </tbody>\n",
" </table>\n",
" </td>\n",
" <td>\n",
" <svg width=\"170\" height=\"170\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"0\" y1=\"6\" x2=\"120\" y2=\"6\" />\n",
" <line x1=\"0\" y1=\"12\" x2=\"120\" y2=\"12\" />\n",
" <line x1=\"0\" y1=\"18\" x2=\"120\" y2=\"18\" />\n",
" <line x1=\"0\" y1=\"25\" x2=\"120\" y2=\"25\" />\n",
" <line x1=\"0\" y1=\"31\" x2=\"120\" y2=\"31\" />\n",
" <line x1=\"0\" y1=\"37\" x2=\"120\" y2=\"37\" />\n",
" <line x1=\"0\" y1=\"44\" x2=\"120\" y2=\"44\" />\n",
" <line x1=\"0\" y1=\"50\" x2=\"120\" y2=\"50\" />\n",
" <line x1=\"0\" y1=\"56\" x2=\"120\" y2=\"56\" />\n",
" <line x1=\"0\" y1=\"63\" x2=\"120\" y2=\"63\" />\n",
" <line x1=\"0\" y1=\"69\" x2=\"120\" y2=\"69\" />\n",
" <line x1=\"0\" y1=\"75\" x2=\"120\" y2=\"75\" />\n",
" <line x1=\"0\" y1=\"82\" x2=\"120\" y2=\"82\" />\n",
" <line x1=\"0\" y1=\"88\" x2=\"120\" y2=\"88\" />\n",
" <line x1=\"0\" y1=\"94\" x2=\"120\" y2=\"94\" />\n",
" <line x1=\"0\" y1=\"101\" x2=\"120\" y2=\"101\" />\n",
" <line x1=\"0\" y1=\"107\" x2=\"120\" y2=\"107\" />\n",
" <line x1=\"0\" y1=\"113\" x2=\"120\" y2=\"113\" />\n",
" <line x1=\"0\" y1=\"120\" x2=\"120\" y2=\"120\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"120\" style=\"stroke-width:2\" />\n",
" <line x1=\"6\" y1=\"0\" x2=\"6\" y2=\"120\" />\n",
" <line x1=\"12\" y1=\"0\" x2=\"12\" y2=\"120\" />\n",
" <line x1=\"18\" y1=\"0\" x2=\"18\" y2=\"120\" />\n",
" <line x1=\"25\" y1=\"0\" x2=\"25\" y2=\"120\" />\n",
" <line x1=\"31\" y1=\"0\" x2=\"31\" y2=\"120\" />\n",
" <line x1=\"37\" y1=\"0\" x2=\"37\" y2=\"120\" />\n",
" <line x1=\"44\" y1=\"0\" x2=\"44\" y2=\"120\" />\n",
" <line x1=\"50\" y1=\"0\" x2=\"50\" y2=\"120\" />\n",
" <line x1=\"56\" y1=\"0\" x2=\"56\" y2=\"120\" />\n",
" <line x1=\"63\" y1=\"0\" x2=\"63\" y2=\"120\" />\n",
" <line x1=\"69\" y1=\"0\" x2=\"69\" y2=\"120\" />\n",
" <line x1=\"75\" y1=\"0\" x2=\"75\" y2=\"120\" />\n",
" <line x1=\"82\" y1=\"0\" x2=\"82\" y2=\"120\" />\n",
" <line x1=\"88\" y1=\"0\" x2=\"88\" y2=\"120\" />\n",
" <line x1=\"94\" y1=\"0\" x2=\"94\" y2=\"120\" />\n",
" <line x1=\"101\" y1=\"0\" x2=\"101\" y2=\"120\" />\n",
" <line x1=\"107\" y1=\"0\" x2=\"107\" y2=\"120\" />\n",
" <line x1=\"113\" y1=\"0\" x2=\"113\" y2=\"120\" />\n",
" <line x1=\"120\" y1=\"0\" x2=\"120\" y2=\"120\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"0.0,0.0 120.0,0.0 120.0,120.0 0.0,120.0\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"60.000000\" y=\"140.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >100000</text>\n",
" <text x=\"140.000000\" y=\"60.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,140.000000,60.000000)\">100000</text>\n",
"</svg>\n",
" </td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"dask.array<broadcast_to, shape=(100000, 100000), dtype=float64, chunksize=(100, 100), chunktype=numpy.ndarray>"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# LL is now a chunked dask array\n",
"\n",
"LL"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "e75bc222-5d44-4573-8cd4-e6d70c0c9e3c",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <td>\n",
" <table style=\"border-collapse: collapse;\">\n",
" <thead>\n",
" <tr>\n",
" <td> </td>\n",
" <th> Array </th>\n",
" <th> Chunk </th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" \n",
" <tr>\n",
" <th> Bytes </th>\n",
" <td> 74.51 GiB </td>\n",
" <td> 1.91 MiB </td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> Shape </th>\n",
" <td> (100000, 100000) </td>\n",
" <td> (500, 500) </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Dask graph </th>\n",
" <td colspan=\"2\"> 40000 chunks in 4 graph layers </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Data type </th>\n",
" <td colspan=\"2\"> float64 numpy.ndarray </td>\n",
" </tr>\n",
" </tbody>\n",
" </table>\n",
" </td>\n",
" <td>\n",
" <svg width=\"170\" height=\"170\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"0\" y1=\"6\" x2=\"120\" y2=\"6\" />\n",
" <line x1=\"0\" y1=\"12\" x2=\"120\" y2=\"12\" />\n",
" <line x1=\"0\" y1=\"18\" x2=\"120\" y2=\"18\" />\n",
" <line x1=\"0\" y1=\"25\" x2=\"120\" y2=\"25\" />\n",
" <line x1=\"0\" y1=\"31\" x2=\"120\" y2=\"31\" />\n",
" <line x1=\"0\" y1=\"37\" x2=\"120\" y2=\"37\" />\n",
" <line x1=\"0\" y1=\"43\" x2=\"120\" y2=\"43\" />\n",
" <line x1=\"0\" y1=\"50\" x2=\"120\" y2=\"50\" />\n",
" <line x1=\"0\" y1=\"56\" x2=\"120\" y2=\"56\" />\n",
" <line x1=\"0\" y1=\"63\" x2=\"120\" y2=\"63\" />\n",
" <line x1=\"0\" y1=\"69\" x2=\"120\" y2=\"69\" />\n",
" <line x1=\"0\" y1=\"75\" x2=\"120\" y2=\"75\" />\n",
" <line x1=\"0\" y1=\"81\" x2=\"120\" y2=\"81\" />\n",
" <line x1=\"0\" y1=\"88\" x2=\"120\" y2=\"88\" />\n",
" <line x1=\"0\" y1=\"94\" x2=\"120\" y2=\"94\" />\n",
" <line x1=\"0\" y1=\"100\" x2=\"120\" y2=\"100\" />\n",
" <line x1=\"0\" y1=\"106\" x2=\"120\" y2=\"106\" />\n",
" <line x1=\"0\" y1=\"113\" x2=\"120\" y2=\"113\" />\n",
" <line x1=\"0\" y1=\"120\" x2=\"120\" y2=\"120\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"120\" style=\"stroke-width:2\" />\n",
" <line x1=\"6\" y1=\"0\" x2=\"6\" y2=\"120\" />\n",
" <line x1=\"12\" y1=\"0\" x2=\"12\" y2=\"120\" />\n",
" <line x1=\"18\" y1=\"0\" x2=\"18\" y2=\"120\" />\n",
" <line x1=\"25\" y1=\"0\" x2=\"25\" y2=\"120\" />\n",
" <line x1=\"31\" y1=\"0\" x2=\"31\" y2=\"120\" />\n",
" <line x1=\"37\" y1=\"0\" x2=\"37\" y2=\"120\" />\n",
" <line x1=\"43\" y1=\"0\" x2=\"43\" y2=\"120\" />\n",
" <line x1=\"50\" y1=\"0\" x2=\"50\" y2=\"120\" />\n",
" <line x1=\"56\" y1=\"0\" x2=\"56\" y2=\"120\" />\n",
" <line x1=\"63\" y1=\"0\" x2=\"63\" y2=\"120\" />\n",
" <line x1=\"69\" y1=\"0\" x2=\"69\" y2=\"120\" />\n",
" <line x1=\"75\" y1=\"0\" x2=\"75\" y2=\"120\" />\n",
" <line x1=\"81\" y1=\"0\" x2=\"81\" y2=\"120\" />\n",
" <line x1=\"88\" y1=\"0\" x2=\"88\" y2=\"120\" />\n",
" <line x1=\"94\" y1=\"0\" x2=\"94\" y2=\"120\" />\n",
" <line x1=\"100\" y1=\"0\" x2=\"100\" y2=\"120\" />\n",
" <line x1=\"106\" y1=\"0\" x2=\"106\" y2=\"120\" />\n",
" <line x1=\"113\" y1=\"0\" x2=\"113\" y2=\"120\" />\n",
" <line x1=\"120\" y1=\"0\" x2=\"120\" y2=\"120\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"0.0,0.0 120.0,0.0 120.0,120.0 0.0,120.0\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"60.000000\" y=\"140.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >100000</text>\n",
" <text x=\"140.000000\" y=\"60.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,140.000000,60.000000)\">100000</text>\n",
"</svg>\n",
" </td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"dask.array<rechunk-merge, shape=(100000, 100000), dtype=float64, chunksize=(500, 500), chunktype=numpy.ndarray>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# You can rechunk a dask array - but dask will need to load all of the data from the\n",
"# original chunking to load one of the new chunks - be careful going from lat-lon chunked\n",
"# to time chunked\n",
"\n",
"LL.rechunk((500,500))"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "dcdef544-1268-4c02-9876-8be80819082d",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
" <div>\n",
" <div style=\"width: 52px; height: 52px; position: absolute;\">\n",
" <svg width=\"76\" height=\"71\" viewBox=\"0 0 76 71\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n",
" <circle cx=\"61.5\" cy=\"36.5\" r=\"13.5\" style=\"stroke: var(--jp-ui-font-color2, #1D1D1D); fill: var(--jp-layout-color1, #F2F2F2);\" stroke-width=\"2\"/>\n",
" <circle cx=\"14.5\" cy=\"14.5\" r=\"13.5\" style=\"stroke: var(--jp-ui-font-color2, #1D1D1D); fill: var(--jp-layout-color1, #F2F2F2);\" stroke-width=\"2\"/>\n",
" <circle cx=\"14.5\" cy=\"56.5\" r=\"13.5\" style=\"stroke: var(--jp-ui-font-color2, #1D1D1D); fill: var(--jp-layout-color1, #F2F2F2);\" stroke-width=\"2\"/>\n",
" <path d=\"M28 16L30.5 16C33.2614 16 35.5 18.2386 35.5 21L35.5 32.0001C35.5 34.7615 37.7386 37.0001 40.5 37.0001L43 37.0001\" style=\"stroke: var(--jp-ui-font-color2, #1D1D1D);\" stroke-width=\"1.5\"/>\n",
" <path d=\"M40.5 37L40.5 37.75L40.5 37.75L40.5 37ZM35.5 42L36.25 42L35.5 42ZM35.5 52L34.75 52L35.5 52ZM30.5 57L30.5 57.75L30.5 57ZM41.5001 36.25L40.5 36.25L40.5 37.75L41.5001 37.75L41.5001 36.25ZM34.75 42L34.75 52L36.25 52L36.25 42L34.75 42ZM30.5 56.25L28.0001 56.25L28.0001 57.75L30.5 57.75L30.5 56.25ZM34.75 52C34.75 54.3472 32.8472 56.25 30.5 56.25L30.5 57.75C33.6756 57.75 36.25 55.1756 36.25 52L34.75 52ZM40.5 36.25C37.3244 36.25 34.75 38.8243 34.75 42L36.25 42C36.25 39.6528 38.1528 37.75 40.5 37.75L40.5 36.25Z\" style=\"fill: var(--jp-ui-font-color2, #1D1D1D);\"/>\n",
" <circle cx=\"28\" cy=\"16\" r=\"2.25\" fill=\"#E5E5E5\" style=\"stroke: var(--jp-ui-font-color2, #1D1D1D);\" stroke-width=\"1.5\"/>\n",
" <circle cx=\"28\" cy=\"57\" r=\"2.25\" fill=\"#E5E5E5\" style=\"stroke: var(--jp-ui-font-color2, #1D1D1D);\" stroke-width=\"1.5\"/>\n",
" <path d=\"M45.25 36.567C45.5833 36.7594 45.5833 37.2406 45.25 37.433L42.25 39.1651C41.9167 39.3575 41.5 39.117 41.5 38.7321V35.2679C41.5 34.883 41.9167 34.6425 42.25 34.8349L45.25 36.567Z\" style=\"fill: var(--jp-ui-font-color2, #1D1D1D);\"/>\n",
" </svg>\n",
" </div>\n",
" <div style=\"margin-left: 64px;\">\n",
" <h3 style=\"margin-bottom: 0px;\">HighLevelGraph</h3>\n",
" <p style=\"color: var(--jp-ui-font-color2, #5D5851); margin-bottom:0px;\">\n",
" HighLevelGraph with 3 layers and 1002000 keys from all layers.\n",
" </p>\n",
" \n",
" <div style=\"\">\n",
" <svg width=\"24\" height=\"24\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" style=\"position: absolute;\">\n",
" \n",
" <circle cx=\"16\" cy=\"16\" r=\"14\" fill=\"#8F8F8F\" style=\"stroke: var(--jp-ui-font-color2, #1D1D1D);\" stroke-width=\"2\"/>\n",
" \n",
" </svg>\n",
"\n",
" <details style=\"margin-left: 32px;\">\n",
" <summary style=\"margin-bottom: 10px; margin-top: 10px;\">\n",
" <h4 style=\"display: inline;\">Layer1: linspace</h4>\n",
" </summary>\n",
" <p style=\"color: var(--jp-ui-font-color2, #5D5851); margin: -0.25em 0px 0px 0px;\">\n",
" linspace-91e3237b3f6176a7349f63d0722747aa\n",
" </p>\n",
"\n",
" <table>\n",
" <tr>\n",
" <td>\n",
" <table>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">layer_type</th>\n",
" <td style=\"text-align: left;\">MaterializedLayer</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">is_materialized</th>\n",
" <td style=\"text-align: left;\">True</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">number of outputs</th>\n",
" <td style=\"text-align: left;\">1000</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">shape</th>\n",
" <td style=\"text-align: left;\">(100000,)</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">dtype</th>\n",
" <td style=\"text-align: left;\">float64</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">chunksize</th>\n",
" <td style=\"text-align: left;\">(100,)</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">type</th>\n",
" <td style=\"text-align: left;\">dask.array.core.Array</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">chunk_type</th>\n",
" <td style=\"text-align: left;\">numpy.ndarray</td>\n",
" </tr>\n",
" \n",
" \n",
" </table>\n",
" </td>\n",
" <td>\n",
" <svg width=\"250\" height=\"92\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"200\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"0\" y1=\"42\" x2=\"200\" y2=\"42\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"42\" style=\"stroke-width:2\" />\n",
" <line x1=\"6\" y1=\"0\" x2=\"6\" y2=\"42\" />\n",
" <line x1=\"12\" y1=\"0\" x2=\"12\" y2=\"42\" />\n",
" <line x1=\"18\" y1=\"0\" x2=\"18\" y2=\"42\" />\n",
" <line x1=\"25\" y1=\"0\" x2=\"25\" y2=\"42\" />\n",
" <line x1=\"31\" y1=\"0\" x2=\"31\" y2=\"42\" />\n",
" <line x1=\"37\" y1=\"0\" x2=\"37\" y2=\"42\" />\n",
" <line x1=\"43\" y1=\"0\" x2=\"43\" y2=\"42\" />\n",
" <line x1=\"50\" y1=\"0\" x2=\"50\" y2=\"42\" />\n",
" <line x1=\"56\" y1=\"0\" x2=\"56\" y2=\"42\" />\n",
" <line x1=\"62\" y1=\"0\" x2=\"62\" y2=\"42\" />\n",
" <line x1=\"68\" y1=\"0\" x2=\"68\" y2=\"42\" />\n",
" <line x1=\"75\" y1=\"0\" x2=\"75\" y2=\"42\" />\n",
" <line x1=\"81\" y1=\"0\" x2=\"81\" y2=\"42\" />\n",
" <line x1=\"87\" y1=\"0\" x2=\"87\" y2=\"42\" />\n",
" <line x1=\"93\" y1=\"0\" x2=\"93\" y2=\"42\" />\n",
" <line x1=\"100\" y1=\"0\" x2=\"100\" y2=\"42\" />\n",
" <line x1=\"106\" y1=\"0\" x2=\"106\" y2=\"42\" />\n",
" <line x1=\"112\" y1=\"0\" x2=\"112\" y2=\"42\" />\n",
" <line x1=\"118\" y1=\"0\" x2=\"118\" y2=\"42\" />\n",
" <line x1=\"125\" y1=\"0\" x2=\"125\" y2=\"42\" />\n",
" <line x1=\"131\" y1=\"0\" x2=\"131\" y2=\"42\" />\n",
" <line x1=\"137\" y1=\"0\" x2=\"137\" y2=\"42\" />\n",
" <line x1=\"143\" y1=\"0\" x2=\"143\" y2=\"42\" />\n",
" <line x1=\"150\" y1=\"0\" x2=\"150\" y2=\"42\" />\n",
" <line x1=\"156\" y1=\"0\" x2=\"156\" y2=\"42\" />\n",
" <line x1=\"162\" y1=\"0\" x2=\"162\" y2=\"42\" />\n",
" <line x1=\"168\" y1=\"0\" x2=\"168\" y2=\"42\" />\n",
" <line x1=\"175\" y1=\"0\" x2=\"175\" y2=\"42\" />\n",
" <line x1=\"181\" y1=\"0\" x2=\"181\" y2=\"42\" />\n",
" <line x1=\"187\" y1=\"0\" x2=\"187\" y2=\"42\" />\n",
" <line x1=\"193\" y1=\"0\" x2=\"193\" y2=\"42\" />\n",
" <line x1=\"200\" y1=\"0\" x2=\"200\" y2=\"42\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"0.0,0.0 200.0,0.0 200.0,42.354360857637474 0.0,42.354360857637474\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"100.000000\" y=\"62.354361\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >100000</text>\n",
" <text x=\"220.000000\" y=\"21.177180\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,220.000000,21.177180)\">1</text>\n",
"</svg>\n",
" </td>\n",
" </tr>\n",
" </table>\n",
"\n",
" </details>\n",
"</div>\n",
" \n",
" <div style=\"\">\n",
" <svg width=\"24\" height=\"24\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" style=\"position: absolute;\">\n",
" \n",
" <circle cx=\"16\" cy=\"16\" r=\"14\" fill=\"#8F8F8F\" style=\"stroke: var(--jp-ui-font-color2, #1D1D1D);\" stroke-width=\"2\"/>\n",
" \n",
" </svg>\n",
"\n",
" <details style=\"margin-left: 32px;\">\n",
" <summary style=\"margin-bottom: 10px; margin-top: 10px;\">\n",
" <h4 style=\"display: inline;\">Layer2: getitem</h4>\n",
" </summary>\n",
" <p style=\"color: var(--jp-ui-font-color2, #5D5851); margin: -0.25em 0px 0px 0px;\">\n",
" getitem-b7365dad23f76be99767791b4204c193\n",
" </p>\n",
"\n",
" <table>\n",
" <tr>\n",
" <td>\n",
" <table>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">layer_type</th>\n",
" <td style=\"text-align: left;\">MaterializedLayer</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">is_materialized</th>\n",
" <td style=\"text-align: left;\">True</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">number of outputs</th>\n",
" <td style=\"text-align: left;\">1000</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">shape</th>\n",
" <td style=\"text-align: left;\">(1, 100000)</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">dtype</th>\n",
" <td style=\"text-align: left;\">float64</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">chunksize</th>\n",
" <td style=\"text-align: left;\">(1, 100)</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">type</th>\n",
" <td style=\"text-align: left;\">dask.array.core.Array</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">chunk_type</th>\n",
" <td style=\"text-align: left;\">numpy.ndarray</td>\n",
" </tr>\n",
" \n",
" \n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\"> depends on </th>\n",
" <td style=\"text-align: left;\">linspace-91e3237b3f6176a7349f63d0722747aa</td>\n",
" </tr>\n",
" \n",
" \n",
" </table>\n",
" </td>\n",
" <td>\n",
" <svg width=\"250\" height=\"92\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"200\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"0\" y1=\"42\" x2=\"200\" y2=\"42\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"42\" style=\"stroke-width:2\" />\n",
" <line x1=\"6\" y1=\"0\" x2=\"6\" y2=\"42\" />\n",
" <line x1=\"12\" y1=\"0\" x2=\"12\" y2=\"42\" />\n",
" <line x1=\"18\" y1=\"0\" x2=\"18\" y2=\"42\" />\n",
" <line x1=\"25\" y1=\"0\" x2=\"25\" y2=\"42\" />\n",
" <line x1=\"31\" y1=\"0\" x2=\"31\" y2=\"42\" />\n",
" <line x1=\"37\" y1=\"0\" x2=\"37\" y2=\"42\" />\n",
" <line x1=\"43\" y1=\"0\" x2=\"43\" y2=\"42\" />\n",
" <line x1=\"50\" y1=\"0\" x2=\"50\" y2=\"42\" />\n",
" <line x1=\"56\" y1=\"0\" x2=\"56\" y2=\"42\" />\n",
" <line x1=\"62\" y1=\"0\" x2=\"62\" y2=\"42\" />\n",
" <line x1=\"68\" y1=\"0\" x2=\"68\" y2=\"42\" />\n",
" <line x1=\"75\" y1=\"0\" x2=\"75\" y2=\"42\" />\n",
" <line x1=\"81\" y1=\"0\" x2=\"81\" y2=\"42\" />\n",
" <line x1=\"87\" y1=\"0\" x2=\"87\" y2=\"42\" />\n",
" <line x1=\"93\" y1=\"0\" x2=\"93\" y2=\"42\" />\n",
" <line x1=\"100\" y1=\"0\" x2=\"100\" y2=\"42\" />\n",
" <line x1=\"106\" y1=\"0\" x2=\"106\" y2=\"42\" />\n",
" <line x1=\"112\" y1=\"0\" x2=\"112\" y2=\"42\" />\n",
" <line x1=\"118\" y1=\"0\" x2=\"118\" y2=\"42\" />\n",
" <line x1=\"125\" y1=\"0\" x2=\"125\" y2=\"42\" />\n",
" <line x1=\"131\" y1=\"0\" x2=\"131\" y2=\"42\" />\n",
" <line x1=\"137\" y1=\"0\" x2=\"137\" y2=\"42\" />\n",
" <line x1=\"143\" y1=\"0\" x2=\"143\" y2=\"42\" />\n",
" <line x1=\"150\" y1=\"0\" x2=\"150\" y2=\"42\" />\n",
" <line x1=\"156\" y1=\"0\" x2=\"156\" y2=\"42\" />\n",
" <line x1=\"162\" y1=\"0\" x2=\"162\" y2=\"42\" />\n",
" <line x1=\"168\" y1=\"0\" x2=\"168\" y2=\"42\" />\n",
" <line x1=\"175\" y1=\"0\" x2=\"175\" y2=\"42\" />\n",
" <line x1=\"181\" y1=\"0\" x2=\"181\" y2=\"42\" />\n",
" <line x1=\"187\" y1=\"0\" x2=\"187\" y2=\"42\" />\n",
" <line x1=\"193\" y1=\"0\" x2=\"193\" y2=\"42\" />\n",
" <line x1=\"200\" y1=\"0\" x2=\"200\" y2=\"42\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"0.0,0.0 200.0,0.0 200.0,42.354360857637474 0.0,42.354360857637474\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"100.000000\" y=\"62.354361\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >100000</text>\n",
" <text x=\"220.000000\" y=\"21.177180\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,220.000000,21.177180)\">1</text>\n",
"</svg>\n",
" </td>\n",
" </tr>\n",
" </table>\n",
"\n",
" </details>\n",
"</div>\n",
" \n",
" <div style=\"\">\n",
" <svg width=\"24\" height=\"24\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" style=\"position: absolute;\">\n",
" \n",
" <circle cx=\"16\" cy=\"16\" r=\"14\" fill=\"#8F8F8F\" style=\"stroke: var(--jp-ui-font-color2, #1D1D1D);\" stroke-width=\"2\"/>\n",
" \n",
" </svg>\n",
"\n",
" <details style=\"margin-left: 32px;\">\n",
" <summary style=\"margin-bottom: 10px; margin-top: 10px;\">\n",
" <h4 style=\"display: inline;\">Layer3: broadcast_to</h4>\n",
" </summary>\n",
" <p style=\"color: var(--jp-ui-font-color2, #5D5851); margin: -0.25em 0px 0px 0px;\">\n",
" broadcast_to-625a86c729522fa9c78be490c9b5a02e\n",
" </p>\n",
"\n",
" <table>\n",
" <tr>\n",
" <td>\n",
" <table>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">layer_type</th>\n",
" <td style=\"text-align: left;\">MaterializedLayer</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">is_materialized</th>\n",
" <td style=\"text-align: left;\">True</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">number of outputs</th>\n",
" <td style=\"text-align: left;\">1000000</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">shape</th>\n",
" <td style=\"text-align: left;\">(100000, 100000)</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">dtype</th>\n",
" <td style=\"text-align: left;\">float64</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">chunksize</th>\n",
" <td style=\"text-align: left;\">(100, 100)</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">type</th>\n",
" <td style=\"text-align: left;\">dask.array.core.Array</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\">chunk_type</th>\n",
" <td style=\"text-align: left;\">numpy.ndarray</td>\n",
" </tr>\n",
" \n",
" \n",
" \n",
" <tr>\n",
" <th style=\"text-align: left; width: 150px;\"> depends on </th>\n",
" <td style=\"text-align: left;\">getitem-b7365dad23f76be99767791b4204c193</td>\n",
" </tr>\n",
" \n",
" \n",
" </table>\n",
" </td>\n",
" <td>\n",
" <svg width=\"250\" height=\"250\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"200\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"0\" y1=\"6\" x2=\"200\" y2=\"6\" />\n",
" <line x1=\"0\" y1=\"12\" x2=\"200\" y2=\"12\" />\n",
" <line x1=\"0\" y1=\"18\" x2=\"200\" y2=\"18\" />\n",
" <line x1=\"0\" y1=\"25\" x2=\"200\" y2=\"25\" />\n",
" <line x1=\"0\" y1=\"31\" x2=\"200\" y2=\"31\" />\n",
" <line x1=\"0\" y1=\"37\" x2=\"200\" y2=\"37\" />\n",
" <line x1=\"0\" y1=\"43\" x2=\"200\" y2=\"43\" />\n",
" <line x1=\"0\" y1=\"50\" x2=\"200\" y2=\"50\" />\n",
" <line x1=\"0\" y1=\"56\" x2=\"200\" y2=\"56\" />\n",
" <line x1=\"0\" y1=\"62\" x2=\"200\" y2=\"62\" />\n",
" <line x1=\"0\" y1=\"68\" x2=\"200\" y2=\"68\" />\n",
" <line x1=\"0\" y1=\"75\" x2=\"200\" y2=\"75\" />\n",
" <line x1=\"0\" y1=\"81\" x2=\"200\" y2=\"81\" />\n",
" <line x1=\"0\" y1=\"87\" x2=\"200\" y2=\"87\" />\n",
" <line x1=\"0\" y1=\"93\" x2=\"200\" y2=\"93\" />\n",
" <line x1=\"0\" y1=\"100\" x2=\"200\" y2=\"100\" />\n",
" <line x1=\"0\" y1=\"106\" x2=\"200\" y2=\"106\" />\n",
" <line x1=\"0\" y1=\"112\" x2=\"200\" y2=\"112\" />\n",
" <line x1=\"0\" y1=\"118\" x2=\"200\" y2=\"118\" />\n",
" <line x1=\"0\" y1=\"125\" x2=\"200\" y2=\"125\" />\n",
" <line x1=\"0\" y1=\"131\" x2=\"200\" y2=\"131\" />\n",
" <line x1=\"0\" y1=\"137\" x2=\"200\" y2=\"137\" />\n",
" <line x1=\"0\" y1=\"143\" x2=\"200\" y2=\"143\" />\n",
" <line x1=\"0\" y1=\"150\" x2=\"200\" y2=\"150\" />\n",
" <line x1=\"0\" y1=\"156\" x2=\"200\" y2=\"156\" />\n",
" <line x1=\"0\" y1=\"162\" x2=\"200\" y2=\"162\" />\n",
" <line x1=\"0\" y1=\"168\" x2=\"200\" y2=\"168\" />\n",
" <line x1=\"0\" y1=\"175\" x2=\"200\" y2=\"175\" />\n",
" <line x1=\"0\" y1=\"181\" x2=\"200\" y2=\"181\" />\n",
" <line x1=\"0\" y1=\"187\" x2=\"200\" y2=\"187\" />\n",
" <line x1=\"0\" y1=\"193\" x2=\"200\" y2=\"193\" />\n",
" <line x1=\"0\" y1=\"200\" x2=\"200\" y2=\"200\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"200\" style=\"stroke-width:2\" />\n",
" <line x1=\"6\" y1=\"0\" x2=\"6\" y2=\"200\" />\n",
" <line x1=\"12\" y1=\"0\" x2=\"12\" y2=\"200\" />\n",
" <line x1=\"18\" y1=\"0\" x2=\"18\" y2=\"200\" />\n",
" <line x1=\"25\" y1=\"0\" x2=\"25\" y2=\"200\" />\n",
" <line x1=\"31\" y1=\"0\" x2=\"31\" y2=\"200\" />\n",
" <line x1=\"37\" y1=\"0\" x2=\"37\" y2=\"200\" />\n",
" <line x1=\"43\" y1=\"0\" x2=\"43\" y2=\"200\" />\n",
" <line x1=\"50\" y1=\"0\" x2=\"50\" y2=\"200\" />\n",
" <line x1=\"56\" y1=\"0\" x2=\"56\" y2=\"200\" />\n",
" <line x1=\"62\" y1=\"0\" x2=\"62\" y2=\"200\" />\n",
" <line x1=\"68\" y1=\"0\" x2=\"68\" y2=\"200\" />\n",
" <line x1=\"75\" y1=\"0\" x2=\"75\" y2=\"200\" />\n",
" <line x1=\"81\" y1=\"0\" x2=\"81\" y2=\"200\" />\n",
" <line x1=\"87\" y1=\"0\" x2=\"87\" y2=\"200\" />\n",
" <line x1=\"93\" y1=\"0\" x2=\"93\" y2=\"200\" />\n",
" <line x1=\"100\" y1=\"0\" x2=\"100\" y2=\"200\" />\n",
" <line x1=\"106\" y1=\"0\" x2=\"106\" y2=\"200\" />\n",
" <line x1=\"112\" y1=\"0\" x2=\"112\" y2=\"200\" />\n",
" <line x1=\"118\" y1=\"0\" x2=\"118\" y2=\"200\" />\n",
" <line x1=\"125\" y1=\"0\" x2=\"125\" y2=\"200\" />\n",
" <line x1=\"131\" y1=\"0\" x2=\"131\" y2=\"200\" />\n",
" <line x1=\"137\" y1=\"0\" x2=\"137\" y2=\"200\" />\n",
" <line x1=\"143\" y1=\"0\" x2=\"143\" y2=\"200\" />\n",
" <line x1=\"150\" y1=\"0\" x2=\"150\" y2=\"200\" />\n",
" <line x1=\"156\" y1=\"0\" x2=\"156\" y2=\"200\" />\n",
" <line x1=\"162\" y1=\"0\" x2=\"162\" y2=\"200\" />\n",
" <line x1=\"168\" y1=\"0\" x2=\"168\" y2=\"200\" />\n",
" <line x1=\"175\" y1=\"0\" x2=\"175\" y2=\"200\" />\n",
" <line x1=\"181\" y1=\"0\" x2=\"181\" y2=\"200\" />\n",
" <line x1=\"187\" y1=\"0\" x2=\"187\" y2=\"200\" />\n",
" <line x1=\"193\" y1=\"0\" x2=\"193\" y2=\"200\" />\n",
" <line x1=\"200\" y1=\"0\" x2=\"200\" y2=\"200\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"0.0,0.0 200.0,0.0 200.0,200.0 0.0,200.0\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"100.000000\" y=\"220.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >100000</text>\n",
" <text x=\"220.000000\" y=\"100.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,220.000000,100.000000)\">100000</text>\n",
"</svg>\n",
" </td>\n",
" </tr>\n",
" </table>\n",
"\n",
" </details>\n",
"</div>\n",
" \n",
" </div>\n",
" </div>\n",
"</div>"
],
"text/plain": [
"HighLevelGraph with 3 layers.\n",
"<dask.highlevelgraph.HighLevelGraph object at 0x1541442c6cd0>\n",
" 0. linspace-91e3237b3f6176a7349f63d0722747aa\n",
" 1. getitem-b7365dad23f76be99767791b4204c193\n",
" 2. broadcast_to-625a86c729522fa9c78be490c9b5a02e"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# You can see the saved computations by looking at the array's .dask parameter\n",
"\n",
"LL.dask"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "4bdd227b-20cd-4b19-8943-2ef3dd7a04c8",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.11.9"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment