Skip to content

Instantly share code, notes, and snippets.

@ivirshup
Last active June 18, 2024 17:05
Show Gist options
  • Save ivirshup/eb4f5beb1bb33724b8c11bd0eacf03a6 to your computer and use it in GitHub Desktop.
Save ivirshup/eb4f5beb1bb33724b8c11bd0eacf03a6 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import dask.array as da\n",
"from dask import delayed\n",
"import dask.distributed as dd\n",
"from dask.array.core import slices_from_chunks\n",
"\n",
"import numpy as np\n",
"from scipy import sparse\n",
"\n",
"from tiledbsoma import SOMATileDBContext\n",
"import tiledb\n",
"import cellxgene_census"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"def to_listed_chunks(chunk_size: int, dim_size: int) -> list[int]:\n",
" n_full, rem = divmod(dim_size, chunk_size)\n",
" chunk_list = [chunk_size] * n_full\n",
" if rem:\n",
" chunk_list += [rem]\n",
" return chunk_list\n",
"\n",
"def make_sparse_chunk(array: tiledb.Array, tile_slices: list[slice]) -> da.Array:\n",
" shape = [(s.stop - s.start) for s in tile_slices]\n",
" def _inner(array, tile_slices):\n",
" res = array[tile_slices]\n",
" offsets = [s.start for s in tile_slices]\n",
" return sparse.csr_matrix((res[\"soma_data\"], (res[\"soma_dim_0\"] - offsets[0], res[\"soma_dim_1\"] - offsets[1])), shape=shape)\n",
" return da.from_delayed(delayed(_inner)(array, tile_slices), shape=shape, meta=sparse.csr_matrix((0, 0), dtype=tiledb_array.dtype))\n",
"\n",
"def tiledb_sparse_as_dask(tdb_array: tiledb.Array) -> da.Array:\n",
" schema = tdb_array.schema\n",
" chunks = list(schema.domain.dim(i).tile for i in range(schema.ndim))\n",
" # Simplifying to have complete slices across rows\n",
" slices: list[list[slice]] = slices_from_chunks((to_listed_chunks(chunks[0], tdb_array.shape[0]), [tdb_array.shape[1]]))\n",
" return da.concatenate(\n",
" [make_sparse_chunk(tdb_array, s) for s in slices], axis=0\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/ubuntu/miniforge3/envs/cellxgene-census-dev/lib/python3.11/site-packages/distributed/node.py:182: UserWarning: Port 8787 is already in use.\n",
"Perhaps you already have a cluster running?\n",
"Hosting the HTTP server on port 40451 instead\n",
" warnings.warn(\n"
]
},
{
"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-6aef70e4-238e-11ef-8a36-023ca6c22285</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=\"http://127.0.0.1:40451/status\" target=\"_blank\">http://127.0.0.1:40451/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;\">e33312d5</p>\n",
" <table style=\"width: 100%; text-align: left;\">\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard:</strong> <a href=\"http://127.0.0.1:40451/status\" target=\"_blank\">http://127.0.0.1:40451/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Workers:</strong> 8\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads:</strong> 32\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total memory:</strong> 123.85 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-14b365e8-ac89-4b71-ba9d-80edd63f6a93</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:41849\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Workers:</strong> 8\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard:</strong> <a href=\"http://127.0.0.1:40451/status\" target=\"_blank\">http://127.0.0.1:40451/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads:</strong> 32\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> 123.85 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:33571\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads: </strong> 4\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:39137/status\" target=\"_blank\">http://127.0.0.1:39137/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Memory: </strong> 15.48 GiB\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Nanny: </strong> tcp://127.0.0.1:34391\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> /tmp/dask-scratch-space/worker-5r12h2lq\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:36573\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads: </strong> 4\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:35757/status\" target=\"_blank\">http://127.0.0.1:35757/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Memory: </strong> 15.48 GiB\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Nanny: </strong> tcp://127.0.0.1:46443\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> /tmp/dask-scratch-space/worker-plieuvuq\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: 2</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:39155\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads: </strong> 4\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:37755/status\" target=\"_blank\">http://127.0.0.1:37755/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Memory: </strong> 15.48 GiB\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Nanny: </strong> tcp://127.0.0.1:33823\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> /tmp/dask-scratch-space/worker-8mp6h_d4\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: 3</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:45467\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads: </strong> 4\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:33177/status\" target=\"_blank\">http://127.0.0.1:33177/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Memory: </strong> 15.48 GiB\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Nanny: </strong> tcp://127.0.0.1:44321\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> /tmp/dask-scratch-space/worker-9wryfc7y\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: 4</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:33093\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads: </strong> 4\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:44605/status\" target=\"_blank\">http://127.0.0.1:44605/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Memory: </strong> 15.48 GiB\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Nanny: </strong> tcp://127.0.0.1:43791\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> /tmp/dask-scratch-space/worker-liwdqszq\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: 5</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:37015\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads: </strong> 4\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:45807/status\" target=\"_blank\">http://127.0.0.1:45807/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Memory: </strong> 15.48 GiB\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Nanny: </strong> tcp://127.0.0.1:45083\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> /tmp/dask-scratch-space/worker-juucrlqx\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: 6</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:34535\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads: </strong> 4\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:34717/status\" target=\"_blank\">http://127.0.0.1:34717/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Memory: </strong> 15.48 GiB\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Nanny: </strong> tcp://127.0.0.1:35731\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> /tmp/dask-scratch-space/worker-twbczauz\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: 7</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:44763\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads: </strong> 4\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"http://127.0.0.1:39667/status\" target=\"_blank\">http://127.0.0.1:39667/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Memory: </strong> 15.48 GiB\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Nanny: </strong> tcp://127.0.0.1:42395\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> /tmp/dask-scratch-space/worker-x889xw0g\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:41849' processes=8 threads=32, memory=123.85 GiB>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cluster = dd.LocalCluster()\n",
"client = dd.Client(cluster)\n",
"client"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"SOMA_URI= \"s3://cellxgene-census-public-us-west-2/cell-census/2023-12-15/soma\"\n",
"SPECIES = \"mus_musculus\"\n",
"\n",
"# need to specify anonymous access\n",
"ctx = {\n",
" \"vfs.s3.no_sign_request\": \"true\",\n",
" \"vfs.s3.region\": \"us-west-2\"\n",
"}\n",
"\n",
"tiledb_array = tiledb.open(\n",
" f\"{SOMA_URI}/census_data/{SPECIES}/ms/RNA/X/raw/\",\n",
" ctx=tiledb.Ctx(ctx),\n",
")\n",
"\n",
"X = tiledb_sparse_as_dask(tiledb_array)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"census = cellxgene_census.open_soma(uri=SOMA_URI, context=SOMATileDBContext(tiledb_config=ctx))\n",
"obs = cellxgene_census.get_obs(census, SPECIES)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"X_dense = X.map_blocks(\n",
" lambda x: x.toarray(), dtype=X.dtype, meta=np.array([])\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"cell_type = obs[\"cell_type\"].astype(\"category\")\n",
"dev_stage = obs[\"development_stage\"].astype(\"category\")"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"# encoding cell_type and developmental_stage together:\n",
"dev_x_celltype = dev_stage.cat.codes * len(cell_type.cat.categories) + cell_type.cat.codes"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"import flox"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"res = flox.groupby_reduce(\n",
" X_dense.T,\n",
" dev_x_celltype,\n",
" func=\"sum\",\n",
" method=\"map-reduce\",\n",
" reindex=True,\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(dask.array<groupby_sum, shape=(52417, 1349), dtype=float32, chunksize=(52417, 1349), chunktype=numpy.ndarray>,\n",
" array([ 12, 13, 14, ..., 8910, 8911, 8927], dtype=int16))"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"res"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/ubuntu/miniforge3/envs/cellxgene-census-dev/lib/python3.11/site-packages/distributed/client.py:3164: UserWarning: Sending large graph of size 44.54 MiB.\n",
"This may cause some slowdown.\n",
"Consider scattering data ahead of time and using futures.\n",
" warnings.warn(\n",
"2024-06-05 23:03:22,296 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 9.60 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:03:22,425 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 10.95 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:04:58,095 - distributed.worker.memory - WARNING - Worker is at 82% memory usage. Pausing worker. Process memory: 12.73 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:04:59,287 - distributed.worker.memory - WARNING - Worker is at 76% memory usage. Resuming worker. Process memory: 11.80 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:05:15,896 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 11.00 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:05:18,082 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 9.95 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:05:29,870 - distributed.worker.memory - WARNING - Worker is at 80% memory usage. Pausing worker. Process memory: 12.51 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:05:31,824 - distributed.worker.memory - WARNING - Worker is at 77% memory usage. Resuming worker. Process memory: 12.06 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:05:46,250 - distributed.worker.memory - WARNING - Worker is at 82% memory usage. Pausing worker. Process memory: 12.84 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:05:47,033 - distributed.worker.memory - WARNING - Worker is at 64% memory usage. Resuming worker. Process memory: 9.98 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:06:53,892 - distributed.worker.memory - WARNING - Worker is at 80% memory usage. Pausing worker. Process memory: 12.45 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:06:54,488 - distributed.worker.memory - WARNING - Worker is at 79% memory usage. Resuming worker. Process memory: 12.31 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:06:54,807 - distributed.worker.memory - WARNING - Worker is at 81% memory usage. Pausing worker. Process memory: 12.58 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:06:54,979 - distributed.worker.memory - WARNING - Worker is at 73% memory usage. Resuming worker. Process memory: 11.36 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:09:00,316 - distributed.worker.memory - WARNING - Worker is at 83% memory usage. Pausing worker. Process memory: 12.91 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:09:03,496 - distributed.worker.memory - WARNING - Worker is at 76% memory usage. Resuming worker. Process memory: 11.92 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:09:32,044 - distributed.worker.memory - WARNING - Worker is at 80% memory usage. Pausing worker. Process memory: 12.40 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:09:34,392 - distributed.worker.memory - WARNING - Worker is at 73% memory usage. Resuming worker. Process memory: 11.32 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:09:59,021 - distributed.worker.memory - WARNING - Worker is at 81% memory usage. Pausing worker. Process memory: 12.54 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:09:59,127 - distributed.worker.memory - WARNING - Worker is at 75% memory usage. Resuming worker. Process memory: 11.65 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:12:24,031 - distributed.worker.memory - WARNING - Worker is at 83% memory usage. Pausing worker. Process memory: 12.93 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:12:25,690 - distributed.worker.memory - WARNING - Worker is at 72% memory usage. Resuming worker. Process memory: 11.16 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:12:33,266 - distributed.worker.memory - WARNING - Worker is at 84% memory usage. Pausing worker. Process memory: 13.02 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:12:34,488 - distributed.worker.memory - WARNING - Worker is at 73% memory usage. Resuming worker. Process memory: 11.39 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:13:47,982 - distributed.worker.memory - WARNING - Worker is at 80% memory usage. Pausing worker. Process memory: 12.40 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:13:48,095 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 12.40 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:13:48,762 - distributed.worker.memory - WARNING - Worker is at 68% memory usage. Resuming worker. Process memory: 10.64 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:14:26,521 - distributed.worker.memory - WARNING - Worker is at 82% memory usage. Pausing worker. Process memory: 12.82 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:14:29,243 - distributed.worker.memory - WARNING - Worker is at 53% memory usage. Resuming worker. Process memory: 8.24 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:14:35,316 - distributed.worker.memory - WARNING - Worker is at 81% memory usage. Pausing worker. Process memory: 12.60 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:14:35,787 - distributed.worker.memory - WARNING - Worker is at 80% memory usage. Pausing worker. Process memory: 12.41 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:14:36,053 - distributed.worker.memory - WARNING - Worker is at 72% memory usage. Resuming worker. Process memory: 11.22 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:14:37,889 - distributed.worker.memory - WARNING - Worker is at 69% memory usage. Resuming worker. Process memory: 10.81 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:14:41,384 - distributed.worker.memory - WARNING - Worker is at 80% memory usage. Pausing worker. Process memory: 12.39 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:14:41,393 - distributed.worker.memory - WARNING - Worker is at 73% memory usage. Resuming worker. Process memory: 11.45 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:14:44,851 - distributed.worker.memory - WARNING - Worker is at 80% memory usage. Pausing worker. Process memory: 12.54 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:14:44,852 - distributed.worker.memory - WARNING - Worker is at 75% memory usage. Resuming worker. Process memory: 11.66 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:14:48,061 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 11.41 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:14:49,640 - distributed.worker.memory - WARNING - Worker is at 81% memory usage. Pausing worker. Process memory: 12.68 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:14:49,751 - distributed.worker.memory - WARNING - Worker is at 77% memory usage. Resuming worker. Process memory: 12.06 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:14:54,318 - distributed.worker.memory - WARNING - Worker is at 85% memory usage. Pausing worker. Process memory: 13.29 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:14:55,228 - distributed.worker.memory - WARNING - Worker is at 73% memory usage. Resuming worker. Process memory: 11.42 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:15:22,751 - distributed.worker.memory - WARNING - Worker is at 83% memory usage. Pausing worker. Process memory: 12.88 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:15:24,856 - distributed.worker.memory - WARNING - Worker is at 61% memory usage. Resuming worker. Process memory: 9.57 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:15:57,124 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 9.53 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:17:26,847 - distributed.worker.memory - WARNING - Worker is at 84% memory usage. Pausing worker. Process memory: 13.12 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:17:28,292 - distributed.worker.memory - WARNING - Worker is at 69% memory usage. Resuming worker. Process memory: 10.77 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:17:38,107 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 11.92 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:17:39,761 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 11.77 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:17:43,424 - distributed.worker.memory - WARNING - Worker is at 82% memory usage. Pausing worker. Process memory: 12.70 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:17:44,232 - distributed.worker.memory - WARNING - Worker is at 79% memory usage. Resuming worker. Process memory: 12.38 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:17:58,806 - distributed.worker.memory - WARNING - Worker is at 85% memory usage. Pausing worker. Process memory: 13.27 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:18:01,047 - distributed.worker.memory - WARNING - Worker is at 71% memory usage. Resuming worker. Process memory: 11.13 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:18:01,052 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 11.13 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:18:03,545 - distributed.worker.memory - WARNING - Worker is at 80% memory usage. Pausing worker. Process memory: 12.41 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:18:05,374 - distributed.worker.memory - WARNING - Worker is at 78% memory usage. Resuming worker. Process memory: 12.16 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:18:20,184 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 10.46 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:18:21,515 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 9.67 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:18:35,761 - distributed.worker.memory - WARNING - Worker is at 82% memory usage. Pausing worker. Process memory: 12.75 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:18:40,135 - distributed.worker.memory - WARNING - Worker is at 73% memory usage. Resuming worker. Process memory: 11.43 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:18:42,859 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 9.91 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:18:58,610 - distributed.worker.memory - WARNING - Worker is at 80% memory usage. Pausing worker. Process memory: 12.45 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:18:58,747 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 11.68 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:18:59,587 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 11.33 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:19:00,433 - distributed.worker.memory - WARNING - Worker is at 78% memory usage. Resuming worker. Process memory: 12.20 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:19:18,543 - distributed.worker.memory - WARNING - Worker is at 89% memory usage. Pausing worker. Process memory: 13.83 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:19:21,288 - distributed.worker.memory - WARNING - Worker is at 62% memory usage. Resuming worker. Process memory: 9.73 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:19:25,258 - distributed.worker.memory - WARNING - Worker is at 81% memory usage. Pausing worker. Process memory: 12.69 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:19:26,157 - distributed.worker.memory - WARNING - Worker is at 77% memory usage. Resuming worker. Process memory: 11.97 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:19:48,245 - distributed.worker.memory - WARNING - Worker is at 80% memory usage. Pausing worker. Process memory: 12.52 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:19:49,725 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 11.29 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:19:49,813 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 12.93 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:19:51,382 - distributed.worker.memory - WARNING - Worker is at 78% memory usage. Resuming worker. Process memory: 12.08 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:19:53,473 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 10.80 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:19:56,299 - distributed.worker.memory - WARNING - Worker is at 85% memory usage. Pausing worker. Process memory: 13.20 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:19:56,646 - distributed.worker.memory - WARNING - Worker is at 78% memory usage. Resuming worker. Process memory: 12.21 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:20:03,530 - distributed.worker.memory - WARNING - Worker is at 81% memory usage. Pausing worker. Process memory: 12.69 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:20:06,563 - distributed.worker.memory - WARNING - Worker is at 71% memory usage. Resuming worker. Process memory: 11.01 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:20:07,245 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 10.91 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:20:12,234 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 10.10 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:20:24,707 - distributed.worker.memory - WARNING - Worker is at 81% memory usage. Pausing worker. Process memory: 12.55 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:20:27,847 - distributed.worker.memory - WARNING - Worker is at 74% memory usage. Resuming worker. Process memory: 11.46 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:20:27,860 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 11.46 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:20:29,148 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 9.47 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:20:30,293 - distributed.worker.memory - WARNING - Worker is at 85% memory usage. Pausing worker. Process memory: 13.19 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:20:32,577 - distributed.worker.memory - WARNING - Worker is at 65% memory usage. Resuming worker. Process memory: 10.15 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:20:32,788 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 10.15 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:20:44,056 - distributed.worker.memory - WARNING - Worker is at 83% memory usage. Pausing worker. Process memory: 12.98 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:20:49,364 - distributed.worker.memory - WARNING - Worker is at 70% memory usage. Resuming worker. Process memory: 10.98 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:20:51,265 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 11.61 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:09,848 - distributed.worker.memory - WARNING - Worker is at 80% memory usage. Pausing worker. Process memory: 12.39 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:13,730 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 11.15 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:14,296 - distributed.worker.memory - WARNING - Worker is at 74% memory usage. Resuming worker. Process memory: 11.60 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:14,301 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 11.60 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:15,273 - distributed.worker.memory - WARNING - Worker is at 80% memory usage. Pausing worker. Process memory: 12.48 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:15,811 - distributed.worker.memory - WARNING - Worker is at 85% memory usage. Pausing worker. Process memory: 13.25 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:18,081 - distributed.worker.memory - WARNING - Worker is at 60% memory usage. Resuming worker. Process memory: 9.31 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:19,386 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 9.36 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:20,177 - distributed.worker.memory - WARNING - Worker is at 70% memory usage. Resuming worker. Process memory: 10.84 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:21,229 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 10.47 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:33,518 - distributed.worker.memory - WARNING - Worker is at 84% memory usage. Pausing worker. Process memory: 13.10 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:35,110 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 9.33 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:35,608 - distributed.worker.memory - WARNING - Worker is at 82% memory usage. Pausing worker. Process memory: 12.81 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:37,015 - distributed.worker.memory - WARNING - Worker is at 78% memory usage. Resuming worker. Process memory: 12.08 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:38,889 - distributed.worker.memory - WARNING - Worker is at 72% memory usage. Resuming worker. Process memory: 11.17 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:39,011 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 12.38 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:39,056 - distributed.worker.memory - WARNING - Worker is at 80% memory usage. Pausing worker. Process memory: 12.39 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:40,060 - distributed.worker.memory - WARNING - Worker is at 72% memory usage. Resuming worker. Process memory: 11.18 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:41,622 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 10.23 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:49,555 - distributed.worker.memory - WARNING - Worker is at 82% memory usage. Pausing worker. Process memory: 12.74 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:51,170 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 13.00 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:53,722 - distributed.worker.memory - WARNING - Worker is at 56% memory usage. Resuming worker. Process memory: 8.74 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:54,634 - distributed.worker.memory - WARNING - Worker is at 84% memory usage. Pausing worker. Process memory: 13.07 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:55,207 - distributed.worker.memory - WARNING - Worker is at 71% memory usage. Resuming worker. Process memory: 11.11 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:21:57,609 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 11.98 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:00,430 - distributed.worker.memory - WARNING - Worker is at 80% memory usage. Pausing worker. Process memory: 12.45 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:02,326 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 13.37 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:03,966 - distributed.worker.memory - WARNING - Worker is at 69% memory usage. Resuming worker. Process memory: 10.69 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:11,753 - distributed.worker.memory - WARNING - Worker is at 84% memory usage. Pausing worker. Process memory: 13.02 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:12,483 - distributed.worker.memory - WARNING - Worker is at 82% memory usage. Pausing worker. Process memory: 12.75 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:13,528 - distributed.worker.memory - WARNING - Worker is at 80% memory usage. Pausing worker. Process memory: 12.40 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:14,607 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 12.72 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:14,780 - distributed.worker.memory - WARNING - Worker is at 64% memory usage. Resuming worker. Process memory: 10.06 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:15,969 - distributed.worker.memory - WARNING - Worker is at 78% memory usage. Resuming worker. Process memory: 12.11 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:17,268 - distributed.worker.memory - WARNING - Worker is at 49% memory usage. Resuming worker. Process memory: 7.70 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:17,990 - distributed.worker.memory - WARNING - Worker is at 82% memory usage. Pausing worker. Process memory: 12.84 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:19,197 - distributed.worker.memory - WARNING - Worker is at 69% memory usage. Resuming worker. Process memory: 10.74 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:22,658 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 11.55 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:23,365 - distributed.worker.memory - WARNING - Worker is at 81% memory usage. Pausing worker. Process memory: 12.56 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:26,130 - distributed.worker.memory - WARNING - Worker is at 70% memory usage. Resuming worker. Process memory: 10.87 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:33,914 - distributed.worker.memory - WARNING - Worker is at 87% memory usage. Pausing worker. Process memory: 13.56 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:35,020 - distributed.worker.memory - WARNING - Worker is at 65% memory usage. Resuming worker. Process memory: 10.09 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:35,768 - distributed.worker.memory - WARNING - Worker is at 92% memory usage. Pausing worker. Process memory: 14.28 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:39,129 - distributed.worker - ERROR - Worker stream died during communication: tcp://127.0.0.1:34535\n",
"Traceback (most recent call last):\n",
" File \"/home/ubuntu/miniforge3/envs/cellxgene-census-dev/lib/python3.11/site-packages/tornado/iostream.py\", line 861, in _read_to_buffer\n",
" bytes_read = self.read_from_fd(buf)\n",
" ^^^^^^^^^^^^^^^^^^^^^^\n",
" File \"/home/ubuntu/miniforge3/envs/cellxgene-census-dev/lib/python3.11/site-packages/tornado/iostream.py\", line 1116, in read_from_fd\n",
" return self.socket.recv_into(buf, len(buf))\n",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
"ConnectionResetError: [Errno 104] Connection reset by peer\n",
"\n",
"The above exception was the direct cause of the following exception:\n",
"\n",
"Traceback (most recent call last):\n",
" File \"/home/ubuntu/miniforge3/envs/cellxgene-census-dev/lib/python3.11/site-packages/distributed/worker.py\", line 2059, in gather_dep\n",
" response = await get_data_from_worker(\n",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
" File \"/home/ubuntu/miniforge3/envs/cellxgene-census-dev/lib/python3.11/site-packages/distributed/worker.py\", line 2863, in get_data_from_worker\n",
" response = await send_recv(\n",
" ^^^^^^^^^^^^^^^^\n",
" File \"/home/ubuntu/miniforge3/envs/cellxgene-census-dev/lib/python3.11/site-packages/distributed/core.py\", line 1154, in send_recv\n",
" response = await comm.read(deserializers=deserializers)\n",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
" File \"/home/ubuntu/miniforge3/envs/cellxgene-census-dev/lib/python3.11/site-packages/distributed/comm/tcp.py\", line 236, in read\n",
" convert_stream_closed_error(self, e)\n",
" File \"/home/ubuntu/miniforge3/envs/cellxgene-census-dev/lib/python3.11/site-packages/distributed/comm/tcp.py\", line 140, in convert_stream_closed_error\n",
" raise CommClosedError(f\"in {obj}: {exc.__class__.__name__}: {exc}\") from exc\n",
"distributed.comm.core.CommClosedError: in <TCP (closed) Ephemeral Worker->Worker for gather local=tcp://127.0.0.1:36232 remote=tcp://127.0.0.1:34535>: ConnectionResetError: [Errno 104] Connection reset by peer\n",
"2024-06-05 23:22:39,130 - distributed.worker - ERROR - Worker stream died during communication: tcp://127.0.0.1:34535\n",
"Traceback (most recent call last):\n",
" File \"/home/ubuntu/miniforge3/envs/cellxgene-census-dev/lib/python3.11/site-packages/tornado/iostream.py\", line 861, in _read_to_buffer\n",
" bytes_read = self.read_from_fd(buf)\n",
" ^^^^^^^^^^^^^^^^^^^^^^\n",
" File \"/home/ubuntu/miniforge3/envs/cellxgene-census-dev/lib/python3.11/site-packages/tornado/iostream.py\", line 1116, in read_from_fd\n",
" return self.socket.recv_into(buf, len(buf))\n",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
"ConnectionResetError: [Errno 104] Connection reset by peer\n",
"\n",
"The above exception was the direct cause of the following exception:\n",
"\n",
"Traceback (most recent call last):\n",
" File \"/home/ubuntu/miniforge3/envs/cellxgene-census-dev/lib/python3.11/site-packages/distributed/worker.py\", line 2059, in gather_dep\n",
" response = await get_data_from_worker(\n",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
" File \"/home/ubuntu/miniforge3/envs/cellxgene-census-dev/lib/python3.11/site-packages/distributed/worker.py\", line 2863, in get_data_from_worker\n",
" response = await send_recv(\n",
" ^^^^^^^^^^^^^^^^\n",
" File \"/home/ubuntu/miniforge3/envs/cellxgene-census-dev/lib/python3.11/site-packages/distributed/core.py\", line 1154, in send_recv\n",
" response = await comm.read(deserializers=deserializers)\n",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
" File \"/home/ubuntu/miniforge3/envs/cellxgene-census-dev/lib/python3.11/site-packages/distributed/comm/tcp.py\", line 236, in read\n",
" convert_stream_closed_error(self, e)\n",
" File \"/home/ubuntu/miniforge3/envs/cellxgene-census-dev/lib/python3.11/site-packages/distributed/comm/tcp.py\", line 140, in convert_stream_closed_error\n",
" raise CommClosedError(f\"in {obj}: {exc.__class__.__name__}: {exc}\") from exc\n",
"distributed.comm.core.CommClosedError: in <TCP (closed) Ephemeral Worker->Worker for gather local=tcp://127.0.0.1:40608 remote=tcp://127.0.0.1:34535>: ConnectionResetError: [Errno 104] Connection reset by peer\n",
"2024-06-05 23:22:40,062 - distributed.worker.memory - WARNING - Worker is at 83% memory usage. Pausing worker. Process memory: 12.87 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:42,394 - distributed.worker.memory - WARNING - Worker is at 75% memory usage. Resuming worker. Process memory: 11.71 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:48,823 - distributed.worker.memory - WARNING - Worker is at 82% memory usage. Pausing worker. Process memory: 12.83 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:49,432 - distributed.worker.memory - WARNING - Worker is at 79% memory usage. Resuming worker. Process memory: 12.34 GiB -- Worker memory limit: 15.48 GiB\n",
"2024-06-05 23:22:51,992 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 11.88 GiB -- Worker memory limit: 15.48 GiB\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2024-06-05 23:22:37,317 - distributed.nanny.memory - WARNING - Worker tcp://127.0.0.1:34535 (pid=215717) exceeded 95% memory budget. Restarting...\n",
"2024-06-05 23:22:39,131 - distributed.scheduler - WARNING - Removing worker 'tcp://127.0.0.1:34535' caused the cluster to lose already computed task(s), which will be recomputed elsewhere: {('concatenate-1ddbe2bd39688feedc9df4f80987c17c', 480, 0), ('array-44ae1e570eb23e172a9da99751415fd1', 484), ('array-44ae1e570eb23e172a9da99751415fd1', 506), ('concatenate-1ddbe2bd39688feedc9df4f80987c17c', 506, 0), ('groupby_sum-reduce-partial-62fc7a8c4698cc0f78ec9523777c9d13', 0, 172), ('groupby_sum-reduce-partial-e81e854e0f3c48cbfece0e21b33ea41f', 0, 46), ('groupby_sum-reduce-partial-62fc7a8c4698cc0f78ec9523777c9d13', 0, 178), ('groupby_sum-chunk-b8e57fbb35549c84db96831b0f165a4d', 0, 653), ('concatenate-1ddbe2bd39688feedc9df4f80987c17c', 484, 0), ('concatenate-1ddbe2bd39688feedc9df4f80987c17c', 486, 0), ('array-44ae1e570eb23e172a9da99751415fd1', 480), ('array-44ae1e570eb23e172a9da99751415fd1', 486), ('groupby_sum-chunk-b8e57fbb35549c84db96831b0f165a4d', 0, 507), ('groupby_sum-chunk-b8e57fbb35549c84db96831b0f165a4d', 0, 510), ('groupby_sum-reduce-partial-7e26f173d0c8b1004867e1ed1bcd6e62', 0, 3), ('array-44ae1e570eb23e172a9da99751415fd1', 485), ('groupby_sum-chunk-b8e57fbb35549c84db96831b0f165a4d', 0, 509), ('groupby_sum-reduce-partial-3b0107795cf4587231426e67a20a21c8', 0, 2)} (stimulus_id='handle-worker-cleanup-1717629759.1310542')\n",
"2024-06-05 23:22:40,807 - distributed.nanny - WARNING - Restarting worker\n",
"Task exception was never retrieved\n",
"future: <Task finished name='Task-327624' coro=<Client._gather.<locals>.wait() done, defined at /home/ubuntu/miniforge3/envs/cellxgene-census-dev/lib/python3.11/site-packages/distributed/client.py:2199> exception=AllExit()>\n",
"Traceback (most recent call last):\n",
" File \"/home/ubuntu/miniforge3/envs/cellxgene-census-dev/lib/python3.11/site-packages/distributed/client.py\", line 2208, in wait\n",
" raise AllExit()\n",
"distributed.client.AllExit\n"
]
},
{
"ename": "KeyboardInterrupt",
"evalue": "",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn[23], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m computed \u001b[38;5;241m=\u001b[39m \u001b[43mres\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m]\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcompute\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/miniforge3/envs/cellxgene-census-dev/lib/python3.11/site-packages/dask/base.py:375\u001b[0m, in \u001b[0;36mDaskMethodsMixin.compute\u001b[0;34m(self, **kwargs)\u001b[0m\n\u001b[1;32m 351\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mcompute\u001b[39m(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 352\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Compute this dask collection\u001b[39;00m\n\u001b[1;32m 353\u001b[0m \n\u001b[1;32m 354\u001b[0m \u001b[38;5;124;03m This turns a lazy Dask collection into its in-memory equivalent.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 373\u001b[0m \u001b[38;5;124;03m dask.compute\u001b[39;00m\n\u001b[1;32m 374\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 375\u001b[0m (result,) \u001b[38;5;241m=\u001b[39m \u001b[43mcompute\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtraverse\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 376\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m result\n",
"File \u001b[0;32m~/miniforge3/envs/cellxgene-census-dev/lib/python3.11/site-packages/dask/base.py:661\u001b[0m, in \u001b[0;36mcompute\u001b[0;34m(traverse, optimize_graph, scheduler, get, *args, **kwargs)\u001b[0m\n\u001b[1;32m 658\u001b[0m postcomputes\u001b[38;5;241m.\u001b[39mappend(x\u001b[38;5;241m.\u001b[39m__dask_postcompute__())\n\u001b[1;32m 660\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m shorten_traceback():\n\u001b[0;32m--> 661\u001b[0m results \u001b[38;5;241m=\u001b[39m \u001b[43mschedule\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdsk\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkeys\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 663\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m repack([f(r, \u001b[38;5;241m*\u001b[39ma) \u001b[38;5;28;01mfor\u001b[39;00m r, (f, a) \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mzip\u001b[39m(results, postcomputes)])\n",
"File \u001b[0;32m~/miniforge3/envs/cellxgene-census-dev/lib/python3.11/threading.py:629\u001b[0m, in \u001b[0;36mEvent.wait\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 627\u001b[0m signaled \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_flag\n\u001b[1;32m 628\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m signaled:\n\u001b[0;32m--> 629\u001b[0m signaled \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_cond\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mwait\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtimeout\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 630\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m signaled\n",
"File \u001b[0;32m~/miniforge3/envs/cellxgene-census-dev/lib/python3.11/threading.py:331\u001b[0m, in \u001b[0;36mCondition.wait\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 329\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 330\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m timeout \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[0;32m--> 331\u001b[0m gotit \u001b[38;5;241m=\u001b[39m \u001b[43mwaiter\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43macquire\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 332\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 333\u001b[0m gotit \u001b[38;5;241m=\u001b[39m waiter\u001b[38;5;241m.\u001b[39macquire(\u001b[38;5;28;01mFalse\u001b[39;00m)\n",
"\u001b[0;31mKeyboardInterrupt\u001b[0m: "
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"2024-06-05 23:22:56,669 - distributed.worker.memory - WARNING - Unmanaged memory use is high. This may indicate a memory leak or the memory may not be released to the OS; see https://distributed.dask.org/en/latest/worker-memory.html#memory-not-released-back-to-the-os for more information. -- Unmanaged memory: 10.84 GiB -- Worker memory limit: 15.48 GiB\n"
]
}
],
"source": [
"computed = res[0].compute()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "cellxgene-census-dev",
"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": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment