Created
July 5, 2019 10:41
-
-
Save mrocklin/3af8a428e18a3047ab501161ffe17cf9 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "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