Skip to content

Instantly share code, notes, and snippets.

@mrocklin
Created July 5, 2019 10:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mrocklin/3af8a428e18a3047ab501161ffe17cf9 to your computer and use it in GitHub Desktop.
Save mrocklin/3af8a428e18a3047ab501161ffe17cf9 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Low Memory Approximate SVD\n",
"\n",
"This notebook shows doing an approximate SVD computation on a large array in small memory.\n",
"\n",
"It was used in the development of [dask/dask #5041](https://github.com/dask/dask/pull/5041)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"os.environ['NUMPY_EXPERIMENTAL_ARRAY_FUNCTION'] = '1'"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from dask.array.utils import IS_NEP18_ACTIVE\n",
"assert IS_NEP18_ACTIVE"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
"<tr>\n",
"<td>\n",
"<table> <thead> <tr><td> </td><th> Array </th><th> Chunk </th></tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr><th> Bytes </th><td> 800.00 GB </td> <td> 80.00 MB </td></tr>\n",
" <tr><th> Shape </th><td> (1000000, 100000) </td> <td> (2000, 5000) </td></tr>\n",
" <tr><th> Count </th><td> 10000 Tasks </td><td> 10000 Chunks </td></tr>\n",
" <tr><th> Type </th><td> float64 </td><td> cupy.ndarray </td></tr>\n",
" </tbody></table>\n",
"</td>\n",
"<td>\n",
"<svg width=\"88\" height=\"170\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"38\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"0\" y1=\"0\" x2=\"38\" y2=\"0\" />\n",
" <line x1=\"0\" y1=\"0\" x2=\"38\" y2=\"0\" />\n",
" <line x1=\"0\" y1=\"0\" x2=\"38\" y2=\"0\" />\n",
" <line x1=\"0\" y1=\"0\" x2=\"38\" y2=\"0\" />\n",
" <line x1=\"0\" y1=\"1\" x2=\"38\" y2=\"1\" />\n",
" <line x1=\"0\" y1=\"1\" x2=\"38\" y2=\"1\" />\n",
" <line x1=\"0\" y1=\"1\" x2=\"38\" y2=\"1\" />\n",
" <line x1=\"0\" y1=\"1\" x2=\"38\" y2=\"1\" />\n",
" <line x1=\"0\" y1=\"2\" x2=\"38\" y2=\"2\" />\n",
" <line x1=\"0\" y1=\"2\" x2=\"38\" y2=\"2\" />\n",
" <line x1=\"0\" y1=\"2\" x2=\"38\" y2=\"2\" />\n",
" <line x1=\"0\" y1=\"2\" x2=\"38\" y2=\"2\" />\n",
" <line x1=\"0\" y1=\"3\" x2=\"38\" y2=\"3\" />\n",
" <line x1=\"0\" y1=\"3\" x2=\"38\" y2=\"3\" />\n",
" <line x1=\"0\" y1=\"3\" x2=\"38\" y2=\"3\" />\n",
" <line x1=\"0\" y1=\"3\" x2=\"38\" y2=\"3\" />\n",
" <line x1=\"0\" y1=\"4\" x2=\"38\" y2=\"4\" />\n",
" <line x1=\"0\" y1=\"4\" x2=\"38\" y2=\"4\" />\n",
" <line x1=\"0\" y1=\"4\" x2=\"38\" y2=\"4\" />\n",
" <line x1=\"0\" y1=\"4\" x2=\"38\" y2=\"4\" />\n",
" <line x1=\"0\" y1=\"5\" x2=\"38\" y2=\"5\" />\n",
" <line x1=\"0\" y1=\"5\" x2=\"38\" y2=\"5\" />\n",
" <line x1=\"0\" y1=\"5\" x2=\"38\" y2=\"5\" />\n",
" <line x1=\"0\" y1=\"5\" x2=\"38\" y2=\"5\" />\n",
" <line x1=\"0\" y1=\"6\" x2=\"38\" y2=\"6\" />\n",
" <line x1=\"0\" y1=\"6\" x2=\"38\" y2=\"6\" />\n",
" <line x1=\"0\" y1=\"6\" x2=\"38\" y2=\"6\" />\n",
" <line x1=\"0\" y1=\"6\" x2=\"38\" y2=\"6\" />\n",
" <line x1=\"0\" y1=\"6\" x2=\"38\" y2=\"6\" />\n",
" <line x1=\"0\" y1=\"7\" x2=\"38\" y2=\"7\" />\n",
" <line x1=\"0\" y1=\"7\" x2=\"38\" y2=\"7\" />\n",
" <line x1=\"0\" y1=\"7\" x2=\"38\" y2=\"7\" />\n",
" <line x1=\"0\" y1=\"7\" x2=\"38\" y2=\"7\" />\n",
" <line x1=\"0\" y1=\"8\" x2=\"38\" y2=\"8\" />\n",
" <line x1=\"0\" y1=\"8\" x2=\"38\" y2=\"8\" />\n",
" <line x1=\"0\" y1=\"8\" x2=\"38\" y2=\"8\" />\n",
" <line x1=\"0\" y1=\"8\" x2=\"38\" y2=\"8\" />\n",
" <line x1=\"0\" y1=\"9\" x2=\"38\" y2=\"9\" />\n",
" <line x1=\"0\" y1=\"9\" x2=\"38\" y2=\"9\" />\n",
" <line x1=\"0\" y1=\"9\" x2=\"38\" y2=\"9\" />\n",
" <line x1=\"0\" y1=\"9\" x2=\"38\" y2=\"9\" />\n",
" <line x1=\"0\" y1=\"10\" x2=\"38\" y2=\"10\" />\n",
" <line x1=\"0\" y1=\"10\" x2=\"38\" y2=\"10\" />\n",
" <line x1=\"0\" y1=\"10\" x2=\"38\" y2=\"10\" />\n",
" <line x1=\"0\" y1=\"10\" x2=\"38\" y2=\"10\" />\n",
" <line x1=\"0\" y1=\"11\" x2=\"38\" y2=\"11\" />\n",
" <line x1=\"0\" y1=\"11\" x2=\"38\" y2=\"11\" />\n",
" <line x1=\"0\" y1=\"11\" x2=\"38\" y2=\"11\" />\n",
" <line x1=\"0\" y1=\"11\" x2=\"38\" y2=\"11\" />\n",
" <line x1=\"0\" y1=\"12\" x2=\"38\" y2=\"12\" />\n",
" <line x1=\"0\" y1=\"12\" x2=\"38\" y2=\"12\" />\n",
" <line x1=\"0\" y1=\"12\" x2=\"38\" y2=\"12\" />\n",
" <line x1=\"0\" y1=\"12\" x2=\"38\" y2=\"12\" />\n",
" <line x1=\"0\" y1=\"12\" x2=\"38\" y2=\"12\" />\n",
" <line x1=\"0\" y1=\"13\" x2=\"38\" y2=\"13\" />\n",
" <line x1=\"0\" y1=\"13\" x2=\"38\" y2=\"13\" />\n",
" <line x1=\"0\" y1=\"13\" x2=\"38\" y2=\"13\" />\n",
" <line x1=\"0\" y1=\"13\" x2=\"38\" y2=\"13\" />\n",
" <line x1=\"0\" y1=\"14\" x2=\"38\" y2=\"14\" />\n",
" <line x1=\"0\" y1=\"14\" x2=\"38\" y2=\"14\" />\n",
" <line x1=\"0\" y1=\"14\" x2=\"38\" y2=\"14\" />\n",
" <line x1=\"0\" y1=\"14\" x2=\"38\" y2=\"14\" />\n",
" <line x1=\"0\" y1=\"15\" x2=\"38\" y2=\"15\" />\n",
" <line x1=\"0\" y1=\"15\" x2=\"38\" y2=\"15\" />\n",
" <line x1=\"0\" y1=\"15\" x2=\"38\" y2=\"15\" />\n",
" <line x1=\"0\" y1=\"15\" x2=\"38\" y2=\"15\" />\n",
" <line x1=\"0\" y1=\"16\" x2=\"38\" y2=\"16\" />\n",
" <line x1=\"0\" y1=\"16\" x2=\"38\" y2=\"16\" />\n",
" <line x1=\"0\" y1=\"16\" x2=\"38\" y2=\"16\" />\n",
" <line x1=\"0\" y1=\"16\" x2=\"38\" y2=\"16\" />\n",
" <line x1=\"0\" y1=\"17\" x2=\"38\" y2=\"17\" />\n",
" <line x1=\"0\" y1=\"17\" x2=\"38\" y2=\"17\" />\n",
" <line x1=\"0\" y1=\"17\" x2=\"38\" y2=\"17\" />\n",
" <line x1=\"0\" y1=\"17\" x2=\"38\" y2=\"17\" />\n",
" <line x1=\"0\" y1=\"18\" x2=\"38\" y2=\"18\" />\n",
" <line x1=\"0\" y1=\"18\" x2=\"38\" y2=\"18\" />\n",
" <line x1=\"0\" y1=\"18\" x2=\"38\" y2=\"18\" />\n",
" <line x1=\"0\" y1=\"18\" x2=\"38\" y2=\"18\" />\n",
" <line x1=\"0\" y1=\"18\" x2=\"38\" y2=\"18\" />\n",
" <line x1=\"0\" y1=\"19\" x2=\"38\" y2=\"19\" />\n",
" <line x1=\"0\" y1=\"19\" x2=\"38\" y2=\"19\" />\n",
" <line x1=\"0\" y1=\"19\" x2=\"38\" y2=\"19\" />\n",
" <line x1=\"0\" y1=\"19\" x2=\"38\" y2=\"19\" />\n",
" <line x1=\"0\" y1=\"20\" x2=\"38\" y2=\"20\" />\n",
" <line x1=\"0\" y1=\"20\" x2=\"38\" y2=\"20\" />\n",
" <line x1=\"0\" y1=\"20\" x2=\"38\" y2=\"20\" />\n",
" <line x1=\"0\" y1=\"20\" x2=\"38\" y2=\"20\" />\n",
" <line x1=\"0\" y1=\"21\" x2=\"38\" y2=\"21\" />\n",
" <line x1=\"0\" y1=\"21\" x2=\"38\" y2=\"21\" />\n",
" <line x1=\"0\" y1=\"21\" x2=\"38\" y2=\"21\" />\n",
" <line x1=\"0\" y1=\"21\" x2=\"38\" y2=\"21\" />\n",
" <line x1=\"0\" y1=\"22\" x2=\"38\" y2=\"22\" />\n",
" <line x1=\"0\" y1=\"22\" x2=\"38\" y2=\"22\" />\n",
" <line x1=\"0\" y1=\"22\" x2=\"38\" y2=\"22\" />\n",
" <line x1=\"0\" y1=\"22\" x2=\"38\" y2=\"22\" />\n",
" <line x1=\"0\" y1=\"23\" x2=\"38\" y2=\"23\" />\n",
" <line x1=\"0\" y1=\"23\" x2=\"38\" y2=\"23\" />\n",
" <line x1=\"0\" y1=\"23\" x2=\"38\" y2=\"23\" />\n",
" <line x1=\"0\" y1=\"23\" x2=\"38\" y2=\"23\" />\n",
" <line x1=\"0\" y1=\"24\" x2=\"38\" y2=\"24\" />\n",
" <line x1=\"0\" y1=\"24\" x2=\"38\" y2=\"24\" />\n",
" <line x1=\"0\" y1=\"24\" x2=\"38\" y2=\"24\" />\n",
" <line x1=\"0\" y1=\"24\" x2=\"38\" y2=\"24\" />\n",
" <line x1=\"0\" y1=\"24\" x2=\"38\" y2=\"24\" />\n",
" <line x1=\"0\" y1=\"25\" x2=\"38\" y2=\"25\" />\n",
" <line x1=\"0\" y1=\"25\" x2=\"38\" y2=\"25\" />\n",
" <line x1=\"0\" y1=\"25\" x2=\"38\" y2=\"25\" />\n",
" <line x1=\"0\" y1=\"25\" x2=\"38\" y2=\"25\" />\n",
" <line x1=\"0\" y1=\"26\" x2=\"38\" y2=\"26\" />\n",
" <line x1=\"0\" y1=\"26\" x2=\"38\" y2=\"26\" />\n",
" <line x1=\"0\" y1=\"26\" x2=\"38\" y2=\"26\" />\n",
" <line x1=\"0\" y1=\"26\" x2=\"38\" y2=\"26\" />\n",
" <line x1=\"0\" y1=\"27\" x2=\"38\" y2=\"27\" />\n",
" <line x1=\"0\" y1=\"27\" x2=\"38\" y2=\"27\" />\n",
" <line x1=\"0\" y1=\"27\" x2=\"38\" y2=\"27\" />\n",
" <line x1=\"0\" y1=\"27\" x2=\"38\" y2=\"27\" />\n",
" <line x1=\"0\" y1=\"28\" x2=\"38\" y2=\"28\" />\n",
" <line x1=\"0\" y1=\"28\" x2=\"38\" y2=\"28\" />\n",
" <line x1=\"0\" y1=\"28\" x2=\"38\" y2=\"28\" />\n",
" <line x1=\"0\" y1=\"28\" x2=\"38\" y2=\"28\" />\n",
" <line x1=\"0\" y1=\"29\" x2=\"38\" y2=\"29\" />\n",
" <line x1=\"0\" y1=\"29\" x2=\"38\" y2=\"29\" />\n",
" <line x1=\"0\" y1=\"29\" x2=\"38\" y2=\"29\" />\n",
" <line x1=\"0\" y1=\"29\" x2=\"38\" y2=\"29\" />\n",
" <line x1=\"0\" y1=\"30\" x2=\"38\" y2=\"30\" />\n",
" <line x1=\"0\" y1=\"30\" x2=\"38\" y2=\"30\" />\n",
" <line x1=\"0\" y1=\"30\" x2=\"38\" y2=\"30\" />\n",
" <line x1=\"0\" y1=\"30\" x2=\"38\" y2=\"30\" />\n",
" <line x1=\"0\" y1=\"30\" x2=\"38\" y2=\"30\" />\n",
" <line x1=\"0\" y1=\"31\" x2=\"38\" y2=\"31\" />\n",
" <line x1=\"0\" y1=\"31\" x2=\"38\" y2=\"31\" />\n",
" <line x1=\"0\" y1=\"31\" x2=\"38\" y2=\"31\" />\n",
" <line x1=\"0\" y1=\"31\" x2=\"38\" y2=\"31\" />\n",
" <line x1=\"0\" y1=\"32\" x2=\"38\" y2=\"32\" />\n",
" <line x1=\"0\" y1=\"32\" x2=\"38\" y2=\"32\" />\n",
" <line x1=\"0\" y1=\"32\" x2=\"38\" y2=\"32\" />\n",
" <line x1=\"0\" y1=\"32\" x2=\"38\" y2=\"32\" />\n",
" <line x1=\"0\" y1=\"33\" x2=\"38\" y2=\"33\" />\n",
" <line x1=\"0\" y1=\"33\" x2=\"38\" y2=\"33\" />\n",
" <line x1=\"0\" y1=\"33\" x2=\"38\" y2=\"33\" />\n",
" <line x1=\"0\" y1=\"33\" x2=\"38\" y2=\"33\" />\n",
" <line x1=\"0\" y1=\"34\" x2=\"38\" y2=\"34\" />\n",
" <line x1=\"0\" y1=\"34\" x2=\"38\" y2=\"34\" />\n",
" <line x1=\"0\" y1=\"34\" x2=\"38\" y2=\"34\" />\n",
" <line x1=\"0\" y1=\"34\" x2=\"38\" y2=\"34\" />\n",
" <line x1=\"0\" y1=\"35\" x2=\"38\" y2=\"35\" />\n",
" <line x1=\"0\" y1=\"35\" x2=\"38\" y2=\"35\" />\n",
" <line x1=\"0\" y1=\"35\" x2=\"38\" y2=\"35\" />\n",
" <line x1=\"0\" y1=\"35\" x2=\"38\" y2=\"35\" />\n",
" <line x1=\"0\" y1=\"36\" x2=\"38\" y2=\"36\" />\n",
" <line x1=\"0\" y1=\"36\" x2=\"38\" y2=\"36\" />\n",
" <line x1=\"0\" y1=\"36\" x2=\"38\" y2=\"36\" />\n",
" <line x1=\"0\" y1=\"36\" x2=\"38\" y2=\"36\" />\n",
" <line x1=\"0\" y1=\"36\" x2=\"38\" y2=\"36\" />\n",
" <line x1=\"0\" y1=\"37\" x2=\"38\" y2=\"37\" />\n",
" <line x1=\"0\" y1=\"37\" x2=\"38\" y2=\"37\" />\n",
" <line x1=\"0\" y1=\"37\" x2=\"38\" y2=\"37\" />\n",
" <line x1=\"0\" y1=\"37\" x2=\"38\" y2=\"37\" />\n",
" <line x1=\"0\" y1=\"38\" x2=\"38\" y2=\"38\" />\n",
" <line x1=\"0\" y1=\"38\" x2=\"38\" y2=\"38\" />\n",
" <line x1=\"0\" y1=\"38\" x2=\"38\" y2=\"38\" />\n",
" <line x1=\"0\" y1=\"38\" x2=\"38\" y2=\"38\" />\n",
" <line x1=\"0\" y1=\"39\" x2=\"38\" y2=\"39\" />\n",
" <line x1=\"0\" y1=\"39\" x2=\"38\" y2=\"39\" />\n",
" <line x1=\"0\" y1=\"39\" x2=\"38\" y2=\"39\" />\n",
" <line x1=\"0\" y1=\"39\" x2=\"38\" y2=\"39\" />\n",
" <line x1=\"0\" y1=\"40\" x2=\"38\" y2=\"40\" />\n",
" <line x1=\"0\" y1=\"40\" x2=\"38\" y2=\"40\" />\n",
" <line x1=\"0\" y1=\"40\" x2=\"38\" y2=\"40\" />\n",
" <line x1=\"0\" y1=\"40\" x2=\"38\" y2=\"40\" />\n",
" <line x1=\"0\" y1=\"41\" x2=\"38\" y2=\"41\" />\n",
" <line x1=\"0\" y1=\"41\" x2=\"38\" y2=\"41\" />\n",
" <line x1=\"0\" y1=\"41\" x2=\"38\" y2=\"41\" />\n",
" <line x1=\"0\" y1=\"41\" x2=\"38\" y2=\"41\" />\n",
" <line x1=\"0\" y1=\"42\" x2=\"38\" y2=\"42\" />\n",
" <line x1=\"0\" y1=\"42\" x2=\"38\" y2=\"42\" />\n",
" <line x1=\"0\" y1=\"42\" x2=\"38\" y2=\"42\" />\n",
" <line x1=\"0\" y1=\"42\" x2=\"38\" y2=\"42\" />\n",
" <line x1=\"0\" y1=\"42\" x2=\"38\" y2=\"42\" />\n",
" <line x1=\"0\" y1=\"43\" x2=\"38\" y2=\"43\" />\n",
" <line x1=\"0\" y1=\"43\" x2=\"38\" y2=\"43\" />\n",
" <line x1=\"0\" y1=\"43\" x2=\"38\" y2=\"43\" />\n",
" <line x1=\"0\" y1=\"43\" x2=\"38\" y2=\"43\" />\n",
" <line x1=\"0\" y1=\"44\" x2=\"38\" y2=\"44\" />\n",
" <line x1=\"0\" y1=\"44\" x2=\"38\" y2=\"44\" />\n",
" <line x1=\"0\" y1=\"44\" x2=\"38\" y2=\"44\" />\n",
" <line x1=\"0\" y1=\"44\" x2=\"38\" y2=\"44\" />\n",
" <line x1=\"0\" y1=\"45\" x2=\"38\" y2=\"45\" />\n",
" <line x1=\"0\" y1=\"45\" x2=\"38\" y2=\"45\" />\n",
" <line x1=\"0\" y1=\"45\" x2=\"38\" y2=\"45\" />\n",
" <line x1=\"0\" y1=\"45\" x2=\"38\" y2=\"45\" />\n",
" <line x1=\"0\" y1=\"46\" x2=\"38\" y2=\"46\" />\n",
" <line x1=\"0\" y1=\"46\" x2=\"38\" y2=\"46\" />\n",
" <line x1=\"0\" y1=\"46\" x2=\"38\" y2=\"46\" />\n",
" <line x1=\"0\" y1=\"46\" x2=\"38\" y2=\"46\" />\n",
" <line x1=\"0\" y1=\"47\" x2=\"38\" y2=\"47\" />\n",
" <line x1=\"0\" y1=\"47\" x2=\"38\" y2=\"47\" />\n",
" <line x1=\"0\" y1=\"47\" x2=\"38\" y2=\"47\" />\n",
" <line x1=\"0\" y1=\"47\" x2=\"38\" y2=\"47\" />\n",
" <line x1=\"0\" y1=\"48\" x2=\"38\" y2=\"48\" />\n",
" <line x1=\"0\" y1=\"48\" x2=\"38\" y2=\"48\" />\n",
" <line x1=\"0\" y1=\"48\" x2=\"38\" y2=\"48\" />\n",
" <line x1=\"0\" y1=\"48\" x2=\"38\" y2=\"48\" />\n",
" <line x1=\"0\" y1=\"48\" x2=\"38\" y2=\"48\" />\n",
" <line x1=\"0\" y1=\"49\" x2=\"38\" y2=\"49\" />\n",
" <line x1=\"0\" y1=\"49\" x2=\"38\" y2=\"49\" />\n",
" <line x1=\"0\" y1=\"49\" x2=\"38\" y2=\"49\" />\n",
" <line x1=\"0\" y1=\"49\" x2=\"38\" y2=\"49\" />\n",
" <line x1=\"0\" y1=\"50\" x2=\"38\" y2=\"50\" />\n",
" <line x1=\"0\" y1=\"50\" x2=\"38\" y2=\"50\" />\n",
" <line x1=\"0\" y1=\"50\" x2=\"38\" y2=\"50\" />\n",
" <line x1=\"0\" y1=\"50\" x2=\"38\" y2=\"50\" />\n",
" <line x1=\"0\" y1=\"51\" x2=\"38\" y2=\"51\" />\n",
" <line x1=\"0\" y1=\"51\" x2=\"38\" y2=\"51\" />\n",
" <line x1=\"0\" y1=\"51\" x2=\"38\" y2=\"51\" />\n",
" <line x1=\"0\" y1=\"51\" x2=\"38\" y2=\"51\" />\n",
" <line x1=\"0\" y1=\"52\" x2=\"38\" y2=\"52\" />\n",
" <line x1=\"0\" y1=\"52\" x2=\"38\" y2=\"52\" />\n",
" <line x1=\"0\" y1=\"52\" x2=\"38\" y2=\"52\" />\n",
" <line x1=\"0\" y1=\"52\" x2=\"38\" y2=\"52\" />\n",
" <line x1=\"0\" y1=\"53\" x2=\"38\" y2=\"53\" />\n",
" <line x1=\"0\" y1=\"53\" x2=\"38\" y2=\"53\" />\n",
" <line x1=\"0\" y1=\"53\" x2=\"38\" y2=\"53\" />\n",
" <line x1=\"0\" y1=\"53\" x2=\"38\" y2=\"53\" />\n",
" <line x1=\"0\" y1=\"54\" x2=\"38\" y2=\"54\" />\n",
" <line x1=\"0\" y1=\"54\" x2=\"38\" y2=\"54\" />\n",
" <line x1=\"0\" y1=\"54\" x2=\"38\" y2=\"54\" />\n",
" <line x1=\"0\" y1=\"54\" x2=\"38\" y2=\"54\" />\n",
" <line x1=\"0\" y1=\"54\" x2=\"38\" y2=\"54\" />\n",
" <line x1=\"0\" y1=\"55\" x2=\"38\" y2=\"55\" />\n",
" <line x1=\"0\" y1=\"55\" x2=\"38\" y2=\"55\" />\n",
" <line x1=\"0\" y1=\"55\" x2=\"38\" y2=\"55\" />\n",
" <line x1=\"0\" y1=\"55\" x2=\"38\" y2=\"55\" />\n",
" <line x1=\"0\" y1=\"56\" x2=\"38\" y2=\"56\" />\n",
" <line x1=\"0\" y1=\"56\" x2=\"38\" y2=\"56\" />\n",
" <line x1=\"0\" y1=\"56\" x2=\"38\" y2=\"56\" />\n",
" <line x1=\"0\" y1=\"56\" x2=\"38\" y2=\"56\" />\n",
" <line x1=\"0\" y1=\"57\" x2=\"38\" y2=\"57\" />\n",
" <line x1=\"0\" y1=\"57\" x2=\"38\" y2=\"57\" />\n",
" <line x1=\"0\" y1=\"57\" x2=\"38\" y2=\"57\" />\n",
" <line x1=\"0\" y1=\"57\" x2=\"38\" y2=\"57\" />\n",
" <line x1=\"0\" y1=\"58\" x2=\"38\" y2=\"58\" />\n",
" <line x1=\"0\" y1=\"58\" x2=\"38\" y2=\"58\" />\n",
" <line x1=\"0\" y1=\"58\" x2=\"38\" y2=\"58\" />\n",
" <line x1=\"0\" y1=\"58\" x2=\"38\" y2=\"58\" />\n",
" <line x1=\"0\" y1=\"59\" x2=\"38\" y2=\"59\" />\n",
" <line x1=\"0\" y1=\"59\" x2=\"38\" y2=\"59\" />\n",
" <line x1=\"0\" y1=\"59\" x2=\"38\" y2=\"59\" />\n",
" <line x1=\"0\" y1=\"59\" x2=\"38\" y2=\"59\" />\n",
" <line x1=\"0\" y1=\"60\" x2=\"38\" y2=\"60\" />\n",
" <line x1=\"0\" y1=\"60\" x2=\"38\" y2=\"60\" />\n",
" <line x1=\"0\" y1=\"60\" x2=\"38\" y2=\"60\" />\n",
" <line x1=\"0\" y1=\"60\" x2=\"38\" y2=\"60\" />\n",
" <line x1=\"0\" y1=\"60\" x2=\"38\" y2=\"60\" />\n",
" <line x1=\"0\" y1=\"61\" x2=\"38\" y2=\"61\" />\n",
" <line x1=\"0\" y1=\"61\" x2=\"38\" y2=\"61\" />\n",
" <line x1=\"0\" y1=\"61\" x2=\"38\" y2=\"61\" />\n",
" <line x1=\"0\" y1=\"61\" x2=\"38\" y2=\"61\" />\n",
" <line x1=\"0\" y1=\"62\" x2=\"38\" y2=\"62\" />\n",
" <line x1=\"0\" y1=\"62\" x2=\"38\" y2=\"62\" />\n",
" <line x1=\"0\" y1=\"62\" x2=\"38\" y2=\"62\" />\n",
" <line x1=\"0\" y1=\"62\" x2=\"38\" y2=\"62\" />\n",
" <line x1=\"0\" y1=\"63\" x2=\"38\" y2=\"63\" />\n",
" <line x1=\"0\" y1=\"63\" x2=\"38\" y2=\"63\" />\n",
" <line x1=\"0\" y1=\"63\" x2=\"38\" y2=\"63\" />\n",
" <line x1=\"0\" y1=\"63\" x2=\"38\" y2=\"63\" />\n",
" <line x1=\"0\" y1=\"64\" x2=\"38\" y2=\"64\" />\n",
" <line x1=\"0\" y1=\"64\" x2=\"38\" y2=\"64\" />\n",
" <line x1=\"0\" y1=\"64\" x2=\"38\" y2=\"64\" />\n",
" <line x1=\"0\" y1=\"64\" x2=\"38\" y2=\"64\" />\n",
" <line x1=\"0\" y1=\"65\" x2=\"38\" y2=\"65\" />\n",
" <line x1=\"0\" y1=\"65\" x2=\"38\" y2=\"65\" />\n",
" <line x1=\"0\" y1=\"65\" x2=\"38\" y2=\"65\" />\n",
" <line x1=\"0\" y1=\"65\" x2=\"38\" y2=\"65\" />\n",
" <line x1=\"0\" y1=\"66\" x2=\"38\" y2=\"66\" />\n",
" <line x1=\"0\" y1=\"66\" x2=\"38\" y2=\"66\" />\n",
" <line x1=\"0\" y1=\"66\" x2=\"38\" y2=\"66\" />\n",
" <line x1=\"0\" y1=\"66\" x2=\"38\" y2=\"66\" />\n",
" <line x1=\"0\" y1=\"66\" x2=\"38\" y2=\"66\" />\n",
" <line x1=\"0\" y1=\"67\" x2=\"38\" y2=\"67\" />\n",
" <line x1=\"0\" y1=\"67\" x2=\"38\" y2=\"67\" />\n",
" <line x1=\"0\" y1=\"67\" x2=\"38\" y2=\"67\" />\n",
" <line x1=\"0\" y1=\"67\" x2=\"38\" y2=\"67\" />\n",
" <line x1=\"0\" y1=\"68\" x2=\"38\" y2=\"68\" />\n",
" <line x1=\"0\" y1=\"68\" x2=\"38\" y2=\"68\" />\n",
" <line x1=\"0\" y1=\"68\" x2=\"38\" y2=\"68\" />\n",
" <line x1=\"0\" y1=\"68\" x2=\"38\" y2=\"68\" />\n",
" <line x1=\"0\" y1=\"69\" x2=\"38\" y2=\"69\" />\n",
" <line x1=\"0\" y1=\"69\" x2=\"38\" y2=\"69\" />\n",
" <line x1=\"0\" y1=\"69\" x2=\"38\" y2=\"69\" />\n",
" <line x1=\"0\" y1=\"69\" x2=\"38\" y2=\"69\" />\n",
" <line x1=\"0\" y1=\"70\" x2=\"38\" y2=\"70\" />\n",
" <line x1=\"0\" y1=\"70\" x2=\"38\" y2=\"70\" />\n",
" <line x1=\"0\" y1=\"70\" x2=\"38\" y2=\"70\" />\n",
" <line x1=\"0\" y1=\"70\" x2=\"38\" y2=\"70\" />\n",
" <line x1=\"0\" y1=\"71\" x2=\"38\" y2=\"71\" />\n",
" <line x1=\"0\" y1=\"71\" x2=\"38\" y2=\"71\" />\n",
" <line x1=\"0\" y1=\"71\" x2=\"38\" y2=\"71\" />\n",
" <line x1=\"0\" y1=\"71\" x2=\"38\" y2=\"71\" />\n",
" <line x1=\"0\" y1=\"72\" x2=\"38\" y2=\"72\" />\n",
" <line x1=\"0\" y1=\"72\" x2=\"38\" y2=\"72\" />\n",
" <line x1=\"0\" y1=\"72\" x2=\"38\" y2=\"72\" />\n",
" <line x1=\"0\" y1=\"72\" x2=\"38\" y2=\"72\" />\n",
" <line x1=\"0\" y1=\"72\" x2=\"38\" y2=\"72\" />\n",
" <line x1=\"0\" y1=\"73\" x2=\"38\" y2=\"73\" />\n",
" <line x1=\"0\" y1=\"73\" x2=\"38\" y2=\"73\" />\n",
" <line x1=\"0\" y1=\"73\" x2=\"38\" y2=\"73\" />\n",
" <line x1=\"0\" y1=\"73\" x2=\"38\" y2=\"73\" />\n",
" <line x1=\"0\" y1=\"74\" x2=\"38\" y2=\"74\" />\n",
" <line x1=\"0\" y1=\"74\" x2=\"38\" y2=\"74\" />\n",
" <line x1=\"0\" y1=\"74\" x2=\"38\" y2=\"74\" />\n",
" <line x1=\"0\" y1=\"74\" x2=\"38\" y2=\"74\" />\n",
" <line x1=\"0\" y1=\"75\" x2=\"38\" y2=\"75\" />\n",
" <line x1=\"0\" y1=\"75\" x2=\"38\" y2=\"75\" />\n",
" <line x1=\"0\" y1=\"75\" x2=\"38\" y2=\"75\" />\n",
" <line x1=\"0\" y1=\"75\" x2=\"38\" y2=\"75\" />\n",
" <line x1=\"0\" y1=\"76\" x2=\"38\" y2=\"76\" />\n",
" <line x1=\"0\" y1=\"76\" x2=\"38\" y2=\"76\" />\n",
" <line x1=\"0\" y1=\"76\" x2=\"38\" y2=\"76\" />\n",
" <line x1=\"0\" y1=\"76\" x2=\"38\" y2=\"76\" />\n",
" <line x1=\"0\" y1=\"77\" x2=\"38\" y2=\"77\" />\n",
" <line x1=\"0\" y1=\"77\" x2=\"38\" y2=\"77\" />\n",
" <line x1=\"0\" y1=\"77\" x2=\"38\" y2=\"77\" />\n",
" <line x1=\"0\" y1=\"77\" x2=\"38\" y2=\"77\" />\n",
" <line x1=\"0\" y1=\"78\" x2=\"38\" y2=\"78\" />\n",
" <line x1=\"0\" y1=\"78\" x2=\"38\" y2=\"78\" />\n",
" <line x1=\"0\" y1=\"78\" x2=\"38\" y2=\"78\" />\n",
" <line x1=\"0\" y1=\"78\" x2=\"38\" y2=\"78\" />\n",
" <line x1=\"0\" y1=\"78\" x2=\"38\" y2=\"78\" />\n",
" <line x1=\"0\" y1=\"79\" x2=\"38\" y2=\"79\" />\n",
" <line x1=\"0\" y1=\"79\" x2=\"38\" y2=\"79\" />\n",
" <line x1=\"0\" y1=\"79\" x2=\"38\" y2=\"79\" />\n",
" <line x1=\"0\" y1=\"79\" x2=\"38\" y2=\"79\" />\n",
" <line x1=\"0\" y1=\"80\" x2=\"38\" y2=\"80\" />\n",
" <line x1=\"0\" y1=\"80\" x2=\"38\" y2=\"80\" />\n",
" <line x1=\"0\" y1=\"80\" x2=\"38\" y2=\"80\" />\n",
" <line x1=\"0\" y1=\"80\" x2=\"38\" y2=\"80\" />\n",
" <line x1=\"0\" y1=\"81\" x2=\"38\" y2=\"81\" />\n",
" <line x1=\"0\" y1=\"81\" x2=\"38\" y2=\"81\" />\n",
" <line x1=\"0\" y1=\"81\" x2=\"38\" y2=\"81\" />\n",
" <line x1=\"0\" y1=\"81\" x2=\"38\" y2=\"81\" />\n",
" <line x1=\"0\" y1=\"82\" x2=\"38\" y2=\"82\" />\n",
" <line x1=\"0\" y1=\"82\" x2=\"38\" y2=\"82\" />\n",
" <line x1=\"0\" y1=\"82\" x2=\"38\" y2=\"82\" />\n",
" <line x1=\"0\" y1=\"82\" x2=\"38\" y2=\"82\" />\n",
" <line x1=\"0\" y1=\"83\" x2=\"38\" y2=\"83\" />\n",
" <line x1=\"0\" y1=\"83\" x2=\"38\" y2=\"83\" />\n",
" <line x1=\"0\" y1=\"83\" x2=\"38\" y2=\"83\" />\n",
" <line x1=\"0\" y1=\"83\" x2=\"38\" y2=\"83\" />\n",
" <line x1=\"0\" y1=\"84\" x2=\"38\" y2=\"84\" />\n",
" <line x1=\"0\" y1=\"84\" x2=\"38\" y2=\"84\" />\n",
" <line x1=\"0\" y1=\"84\" x2=\"38\" y2=\"84\" />\n",
" <line x1=\"0\" y1=\"84\" x2=\"38\" y2=\"84\" />\n",
" <line x1=\"0\" y1=\"84\" x2=\"38\" y2=\"84\" />\n",
" <line x1=\"0\" y1=\"85\" x2=\"38\" y2=\"85\" />\n",
" <line x1=\"0\" y1=\"85\" x2=\"38\" y2=\"85\" />\n",
" <line x1=\"0\" y1=\"85\" x2=\"38\" y2=\"85\" />\n",
" <line x1=\"0\" y1=\"85\" x2=\"38\" y2=\"85\" />\n",
" <line x1=\"0\" y1=\"86\" x2=\"38\" y2=\"86\" />\n",
" <line x1=\"0\" y1=\"86\" x2=\"38\" y2=\"86\" />\n",
" <line x1=\"0\" y1=\"86\" x2=\"38\" y2=\"86\" />\n",
" <line x1=\"0\" y1=\"86\" x2=\"38\" y2=\"86\" />\n",
" <line x1=\"0\" y1=\"87\" x2=\"38\" y2=\"87\" />\n",
" <line x1=\"0\" y1=\"87\" x2=\"38\" y2=\"87\" />\n",
" <line x1=\"0\" y1=\"87\" x2=\"38\" y2=\"87\" />\n",
" <line x1=\"0\" y1=\"87\" x2=\"38\" y2=\"87\" />\n",
" <line x1=\"0\" y1=\"88\" x2=\"38\" y2=\"88\" />\n",
" <line x1=\"0\" y1=\"88\" x2=\"38\" y2=\"88\" />\n",
" <line x1=\"0\" y1=\"88\" x2=\"38\" y2=\"88\" />\n",
" <line x1=\"0\" y1=\"88\" x2=\"38\" y2=\"88\" />\n",
" <line x1=\"0\" y1=\"89\" x2=\"38\" y2=\"89\" />\n",
" <line x1=\"0\" y1=\"89\" x2=\"38\" y2=\"89\" />\n",
" <line x1=\"0\" y1=\"89\" x2=\"38\" y2=\"89\" />\n",
" <line x1=\"0\" y1=\"89\" x2=\"38\" y2=\"89\" />\n",
" <line x1=\"0\" y1=\"90\" x2=\"38\" y2=\"90\" />\n",
" <line x1=\"0\" y1=\"90\" x2=\"38\" y2=\"90\" />\n",
" <line x1=\"0\" y1=\"90\" x2=\"38\" y2=\"90\" />\n",
" <line x1=\"0\" y1=\"90\" x2=\"38\" y2=\"90\" />\n",
" <line x1=\"0\" y1=\"90\" x2=\"38\" y2=\"90\" />\n",
" <line x1=\"0\" y1=\"91\" x2=\"38\" y2=\"91\" />\n",
" <line x1=\"0\" y1=\"91\" x2=\"38\" y2=\"91\" />\n",
" <line x1=\"0\" y1=\"91\" x2=\"38\" y2=\"91\" />\n",
" <line x1=\"0\" y1=\"91\" x2=\"38\" y2=\"91\" />\n",
" <line x1=\"0\" y1=\"92\" x2=\"38\" y2=\"92\" />\n",
" <line x1=\"0\" y1=\"92\" x2=\"38\" y2=\"92\" />\n",
" <line x1=\"0\" y1=\"92\" x2=\"38\" y2=\"92\" />\n",
" <line x1=\"0\" y1=\"92\" x2=\"38\" y2=\"92\" />\n",
" <line x1=\"0\" y1=\"93\" x2=\"38\" y2=\"93\" />\n",
" <line x1=\"0\" y1=\"93\" x2=\"38\" y2=\"93\" />\n",
" <line x1=\"0\" y1=\"93\" x2=\"38\" y2=\"93\" />\n",
" <line x1=\"0\" y1=\"93\" x2=\"38\" y2=\"93\" />\n",
" <line x1=\"0\" y1=\"94\" x2=\"38\" y2=\"94\" />\n",
" <line x1=\"0\" y1=\"94\" x2=\"38\" y2=\"94\" />\n",
" <line x1=\"0\" y1=\"94\" x2=\"38\" y2=\"94\" />\n",
" <line x1=\"0\" y1=\"94\" x2=\"38\" y2=\"94\" />\n",
" <line x1=\"0\" y1=\"95\" x2=\"38\" y2=\"95\" />\n",
" <line x1=\"0\" y1=\"95\" x2=\"38\" y2=\"95\" />\n",
" <line x1=\"0\" y1=\"95\" x2=\"38\" y2=\"95\" />\n",
" <line x1=\"0\" y1=\"95\" x2=\"38\" y2=\"95\" />\n",
" <line x1=\"0\" y1=\"96\" x2=\"38\" y2=\"96\" />\n",
" <line x1=\"0\" y1=\"96\" x2=\"38\" y2=\"96\" />\n",
" <line x1=\"0\" y1=\"96\" x2=\"38\" y2=\"96\" />\n",
" <line x1=\"0\" y1=\"96\" x2=\"38\" y2=\"96\" />\n",
" <line x1=\"0\" y1=\"96\" x2=\"38\" y2=\"96\" />\n",
" <line x1=\"0\" y1=\"97\" x2=\"38\" y2=\"97\" />\n",
" <line x1=\"0\" y1=\"97\" x2=\"38\" y2=\"97\" />\n",
" <line x1=\"0\" y1=\"97\" x2=\"38\" y2=\"97\" />\n",
" <line x1=\"0\" y1=\"97\" x2=\"38\" y2=\"97\" />\n",
" <line x1=\"0\" y1=\"98\" x2=\"38\" y2=\"98\" />\n",
" <line x1=\"0\" y1=\"98\" x2=\"38\" y2=\"98\" />\n",
" <line x1=\"0\" y1=\"98\" x2=\"38\" y2=\"98\" />\n",
" <line x1=\"0\" y1=\"98\" x2=\"38\" y2=\"98\" />\n",
" <line x1=\"0\" y1=\"99\" x2=\"38\" y2=\"99\" />\n",
" <line x1=\"0\" y1=\"99\" x2=\"38\" y2=\"99\" />\n",
" <line x1=\"0\" y1=\"99\" x2=\"38\" y2=\"99\" />\n",
" <line x1=\"0\" y1=\"99\" x2=\"38\" y2=\"99\" />\n",
" <line x1=\"0\" y1=\"100\" x2=\"38\" y2=\"100\" />\n",
" <line x1=\"0\" y1=\"100\" x2=\"38\" y2=\"100\" />\n",
" <line x1=\"0\" y1=\"100\" x2=\"38\" y2=\"100\" />\n",
" <line x1=\"0\" y1=\"100\" x2=\"38\" y2=\"100\" />\n",
" <line x1=\"0\" y1=\"101\" x2=\"38\" y2=\"101\" />\n",
" <line x1=\"0\" y1=\"101\" x2=\"38\" y2=\"101\" />\n",
" <line x1=\"0\" y1=\"101\" x2=\"38\" y2=\"101\" />\n",
" <line x1=\"0\" y1=\"101\" x2=\"38\" y2=\"101\" />\n",
" <line x1=\"0\" y1=\"102\" x2=\"38\" y2=\"102\" />\n",
" <line x1=\"0\" y1=\"102\" x2=\"38\" y2=\"102\" />\n",
" <line x1=\"0\" y1=\"102\" x2=\"38\" y2=\"102\" />\n",
" <line x1=\"0\" y1=\"102\" x2=\"38\" y2=\"102\" />\n",
" <line x1=\"0\" y1=\"102\" x2=\"38\" y2=\"102\" />\n",
" <line x1=\"0\" y1=\"103\" x2=\"38\" y2=\"103\" />\n",
" <line x1=\"0\" y1=\"103\" x2=\"38\" y2=\"103\" />\n",
" <line x1=\"0\" y1=\"103\" x2=\"38\" y2=\"103\" />\n",
" <line x1=\"0\" y1=\"103\" x2=\"38\" y2=\"103\" />\n",
" <line x1=\"0\" y1=\"104\" x2=\"38\" y2=\"104\" />\n",
" <line x1=\"0\" y1=\"104\" x2=\"38\" y2=\"104\" />\n",
" <line x1=\"0\" y1=\"104\" x2=\"38\" y2=\"104\" />\n",
" <line x1=\"0\" y1=\"104\" x2=\"38\" y2=\"104\" />\n",
" <line x1=\"0\" y1=\"105\" x2=\"38\" y2=\"105\" />\n",
" <line x1=\"0\" y1=\"105\" x2=\"38\" y2=\"105\" />\n",
" <line x1=\"0\" y1=\"105\" x2=\"38\" y2=\"105\" />\n",
" <line x1=\"0\" y1=\"105\" x2=\"38\" y2=\"105\" />\n",
" <line x1=\"0\" y1=\"106\" x2=\"38\" y2=\"106\" />\n",
" <line x1=\"0\" y1=\"106\" x2=\"38\" y2=\"106\" />\n",
" <line x1=\"0\" y1=\"106\" x2=\"38\" y2=\"106\" />\n",
" <line x1=\"0\" y1=\"106\" x2=\"38\" y2=\"106\" />\n",
" <line x1=\"0\" y1=\"107\" x2=\"38\" y2=\"107\" />\n",
" <line x1=\"0\" y1=\"107\" x2=\"38\" y2=\"107\" />\n",
" <line x1=\"0\" y1=\"107\" x2=\"38\" y2=\"107\" />\n",
" <line x1=\"0\" y1=\"107\" x2=\"38\" y2=\"107\" />\n",
" <line x1=\"0\" y1=\"108\" x2=\"38\" y2=\"108\" />\n",
" <line x1=\"0\" y1=\"108\" x2=\"38\" y2=\"108\" />\n",
" <line x1=\"0\" y1=\"108\" x2=\"38\" y2=\"108\" />\n",
" <line x1=\"0\" y1=\"108\" x2=\"38\" y2=\"108\" />\n",
" <line x1=\"0\" y1=\"108\" x2=\"38\" y2=\"108\" />\n",
" <line x1=\"0\" y1=\"109\" x2=\"38\" y2=\"109\" />\n",
" <line x1=\"0\" y1=\"109\" x2=\"38\" y2=\"109\" />\n",
" <line x1=\"0\" y1=\"109\" x2=\"38\" y2=\"109\" />\n",
" <line x1=\"0\" y1=\"109\" x2=\"38\" y2=\"109\" />\n",
" <line x1=\"0\" y1=\"110\" x2=\"38\" y2=\"110\" />\n",
" <line x1=\"0\" y1=\"110\" x2=\"38\" y2=\"110\" />\n",
" <line x1=\"0\" y1=\"110\" x2=\"38\" y2=\"110\" />\n",
" <line x1=\"0\" y1=\"110\" x2=\"38\" y2=\"110\" />\n",
" <line x1=\"0\" y1=\"111\" x2=\"38\" y2=\"111\" />\n",
" <line x1=\"0\" y1=\"111\" x2=\"38\" y2=\"111\" />\n",
" <line x1=\"0\" y1=\"111\" x2=\"38\" y2=\"111\" />\n",
" <line x1=\"0\" y1=\"111\" x2=\"38\" y2=\"111\" />\n",
" <line x1=\"0\" y1=\"112\" x2=\"38\" y2=\"112\" />\n",
" <line x1=\"0\" y1=\"112\" x2=\"38\" y2=\"112\" />\n",
" <line x1=\"0\" y1=\"112\" x2=\"38\" y2=\"112\" />\n",
" <line x1=\"0\" y1=\"112\" x2=\"38\" y2=\"112\" />\n",
" <line x1=\"0\" y1=\"113\" x2=\"38\" y2=\"113\" />\n",
" <line x1=\"0\" y1=\"113\" x2=\"38\" y2=\"113\" />\n",
" <line x1=\"0\" y1=\"113\" x2=\"38\" y2=\"113\" />\n",
" <line x1=\"0\" y1=\"113\" x2=\"38\" y2=\"113\" />\n",
" <line x1=\"0\" y1=\"114\" x2=\"38\" y2=\"114\" />\n",
" <line x1=\"0\" y1=\"114\" x2=\"38\" y2=\"114\" />\n",
" <line x1=\"0\" y1=\"114\" x2=\"38\" y2=\"114\" />\n",
" <line x1=\"0\" y1=\"114\" x2=\"38\" y2=\"114\" />\n",
" <line x1=\"0\" y1=\"114\" x2=\"38\" y2=\"114\" />\n",
" <line x1=\"0\" y1=\"115\" x2=\"38\" y2=\"115\" />\n",
" <line x1=\"0\" y1=\"115\" x2=\"38\" y2=\"115\" />\n",
" <line x1=\"0\" y1=\"115\" x2=\"38\" y2=\"115\" />\n",
" <line x1=\"0\" y1=\"115\" x2=\"38\" y2=\"115\" />\n",
" <line x1=\"0\" y1=\"116\" x2=\"38\" y2=\"116\" />\n",
" <line x1=\"0\" y1=\"116\" x2=\"38\" y2=\"116\" />\n",
" <line x1=\"0\" y1=\"116\" x2=\"38\" y2=\"116\" />\n",
" <line x1=\"0\" y1=\"116\" x2=\"38\" y2=\"116\" />\n",
" <line x1=\"0\" y1=\"117\" x2=\"38\" y2=\"117\" />\n",
" <line x1=\"0\" y1=\"117\" x2=\"38\" y2=\"117\" />\n",
" <line x1=\"0\" y1=\"117\" x2=\"38\" y2=\"117\" />\n",
" <line x1=\"0\" y1=\"117\" x2=\"38\" y2=\"117\" />\n",
" <line x1=\"0\" y1=\"118\" x2=\"38\" y2=\"118\" />\n",
" <line x1=\"0\" y1=\"118\" x2=\"38\" y2=\"118\" />\n",
" <line x1=\"0\" y1=\"118\" x2=\"38\" y2=\"118\" />\n",
" <line x1=\"0\" y1=\"118\" x2=\"38\" y2=\"118\" />\n",
" <line x1=\"0\" y1=\"119\" x2=\"38\" y2=\"119\" />\n",
" <line x1=\"0\" y1=\"119\" x2=\"38\" y2=\"119\" />\n",
" <line x1=\"0\" y1=\"119\" x2=\"38\" y2=\"119\" />\n",
" <line x1=\"0\" y1=\"119\" x2=\"38\" y2=\"119\" />\n",
" <line x1=\"0\" y1=\"120\" x2=\"38\" 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=\"1\" y1=\"0\" x2=\"1\" y2=\"120\" />\n",
" <line x1=\"3\" y1=\"0\" x2=\"3\" y2=\"120\" />\n",
" <line x1=\"5\" y1=\"0\" x2=\"5\" y2=\"120\" />\n",
" <line x1=\"7\" y1=\"0\" x2=\"7\" y2=\"120\" />\n",
" <line x1=\"9\" y1=\"0\" x2=\"9\" y2=\"120\" />\n",
" <line x1=\"11\" y1=\"0\" x2=\"11\" y2=\"120\" />\n",
" <line x1=\"13\" y1=\"0\" x2=\"13\" y2=\"120\" />\n",
" <line x1=\"15\" y1=\"0\" x2=\"15\" y2=\"120\" />\n",
" <line x1=\"17\" y1=\"0\" x2=\"17\" y2=\"120\" />\n",
" <line x1=\"19\" y1=\"0\" x2=\"19\" y2=\"120\" />\n",
" <line x1=\"21\" y1=\"0\" x2=\"21\" y2=\"120\" />\n",
" <line x1=\"23\" y1=\"0\" x2=\"23\" y2=\"120\" />\n",
" <line x1=\"25\" y1=\"0\" x2=\"25\" y2=\"120\" />\n",
" <line x1=\"27\" y1=\"0\" x2=\"27\" y2=\"120\" />\n",
" <line x1=\"28\" y1=\"0\" x2=\"28\" y2=\"120\" />\n",
" <line x1=\"30\" y1=\"0\" x2=\"30\" y2=\"120\" />\n",
" <line x1=\"32\" y1=\"0\" x2=\"32\" y2=\"120\" />\n",
" <line x1=\"34\" y1=\"0\" x2=\"34\" y2=\"120\" />\n",
" <line x1=\"36\" y1=\"0\" x2=\"36\" y2=\"120\" />\n",
" <line x1=\"38\" y1=\"0\" x2=\"38\" y2=\"120\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"0.000000,0.000000 38.596863,0.000000 38.596863,120.000000 0.000000,120.000000\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"19.298432\" y=\"140.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >100000</text>\n",
" <text x=\"58.596863\" y=\"60.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,58.596863,60.000000)\">1000000</text>\n",
"</svg>\n",
"</td>\n",
"</tr>\n",
"</table>"
],
"text/plain": [
"dask.array<random_sample, shape=(1000000, 100000), dtype=float64, chunksize=(2000, 5000)>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import dask.array as da\n",
"import cupy\n",
"import numpy\n",
"\n",
"rs = da.random.RandomState(RandomState=cupy.random.RandomState)\n",
"x = rs.random(size=(1_000_000, 100_000), chunks=(2000, 5000))\n",
"x"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<dask.config.set at 0x7f7cfc3f1550>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import dask\n",
"dask.config.set(fuse_ave_width=5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Set up Local Cuda Cluster"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "14637e2fee8541dc83b80cd0c9e8c10a",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"VBox(children=(HTML(value='<h2>LocalCUDACluster</h2>'), HBox(children=(HTML(value='\\n<div>\\n <style scoped>\\n…"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from dask_cuda import LocalCUDACluster\n",
"cluster = LocalCUDACluster()\n",
"cluster"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table style=\"border: 2px solid white;\">\n",
"<tr>\n",
"<td style=\"vertical-align: top; border: 0px solid white\">\n",
"<h3>Client</h3>\n",
"<ul>\n",
" <li><b>Scheduler: </b>tcp://127.0.0.1:42863\n",
" <li><b>Dashboard: </b><a href='http://127.0.0.1:8787/status' target='_blank'>http://127.0.0.1:8787/status</a>\n",
"</ul>\n",
"</td>\n",
"<td style=\"vertical-align: top; border: 0px solid white\">\n",
"<h3>Cluster</h3>\n",
"<ul>\n",
" <li><b>Workers: </b>4</li>\n",
" <li><b>Cores: </b>4</li>\n",
" <li><b>Memory: </b>257.78 GB</li>\n",
"</ul>\n",
"</td>\n",
"</tr>\n",
"</table>"
],
"text/plain": [
"<Client: scheduler='tcp://127.0.0.1:42863' processes=4 cores=4>"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from dask.distributed import Client\n",
"client = Client(cluster)\n",
"client"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"u, s, v = da.linalg.svd_compressed(x, k=10, compute=True, seed=rs)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 0.0031599 , 0.00315846, 0.00316353, ..., 0.0031613 ,\n",
" 0.00316399, 0.00315826],\n",
" [ 0.00227812, -0.00375382, 0.00146421, ..., 0.00144928,\n",
" -0.00045726, 0.003376 ],\n",
" [ 0.00247836, 0.00060906, -0.00046026, ..., -0.00258691,\n",
" 0.00253948, 0.00147831],\n",
" ...,\n",
" [ 0.00500711, 0.00218733, 0.00068634, ..., -0.00252443,\n",
" -0.00735898, -0.00273903],\n",
" [ 0.00083847, -0.00186231, 0.00026126, ..., -0.006059 ,\n",
" 0.00232307, -0.00084597],\n",
" [ 0.00440147, 0.0015874 , -0.00347741, ..., -0.00066526,\n",
" 0.00883817, 0.0084228 ]])"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"v.compute()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.8"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment