mirror of
https://github.com/fverdugo/XM_40017.git
synced 2025-11-08 23:54:25 +01:00
653 lines
209 KiB
Plaintext
653 lines
209 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "2133c064",
|
|
"metadata": {},
|
|
"source": [
|
|
"<img src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/3/39/VU_logo.png/800px-VU_logo.png?20161029201021\" width=\"350\">\n",
|
|
"\n",
|
|
"### Programming large-scale parallel systems\n",
|
|
"### Lectures on Julia for HPC\n",
|
|
"\n",
|
|
"\n",
|
|
"# Distributed Jacobi (SOR) method\n",
|
|
"\n",
|
|
"by Francesc Verdugo (VU Amsterdam)\n",
|
|
"\n",
|
|
"Version fall 2022"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "a7b64d5a",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Contents\n",
|
|
"\n",
|
|
"- How to parallelize the Jacobi method in Julia"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "8bfa86d6",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Mathematical background\n",
|
|
"\n",
|
|
"\n",
|
|
"### 1D Laplace equation\n",
|
|
"\n",
|
|
"\n",
|
|
"Find a function $u(x)$ such that\n",
|
|
"\n",
|
|
"\n",
|
|
"$u''(x) = 0 $ for $x\\in(0,L)$\n",
|
|
"\n",
|
|
"$u(0) = -1$\n",
|
|
"\n",
|
|
"$u(L) = 1$\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "de45f04c",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Analytical solution\n",
|
|
"\n",
|
|
"$u(x) = (x-L)/L$"
|
|
]
|
|
},
|
|
{
|
|
"attachments": {},
|
|
"cell_type": "markdown",
|
|
"id": "bba2fb43",
|
|
"metadata": {},
|
|
"source": [
|
|
"\n",
|
|
" <div>\n",
|
|
"<img src=\"data:image/png;base64,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\" align=\"left\" width=\"250\"/>\n",
|
|
"</div>\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "392dd6e1",
|
|
"metadata": {},
|
|
"source": [
|
|
"### A 3D Laplace equation in a complex domain"
|
|
]
|
|
},
|
|
{
|
|
"attachments": {},
|
|
"cell_type": "markdown",
|
|
"id": "e7d815e0",
|
|
"metadata": {},
|
|
"source": [
|
|
"<div>\n",
|
|
"<img src=\"data:image/png;base64,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\" align=\"left\" width=\"500\"/>\n",
|
|
"</div>\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "f1450f45",
|
|
"metadata": {},
|
|
"source": [
|
|
"### The jacobi method"
|
|
]
|
|
},
|
|
{
|
|
"attachments": {},
|
|
"cell_type": "markdown",
|
|
"id": "e794b036",
|
|
"metadata": {},
|
|
"source": [
|
|
" <div>\n",
|
|
"<img src=\"data:image/png;base64,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\" align=\"left\" width=\"300\"/>\n",
|
|
"</div>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "bb20b40a",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"jacobi (generic function with 1 method)"
|
|
]
|
|
},
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"function jacobi(n,nsteps)\n",
|
|
" u = zeros(n+2)\n",
|
|
" u_new = zeros(n+2)\n",
|
|
" u[1] = -1\n",
|
|
" u[end] = 1\n",
|
|
" for istep in 1:nsteps\n",
|
|
" for i in 2:(n+1)\n",
|
|
" u_new[i] = 0.5*(u[i-1]+u[i+1])\n",
|
|
" end\n",
|
|
" u[2:end-1] = u_new[2:end-1]\n",
|
|
" end\n",
|
|
" u\n",
|
|
"end"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"id": "9d251dba",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"7-element Vector{Float64}:\n",
|
|
" -1.0\n",
|
|
" -0.6666666666666666\n",
|
|
" -0.3333333333333333\n",
|
|
" 0.0\n",
|
|
" 0.3333333333333333\n",
|
|
" 0.6666666666666666\n",
|
|
" 1.0"
|
|
]
|
|
},
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"jacobi(5,1000)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "dda71761",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Parallelization strategy"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "7c5a0d60",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Data partition and dependencies\n",
|
|
"\n",
|
|
"`u_new[i] = 0.5*(u[i-1]+u[i+1])`"
|
|
]
|
|
},
|
|
{
|
|
"attachments": {},
|
|
"cell_type": "markdown",
|
|
"id": "52626d50",
|
|
"metadata": {},
|
|
"source": [
|
|
" <div>\n",
|
|
"<img src=\"data:image/png;base64,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\" align=\"left\" width=\"450\"/>\n",
|
|
"</div>\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "d5e089f4",
|
|
"metadata": {},
|
|
"source": [
|
|
"### \"Ghost\" entries"
|
|
]
|
|
},
|
|
{
|
|
"attachments": {},
|
|
"cell_type": "markdown",
|
|
"id": "1dc26426",
|
|
"metadata": {},
|
|
"source": [
|
|
"\n",
|
|
" <div>\n",
|
|
"<img src=\"data:image/png;base64,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\" align=\"left\" width=\"450\"/>\n",
|
|
"</div>\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "acbbd646",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Remote channels"
|
|
]
|
|
},
|
|
{
|
|
"attachments": {},
|
|
"cell_type": "markdown",
|
|
"id": "08dab820",
|
|
"metadata": {},
|
|
"source": [
|
|
"\n",
|
|
" <div>\n",
|
|
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA6gAAADyCAYAAABAvOgkAAAACXBIWXMAAB7CAAAewgFu0HU+AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAIABJREFUeJzt3XeYG+XVxuHfuhuwcaOZZqrpJUAgpndCCaEmIRAISUwNPZQQIAUINUBo8VJDS+ihBwj5IPQWIHSIjbGNaa5gcLe+P56ZzKxWI2m1kmakfe7r0rXSajQ6K2lHc95y3pZRo0blMDMzMzMzM0tZt7QDMDMzMzMzMwMnqGZmZmZmZpYRPfJu79jS0jI2jUDMzMzMzMysa8nlcsOAh8PbbRLUlpaWsSNHjnyv3kGZmZmZmZlZ19Pa2kouF5VF8hBfMzMzMzMzywQnqGZmZmZmZpYJTlDNzMzMzMwsE5ygmpmZmZmZWSY4QTUzMzMzM7NMcIJqZmZmZmZmmeAE1czMzMzMzDLBCaqZmZmZmZllghNUMzMzMzMzywQnqGZmZmZmZpYJTlDNzMzMzMwsE5ygmpmZmZmZWSY4QTUzMzMzM7NMcIJqZmZmZmZmmeAEtbABQC64XJByLFvHYsm/XJhiXGZmZmZmZlXVI+0AzMzMzCw1vYHvBNffAV5PMZYlgC0S7ks7NuvaugN7Btf/C7ySYixNzwlq9j0JDIrdXhT4IKVYzMzMrLn0B24Lrp8DnJJiLOvGYsl3LnByHWPpKgaihoF30g4k43oRfTYvB45MMZam5wQ1++YBU2O3c2kFYmZmZlZDk4F/xG73BLZMKZZm1x8l/QcAv8YJqmWIE1QzMzMzy4KXge1jt4cAn6cUS7NbBjg07SDMCulKCeogdKCbB0wA5lS4nyWBfsDHwIwK99EHHRhmAR/R+L2ifYClgZnAp8D8Tu6vB3p9wv2VqxuwGBoGPQ34rJNxZE139LrMQZ+/juiJXptFgK/Q587MzMzMLFOavYrvssAlwFg0bORdYDTwBXAfsBPlvQbdgBNRYvsx8B4advs3YLkijzsGeAm4M7i9RvC8M4D3gfHB5bDy/6RUDUJ/z0vAdsBg4M/otfgvSnomAL9FSWspzwf72ie4vQYa3z8TzbP9BCWao4LnSrI8cCUwMXjMuyix/QA4HVgo4XF/CJ7/mTLi7Q08HWx/SYltO+vx4HkODG6vAtwEfI0+yxOBL4Fr0byRYnZAn7mp6P15F71HnwDnAysVeMxZwfO/gJL9YrrH4m0tsa2ZmZmZWVHN3IO6L3A90LfAfb2BXYPLLsCDRfbTAvwl2F9cD2B3YB00qf/LAo9dBtgAJRgbAv9Eva9xSwNXoMnXtU58Oqsn+nsANkNxr5K3zZLAacC2aJjO10X29w30Oq4OjEDvQ35CtCgwEjUGPFRgH/sAN1A4wRwG/AZVXduR9r2x/wGODa7vQtSQUMi3gxhByXAtrYf+7jXQ6/0w7RP0RYAfo9fk9gL76ANcA+yX8BxLACegJHjxvPteAX4ZXP8uaoRIsjXR/KAbi2xnZma11wP4FvoeGYJG3IwBHgUmdWA/LcA26BxnADAONXYWG5k0GH13zSYapbM4+n5dDjU+Pw/8i8YYOdYCrBBc/xSNPmpBVYbXR8WFJqDX5ZMO7HcFYCt0jriA0u9Pd9QQD21f2yTLEZ3fjw2eAzTndEhsu2Vi1wcBKxbY1+cUPr+ttp7ovHLdIJZ56LP2BvrMzC3y2BXQ+zIJdUCB/ge+GezrE+B+1CFUjqWAnVEn11TUifFi+X+KVcWoUaNy4aW1tXXVtOOpkp3RMNMcGkZ7AbAR+sdcEp1Ut6ID9y4FHh9fB3Us+uf+I0oWVgX2QMlNuE1SxbsLYtv8N7h8D/VabQT8LhbndGDhMv62eGz1Xgd1idhzzw5+XgWshQ4CmwKPxba5vMT+5gbbtaID9HzUGHAA6qHdHU3g/xQliPm2J3r9pgLHodd2IPpSvQS9dzmU5LXkPb4/SqBzFE7y4m4NtpuJ3oNamhY81w3AW+hvuBMlk9sBu6FezolEvc/5/krbz95P0JfPwODn/qiHtNDJRp9YDIUaBeKuCbabh/63zMys/roBR6OT8ULrps9EjY1LFXjsYrHtfo/Oc/5TYB9fonOYJJcE272Pvm9PJTpXiF/+SenROaEhscedU+ZjqmWh2HP/FDV6v0T7v+cr4KAy9rc28EiBx4fnVOejzopCbgu2m4sSuSS7E533XJd33+EJz13s8rMy/q7O+j7Jn9scMAV1VCSZGWz3C/T5DhtA8l/fo0rE0ROdV4fnpvHL/cG+w9uXdexPtFJaW1tXjeekzZigLoQSmvADuVWRbTci6hGMiyeBOdQLl28YOinPoQNWIfEE9TMKfzGMim2ze5FYC8WWZoKaQ8lJvt7Av4mSluULbBMKDwIzg8v2CdsNQC1Z+c8znii5Xyvhsb+MxVto/+FB/2va926HwnmbOYr3slZLmBzORJ/h7yRs1w99DvPtRfQ3Fxum20LyQf9aoi/DxRK26Y0aBsIGADMzq79eaJRR/Pv5HTQq6Z+oMTP8/Q4FHh9PUEehXsEc8Dbqvfoidv8cNOqpkDBB/RqN0Am/n59B06vCxCmHGqPLkZUE9QL0N+TQVJnn0N8W3j8fjQpLsh1K8MPtxxO9P/HX9z4KTz1bFDU254APabv8YGgZ1IuYQz2P+dOb9g/+hvASnkPlgseNLnAp1iBRDd+j7efidfQa3Au8SnSeeGmRfYQJ6pVEDSujgWdRchv/v9imyH5ujm03CyW6jxCd5zwUu98JapV1hQT1UKIP0FkV7iOeBE4leX7io0SJRKEDSjxB/WWB+0HDEMJtTutgbGkmqPPR8ORC9oltd2KR/c0tc7tCDow99vgi2/UhOkAVGoK6e2w/ByTs44exbfZM2KaawgQ1h+bzdtRzRO/RahXGsG0shqQ50vHX7kcVPo+ZmXVOmBjm0FDEdfPub0HH9FcpnaDOQUNIN4rd3xMlCOE2SdNc4nHMRqOo4tOs1ibqQJhP2yGmSbKSoM5GHQ3x3sseaJRXuM0NCftZjug85EvgB7Qd0bUI8KfYfpLW19wAJU454O68fYT1IHKoQX3N0n8ea8Se84Qytq+FMcHzTwE2LnD/YDQyoNj6t2GCOhs1GuwYu68bbTsq7k/Yx96xbV6m7WdzYdqOSnOCWgP5CWozFkmKDwX9UxX29zI6IBTyQfCzDxouWszTJfYByT1VWfQayfMg4r1pIxK2iZuNWm07Ytfg5wKKz5GcBTwVXN+0wP0PoQMjaJhJIeHvp1F8vnK1zafjB8HBaN4FwP9R+bpmj6NWdyj9unyNvizNzKy+ViVKaN5Hiehredvk0PSbTQrcl68napSNz7mbC5xE9F25XRlxPR/ENTP2u9eJGta7Ubw3K2t6AQcTnU+ARomdRlRVP+l1+TWaXgPqxfwLek9CM9Dw2+eC2yeghDPfy0SJ5HeBI2L3nUpUD+II4M3EvyQ7hhLN8b0FfWbyTUYNH+U0TvRCn7n4OeiC4LHvBbe3pnCHUvi6zkU1ZybE7vsKdYqMKSMGq5JmTFDDIbvjKH9CdDHF9jE5dj2pUmyp/XRkH1kyrsh9X6BkDpKHAsW9hlq9OmLD4OdkVAxiuyKXsJVxGdrPQ51DNP90e9oXIxpE1OJ8J8mNFbXwDh1fKmd9or/xmU4893zUYghqMc5v6V4YzYUFDcepRxEFMzNrayTRudwviYrEFDKL0ku3vY0aKPN9DTwZXF+R0kU2r6RtEhb6e+x6I43aGwc8UOD3c9AwXdA0rkXy7u9PVKzwKeCehP0vIKqEvzzte8FDlxFNNTofnf9sjlYsADXYX5/w2KyJf4bmVWF/U4nOW+IWECWtC9H+fGYoUcP+I2h4cL7ZwNVViNHK1IwJaphgTCy6VfmmFLmv0MG3o/vpyD6ypNSXXHj/wKJbSSVrci4W+/loiUvY29qTwo0At8Tu3zvvvr2IihbcXEGcnVHJ6xKv0NfZ/4Hw7+1G+3ko3yEq6lXv18XMzGSr4Ods1FjYWW8VuS/8TulGcs2G0Nsl9gHlF0rKgrdJPl8r9jdthuo1gOYJFxOvZ1KoPkroJ6g3rw9KyG5GPa5v0bZXNesmoN5JUA/l1p3c3/skV/st9h7FG/afI9mzFcZlFWi2ZWZaUJIBxUtSd0SjJpC1NrvE/WFPY8+iW8nM0pu0EyaNX6CDUrkKvZ9PoqIDy6Nhq/Hhxj8Ifk4AnuhgjJ3VmdcFOv8/8G/0pbw6el3ic57D12UyLpBkZpaWlYOfb1P6e7kcE4rc91Xseqnv9qT9dGQfWVLsdYkvp5dfhTfeS7wjxXuN4ys5FJvyNR01Gj8FDI/F8D3avr5ZF/YaH4vqq/wTFaB6Eo0Ae57iDSb5Kn2PlotdL9b50pGlhKyTmi1BzaGhpYMpXOHMqid/7cx8SwQ/iw03ClXSCDA1iOE/aHhLZ4QVBU9G65sNRa1tQ4nmdPyVaC2xeqn0dQlV43/gFrQc0oZozdv3Ua94WITgdjTEyczM6qsHUf2LqcU27IBKGkZruZ+sqPTviX8PJ61UUEipZQdfAu5A84VBRSDf6MD+s+Ik1Ll0JPo8Dw8uPw3ufx8Voiq0akS+St+j+GiAYtOqSo0ctCpqtgQVNBH6W6iVqi/Nd5CMJ0lpvn/F1rzsTtT6V2yuame8hxLUlaq0v5tRgtoNTZC/OPjZLXZ/I3gvdn2dKuzvFlRJuAW1zp5JusOezcxM5geXHjTn+VwziI9kupzya6OUGk66BW2n3vwYJXEvFt48s+aiHtTfAzujIl8j0DxnUMP41WikwCk1jCHUO3Gr5BU9rAaa8YD2BEpQewJ7EM0vbBYz0BdSd4onibX2DfSPXGhI0YZEFej+XaPnfxzN7VgKlSYvVP2tI95AvbHroOGrFxNVqX0TledvBO+hioJLobm3C9F2aEtHjUFflCPQ63Im0esyluTq1GZmVlvh8hyLk7zsm6VrUuz634B/VGGfi6NRXz1QMcW+aIrSrWjuarV60+vpM1Tc6frg9ioocT0UNZCfAPyRqGJyNcVfryUSt0r3nLvLacYiSVejBA7gbIoX6elJ6aGqWbOAqPjAFhRv7amlfqjFrpBDY9fvTNims64mavW6iPZzCvL1oPiBB6LewI3QUJywqlsjNXKEC62D5nT8vsT2Q8vYZ/j3r4GG9m4V3M4vlW9mZvX1cvBzBdQw2WziU0hKDXvNonjho29UYX/dgJvQd/cs1GD8Q1QFdwXgOtqvVpAk/v2dtXzgfbT0zh+C2z1IrmzcWfF5rsslblX8PquyrH0gq2E0SlhALUpPUHjx381QL9xGBe7LunBZlCVRolbOYte1cD5t1/1qQRXkDgxuP0dUlr7aPgyeH9Rj/jCFl7QZCvwKrTe7X4H74/6CGgBagGuDnzkaK0EF9f6GZdKPAq6g/fI5fdHB/5+UdhtRY8DVRL3jHt5rZpauh4KfLbRtHG4WM4imai2fZiAVeoWo1+8gOj9y8VdEc1lPRMv0PY3WWgXYHfU8lmNG7HpWewfj686WsypEJf5DtFTeTkW226VGz28FNGOCCloL7K7g+tooUfoAJTH/hyp9PYmGLTaii4gq1+6P5jTkYpc16xDDY6jX8lG0+Pbf0Wt8GfqinAb8jNr2sJ2BhrSAevXeQsNdHgri+y9aquV3lJfEjwf+FVwPt38aDWVtJNPR8PawrPphqPrcC+h9ehZV372c8gopfY7WBoPodXmVxlgI3MysmV1PtJ76SUQjXApZB50TNZIFRFN4dqDxerHmEXWarI56BIv1cPZH506FbEO03um96Hwr9HuiBudzgE3KiO1joilAOxI1PtfL0mgd12J2jV1/L3GrzpmFCk4BrEX7ZfUAVgMOqNHzWwHNmqDOBfZBvUdhRa5h6OC2FfqnWID+wV+rf3id9iX6O+4lGs5cby+j13gq+ofekah1823Us1rrinLz0LzIw4laKIejFrBtiAoozUC9o4+Wsc/8XsFG7SV8HY0OuIGoiMZG6H3aBPWgTgUuLXN/zfK6mJk1ky+Bg1FjcG/UCPkHNHJsMTTsdyvgSlRApxGHAf8p+NkbdS6cgM4/wkupNVnTdjFRvYafo46SPYBlUa/gymgN9utQB8rvCuxjSaL1Tj8ies9DC1AC9TmavnYr7UdO5ZtH1AO/BjpHOhidQ20XXGo5t3k51MP8BHA0GgK9KJqetCFwFVrzlWC7WtU0AfgNUbJ+DXAMen+WROeZj9G8OVMmNWORpNACdPJ9JTpQr4cO1rNRj9gTtF24N+4LouRmepHnuAANeYTC5ad/j4ZXhvssZH7sub5M2KaQiWgoxwA07yD+jzOmA/vpjHvRAWZXNKF9Bkr4n6C8xHlV1JI4o9SGReTQe3wVSsDWB4ag9/9zlCS/QPlrgt5I22GvH3Uitkqth97Pzq5nNhENtz4OLZczDH1epqEE9l+Uv27eHbQtRFWLQgVmZtZx96LRVNegSqPHkjzMsxHrBtyKOhgORucc5+fdP5yOnT/V21xgNzQ9a1v0fbxlke3zv/u7o6lGS6Jzq/2Jes3jJqLaIPeh1+l64DsUf89PQOfIywBbB5e4kej8qpa2CC5JJqC5trX87H6IEvxb0Vzni4h6vkNHoNo2i9YwDgs0c4IamodarjpSbXQB5SV5U4JLkskUPojE5cp8riTTUMtSWmagNUIr8UEV45iHhq6WKs1eymzql+AnGVvl/U0mGvJeqbmk/7qYmVlht6D5eieiZCg+FHYOapBsRT1B+eYQVZf9b5HneD+2XaH1r9+L3Z/USL0gts07RZ4r30+Dx+2PliCJF0YstwG6o+YTxfpuke3GxLZLWtpwKkqy9wEOQVPM4kUuv0I93A/Rvu7Ft2OxPITqpyR5ADgN9Zr3QQlxscrBY9Gw7x+hNeWXpu1r+3mRx3bW62g4847AprTv3f8AnV+eh851k/wTxVxs2tE4otchqcPoLlTT5Gw0Ci8c8vwWmlJ2B+oEGUbxz4NVQcuoUaP+1yLR0tIyfOTIkbUa423pWZ/KhibMQQeQ0BJoLiPogHFSJ+NqBotR+ZyY8RRfFNrMzKwSg4LLXNSzVqskzirTG432WgjNgZxAY/ZuV1N/9Jp0Rw3rxTqAam0hlDBPp+1SQVYjra2tq+Zyuf8l/l2hB9XUe9y3gseNRcOHLdneRMO4O+potK6XmZlZNZUa4WXpmk06U4iy7AuSezfr7Wui1RAsBU5Qu4YL0aT5jmrExZ7r7RXg3Aof+1LpTczMzKwDzqayUWOTUG0RSzYCzWutxN/QqhpmJTlB7RpOSzuAJvYcPuCamZllxS+o7Pz2fZyglrIBlU/v+hCfL1mZnKBaR0wiqjhcbMK6mZmZWRrCFQI6yvN0S/szKsRUCc/ltLI5QbWOmI8ruVrH9EVrvK2AlrjpByyCKu7NQgUIZqK5OKNR4agFqURqZlnUFy1jFh5DFkHHkR5oHt90NF8sPIZMwMeQrq6aKwRYW1maJ2pNzAmqmVVLX7QW7eZonso6qGR9R1qy56BlDp5DSyY8jZYuMLPm1xf4JtExZG20PmNHzCY6hjyJjiHFlk4xM7OMcYJqZp0xGNgd2BPYjrbruoUmoxPEKWgx9XB4eC+0IHZ/tFTPisHj1wguBwfbjQPuRGuQPYd7R8yayRB0DNkLrdnYq8A2k9H8wKm0PYb0RstBLIqOISsEv1szuPwk2O5DdPy4A3geL+dhZpZpTlDNrKO6AzsDh6KFx+PHkY+Iej5fQCeV5S510IJ6S9ZGvSebod6U5YBjg8tHwPXAlbhEv1mj6g7sio4h2we3QxNofwwpt6J8N6JjyKboGLIhsDxwfHAZT3QM+bhzf4aZmdWCE1QzK9cA4DDgEHTCF3oZuAu4G3i7E/vPoZPH8cCDwe96oxPYfVBp+6WBU4ETg+e8BHi2E89pZvUziOgYsmzwuxxacuuu4PJu4YeWZQEacTGOqJBLH9SQtjc6hiyLKtufhEZmXIwSYTMzy4hK1okys65lEPBbYCxaX2554HO0/utKqIfibDqXnCaZDdwPHAgsgYYS/x9a1/d7wDPAw0EMZpZNg4EzUfGaM1GS+Bnwe3QM2Si43pnkNMks4F7gR+gYsg/wBBpK/AM05PcBYP0aPLeZmVXACaqZJVkIOAOdVJ6G5nm9BhyATjBPpr5VneegXtptUAGmq4Lf7YB6QO4AVqtjPGZW3MKocesDNPKhP/AK8EN0DPkl9a24OhsdJ7YC1gOuRceQndFIkL+iJUrMzCxFTlDNrJDdgDeBX6OTytdRL+Y3gJvQiV6aXgdGoiVsWtESSHsFv78EnRibWXrCY8hpaFmY/wD7AhsAt6DEME2voSJKq6BjyAI0KuMN4Bw0NNjMzFLgBNXM4lZFQ2jvBYahYb37AOsCN5C9Crrj0Xy2dYH70Lz6o4BXUUVQM6uv1YB/oWPI8miUxZ6ox/J2sldBdxw6hqyP5r73RPNTXwW2TDEuM7MuywmqmYGqaB6HTsq2Ar5CPR9roCFxWTupzPcWKoCyB6oCujLwKBoG7N5Us9rrjoqXvYLWMZ2BhvCuiYbmZ/0Y8jqwCyqmNBEYjhrrrkTrs5qZWZ04QTWzVdCC9heiE7G/o8T0TGBminFV4m8o9j+i3t6fogqh66UZlFmTWw0VLDsXDY19AFgdFT6alWJclbgTHUMuR0n1ocCLaOkaMzOrAyeoZl3bXqjA0LeA6Wio285o2Fuj+hI4Gq2B+AE6eX4ODdvzMc+sug5ACdw3iY4hu6KRDI1qOnAkmibwEeoFfgEdV1pSjMvMrEvwyZpZ19QXFQa5A61v+k90EtZK9ofiles5tPzM3Wg91XOAv6DqxGbWOQuhKrg3AIugIfWro2NIs3gcjb64D/UMX4yKxLmAkplZDTlBNet6hgHPAj9D1W9/jZZq+Si9kGpmCirQcgSqPLwvKuCydJpBmTW4ldD6oT8G5gG/AnYCPk4zqBqZBOyOek/nAPuhdVSXSjMoM7Nm5gTVrGvZEg1VWxedTG4P/AYlqs3sCjRc7zO0zEU4JNHMOmYblJyuhYoJbQucRfYqfFdTDs1r3wElrN9Ex9EN0gzKzKxZOUE16zoORcPwFkMJ2kaoSmVX8TQ6sfwP6v14AvhuqhGZNZYjgYeBwURD6P+VakT19QSwMVrfdRn0t++aakRmZk3ICapZ82sBLkDLJfQEbga2oDmH9JbyIbApcA+aR3Y7cGCqEZllXzfgEuBStNbwn9FyVM04pLeUMcAIVKl4IeAuNOzXzMyqxAmqWXPrhYp6HI+GqZ0C7E/jLf1QTTNQ9eKr0cn2dWh+mZm11xsVFzsKDeP9BXAQmtPdVX2BRl/cgBr9bgQOTzUiM7Mm0iPtAMysZvqhNf22R8U9Dka9p6Y5tyOBacAJqDrnIOCMNIMyy5hFURXsrVFCeiBwa6oRZcc8lKhPQ8n75cBANB/XzMw6wT2oZs1pAPAISk6/Qq39Tk7byqHeoJOD26ejglFmpmTrEZSczkCVbJ2ctpVDoy/CY8iZqKKxmZl1ghNUs+YzBK1rugnwOarc+1CqEWXbuagHJIeS1FPSDccsdYujNUC/CXwKbI6KI1lh56KRGAC/Q1MqzMysQk5QzZrL4sBjwProxHJb4OVUI2oMlwLHBdfPBk5MMRazNC2BjiHrAJ8A2wGvphpRY7iQKDE9H629bGZmFXCCatY8FkPLxqyDKvRuCbyeakSN5WKi4XnnAIelGItZGpZES6msBYxH1b7fSDWixvIH4LeocvqlwE/SDcfMrDE5QTVrDuF8sTWAcSg5fTfViBrTWcGlBbgM2DvdcMzqZjA6hgwHxqJjyPtpBtSgzkA9qC3AKDR318zMOsAJqlnj64fmmK6H1iXcDhidakSN7VfAH9Hx8Ua0bqpZM1sU+DuwNhp9sS3wQaoRNbYTgT8B3YFbgI3TDcfMrLE4QTVrbH2B+9AJ0CRUtde9Hp13LHAX0Ae4B/UqmTWjhYAHgA2Bz1AD15hUI2oOR6Jj80LBz5XSDcfMrHE4QTVrXGEP35bAdODbwJupRtQ8FgD7A0+joY8PoeIxZs2kG3ATGiUQHkPeSTWi5jEf+B7wLKoP8DAqYmdmZiU4QTVrXBcAewGzgN2Al9INp+nMROvHvgesANyLelTNmsUlwB7os/5t4N/phtN0wmPIGNSDejfQO9WIzMwagBNUs8b0czQMNQccBDyZajTNaxKwM1pP9puo6IlZMzgODUNdAByAevqs+j5Dyf8UYARwebrhmJllnxNUs8azC3BRcP1k4NYUY+kKRqNepjnAj4Bj0g3HrNP2RpVmAU4A7kwxlq7gPWBfYB5aeubwdMMxM8s2J6hmjWVDlJB2B64Czks3nC7jaXQiDxpavVOKsZh1xkbAn9H3/yiixi6rrcdQgyJozeWt0gvFzCzbnKCaNY4VgPuBhYEHcSt8vV0KXI0aB26mcFXOXnieqmXXiugYslDw84h0w+lyLgSuA3oCd6Bjer7eeJ6qmXVxTlDNGsMgokqyL6PqkPNSjahr+jnwPHo/7qB9MnoxcFq9gzIrwxCiSrIvoGPI/FQj6pqOQMWoBgO3oUatuCvROqpmZl2WE1Sz7OuB5ogNB8YCuwIz0gyoC5uFKid/CqwH/CF237LopP/bKcRlVkxPVEF2ZVRRdjfg61Qj6rpmojntk9CUjfg0jWGo6u+u9Q/LzCw7nKCaZd+5aL7SdFQg6ZNUo7GPUNXTBcBhwD6oJ/VeYCCwFBoGbJYVFwKbAVNRVerP0g2nyxsHHIiqsB8F7A70Be4DBgDL4fMzM+vCfAA0y7bvoeUgcqj641vphmOBR4FzguvXomG/qwEtqMd7vZTiMsu3HxqaHi4n82664VjgQdRw0IKKVr0ArBLc7g6smV5oZmbpcoJqll2rAa3B9bPxUhBZcw5aPmIRYG2i+agDge3SCsosZh1U7Rvgd8ADKcZi7Z0FfAAsihLSsDjSQGDbtIIyM0ubE1SzbOoP3BP8fBQ4I91wLHA4Gsr7OkpOlw1+3xLbpjua42eWpoHAXahi70PAb9MNxwJHoaG8rwNvA0sGv48fQ3o9OzdxAAAgAElEQVTgY4iZdWFOUM2yJxzytSrwIRqi52qb2fAs8A303iyJ5o0VsiJtTzjN6qkbcCNaCmkMsD8a4mvpexYVRyp1DFmtbhGZmWWME1Sz7DkFVXKcjQrwTEo3HIt5Bc0Tuw0VnEnSHZ2AmqXhdFRQbRawLzAl3XAs5kV0bHgEmFZku+6oocvMrMtxgmqWLdsSDcU7Ep3MWLbMRMVmjiS5ovIgYJu6RWQW2R74VXD9cLRusmXLl2gI7y/QklWFDETV283MuhwnqGbZ0R0t0t4duAa4Ot1wrIRbgG8Bb9J+TckewHfqHpF1dT1RYbXwWHJduuFYCVcDW6L57DPz7uuFlp8xM+tynKCaZcd8YAd00nJkyrFYecaiJWVagcl5961T92isq5uLKki3AsekHIuV5110rLie9seQDeoejZlZBjhBNcuWscDP0NwxawzzgGOBHwITY7/vT1Tl16xeRgOHAHPSDsTKNhsNxz6A9seQpVKJyMwsRU5Qzcyq42FgfeA11MDQAw3fMzMrx0OoSvjrRMeQzVKNyMwsBU5Qzcyq5zN0gnkhkMNzyMysYz5FDV2XBLd9DDGzLscJqplZdS1AVVS3A8anHIuZNZ75wMnATsDHKcdiZlZ3PdIOwMysST0TXMzMKvGv4GJm1qW4B9XMzMzMzMwywT2oZtYl3XDDDQvPnDnzpbTjKObyyy9feuLEib0BZs6cOeWrr76alnZMeQYBA4LrM8necMS+tK2COiatQIpYMXb9Y9qvh5mqAQMGLNWjR4++ACNGjJi2yy67TEk7piQtLS1vjBw5cp+04zAzs85xgmpmXdK0adO69+7de7W04yjmiy++YNKkSeHNJYNLVvUCFk07iBIy/X4Dy6cdQL5p06I2kdmzZy8OLJ5eNMXlcrmv0o7BzMw6z0N8zczMzMzMLBPcg2pmJucDH6YdRNz8+fP/gHomGTp06DsTJ068LOWQ8h0PrBBc/xo4McVYCtkW2CN2++do+Z8sib+n9wCPphVIIYMGDTpvypQpCwHMmDFjLHBBuhG11dLSsn0ul/NSLGZmTcQJqpkZsGDBgjsOO+ywF9KOI27o0KHnEiWo4ydOnHh5yiHl258oQZ0NZC2+vrRNUK9AywBlSTxBfZaMvYb9+/f/bZigfv31158ccsghmYpv1KhR/fBaoWZmTcVDfM3MzMzMzCwTnKCamZmZmZlZJjhBNTMzMzMzs0xwgmpmZmZmZmaZ4ATVzMzMzMzMMsEJqpmZmZmZmWWCE1QzMzMzMzPLBCeoZmZmZmZmlglOUM3MzMzMzCwTnKCamZmZmZlZJjhBNTMzMzMzs0xwgmpmZmZmZmaZ4ATVzMzMzMzMMsEJqpmZmZmZmWWCE1QzMzMzMzPLBCeoZmZmZmZmlglOUM3MzMzMzCwTnKCamZmZmZlZJjhBNTMzMzMzs0xwgmpmZmZmZmaZ4ATVzMzMzMzMMsEJqpmZmZmZmWWCE1QzMzMzMzPLBCeoZmZmZmZmlglOUM3MzMzMzCwTnKCamZmZmZlZJjhBNTMzMzMzs0xwgmpmZmZmZmaZ4ATVzMzMzMzMMsEJqpmZmZmZmWWCE1QzMzMzMzPLBCeoZmZmZmZmlglOUM3MzMzMzCwTnKCamZmZmZlZJjhBNTMzMzMzs0zokXYAZmZZ0K1bt1+NGjVqUtpxxJ155pm9w+ujR49eA7g2xXAKWTF2fWGyF99aebevTiWK8u0NDE87iLhJkyYtHF5fdNFFVxo1alTW3uO10w7AzMyqywmqmZnslnYA+bp37/6/61OnTl0a+HF60ZTUi2zHB9mPb8PgkhkzZsz43/XevXsvRvZfQzMza3Ae4mtmZmZmZmaZ4B5UM+uS+vXrN2f27Nk3px1HMUOHDl2nT58+/QCmTp364aeffjoh7ZjyLA8sE1yfBryZYiyFLErbYb5PpxVIESOAluD6m+h1zIxhw4at2adPnwEA/fv3n5DL5T5MO6YkLS0tY9KOwczMOs8Jqpl1ST/+8Y9nAfunHYdZlo0dO/Z/19955x1uv/329IIxM7MuwUN8zczMzMzMLBOcoJpZOfqlHYCZNTQfQ8zMrCxOUM2sHH8H/gz0STsQM2tIjwHXoGrPZmZmiZygmlk5ngf2A14HVks5FjNrPC8DB6BjyCopx2JmZhnmBNXMyvEQ8DWwMvACcGK64ZhZg7kfmAWsipLVn6cbjpmZZZUTVDMrx7NES2H0A36FhuwNTC0iq5TnAloanqLtMeR3wCPAgNQiskr5GGJmNeUE1czKMQP4NHa7H7AlWrdxs1QiskqsBowFTiJKFszqYTrweez2osBWaMjviDQCsoqsA3wIHJ12IGbWvJygmlm5nsy73R1YCrgHuAAfT7KuH3AXMAjYHr9fVn/P5t3uCSyDjiHn4s9k1g1Ex5CBwC7oO8DMrOr8ZWBm5boX+LLA7wcBhwIvAkPrGpGVqwW4HlgdGAd8H5ifZkDWJd2D5rLnG4KOIc+iRi/Lnm7ATcBKqAf1B/gYYmY14gTVzMr1LwqfXAIsDKwPvAp8p24RWbl+CeyJitTsCUxKNxzrov5F4UYugP7ARsBrwK51i8jKdTqwMzAT+C4wOd1wzKyZOUE1s3JNQQlOkhY0r+xu4JS6RGTl2AH4TXD9CFRB1SwNnwBzitwfHkPuAX5Rl4isHLsApwXXD0ENkWZmNdMj7QDMrKG8CCxf4PfTgMdRcjoeGF3HmCzZ8sDNaK7YKODadMMx41Vg2QK/nwb8Ex1DPgL+W8+gLNEw4M+oQ+My4MZUozGzLsEJqpl1xD1o+F2f4Pas2PVjUYVYy4Y+wJ1oft/zuOqmZcPfgB2BXsHt8BiSQ8eQcSnFZe31RceQwWh+8PHphmNmXYWH+JpZRzyBlosADfk9GngGrWV4K6rKadlwObAB8BmwNzA73XDMAI20mBpcnwIcjhpQBqLeOVeGzY4rgG+gJcb2ofjwbDOzqnGCamYdMR6YB3wFXAm0ooqwU4BvAr9LLzSLOR44GFXZ3B+YkG44Zv8zBn0uvwQuAq4DfogavrYAzkgvNIs5GTgIHe/3RcOuzczqwgmqmXXUG6iCY3giOR74KRqidyKwe0pxmewNnBdcPx54NMVYzAp5B/gcODu4PRoV3wE4FVWLtfR8n+i9ORpVXzYzqxsnqGbWUVcBx9B2Dby7gUtQFc4bgTVSiMtgBHADOrb/Eb0nZlkzCiU+C2K/uxUNKe2GCnutmkJcpl7s69Gx/EL0npiZ1ZUTVDPrqDtRQprvBOBhoB8qhDKgnkEZK6L3pS9wP3BcuuGYJboNfUbzHYPmuQ8A7kVLzlj9rAzcAfQOfp6Ybjhm1lU5QTWzapkP7IeG662CekRc8KQ+BgMPAYsDL6EhevOLPsIse+YCewEfAMOJRgNY7Q1Bx5DFgBeAA2nbw21mVjc+8JtZNU1BcyC/BnbARZPqoS9wHxoSORrYBRWxMmtEk1FRnpnAd4DT0w2nS1gIeAD1oL6H5gB/nWpEZtalOUE1s2p7FTgAFU0KK0FabXRDc36/hU7sd0HLypg1speAnwXXT0fHE6uNbsBNqAr7JGA3dCwxM0uNE1Qzq4W7gLNQoY1WYPt0w2laf0BDImcB3wXeTTccs6q5GVWjbkGF2bZKNZrmdSmwB+qx3g31oJqZpcoJqpnVyumod68nKrixbrrhNJ0ziSqhHgg8lW44ZlV3MvBXVLTnbmDNdMNpOucCh6NjyP7Ac+mGY2YmTlDNrFZywE/QOpz9gQeB5VKNqHkch9aLzAFHoqqoZs0mhxpfHkOVfR8Glk01oubxa1SlN4eS1LtSjcbMLMYJqpnV0lxgH+B1YChKUoekGlHjOxatTwhwPHBlirGY1docdAx5C1gaFQQbmGpEje8XwBnB9aPRurRmZpnhBNXMam06qgo5Hg3RewSfYFbqOKLk9DTgohRjMauXqegYMhFNFXgYr5FaqZPQ3F7QEOpLU4zFzKwgJ6hmVg8TgO2AT4D10Xp7/VONqPGcgpLTFrR8z5nphmNWVx+iY8hnwEZoWZRFUo2o8ZwOnBO7fm6KsZiZJXKCamb18h6qxPkpsDFKUn2CWZ6TgLOD67/Ga0Na1/Q2qgg+GdgUHUMWTjWixvGb4AI6fniNajPLLCeoZlZP7wI7oSF7I9B8sn6pRpRt3dAw3rDX40Sik0yzrug/6BgyHdgM+BtOUovphobxno4KIh2Lk1MzyzgnqGZWb68SnWBuhSp0unBSe73QWpDHoGUgjgLOTzUis2x4Cc1J/RIN+/0HntdeSG/gVlTpewFwBHBxqhGZmZXBCaqZpeEFYBui+WRPAsukGlG2LALcC3wfVTHdHxczMYt7Btga+BzYBK0DvHSqEWVLuCzP3sBsYD9c8dvMGoQTVDNLy7+BLYBxwGooSV0l1YiyYQV08r0j8AXqKfpLqhGZZdPLaBTGR8AawBPAimkGlBErAU8DWwLT0IiVW1ONyMysA5ygmlma3gU2D34OA55FvSJd1Raod3lttKTGlmgItJkV9haai/pflJg9h44pXdU2wPMoYZ+AjimPpxmQmVlHOUE1s7SNQydRzwGD0bC0Q1KNKB2HoLl0Q4AX0dDnV1ONyKwxjEVJ6YvAYuj/6OA0A0rJEej4ORgdTzcCXk81IjOzCjhBNbMs+Az1nN4E9AT+BPwR6JFmUHXSD/3df0J/+y2o53RimkGZNZhP0P/NX1GBsWvQusHd0wyqTvqjaQCXoWPmDWjo8ycpxmRmVjEnqGaWFbOAA4BTUMXJn6OhacunGFOtrY8qkv4QmIeWkdkfmJlmUGYNaiYqBhQuqXIcGiLfzAXYNkDz+b8PzEV/84GoMJKZWUNygmpmWXMOsAcq7rEp8AqwV6oRVV934AQ053ZVomHO56MTazOrTA6t87kPKjK2JRoqv3uaQdVAD+BkVFBtJeADNBf3ojSDMjOrBieoZpZF96LexWfQ+oZ3AKPQcNhGtxpaEuN8tE7hPehvfTbNoMyazJ3o/+oFNCfzbuByYOE0g6qSNdGx8fdoOPOdwDfQ32pm1vCcoJpZVo1FvR9noSG/I4E3adyekN7AL1GP8Caoh/hg4LvAlBTjMmtWY1Cv4nmoZ/VwdAzZJc2gOqEPcBpaXmcjYCoazrs3Op6YmTUFJ6iFdUNrqa2IWl7T1DcWS/4l7disa2sh+iwOqdFzzAN+BWyLlpFYFvgb6g1ppHllu6MT47PQSeYDwFrAdWkGZdYFzAVOAnZACevywP3A7cDQFOPqqD3Rkjq/RY1d96Ke1BvSDMrMrBacoBbWHxgdXE5JOZZNYrHkX36ZYlxm3Yk+i2fV+LkeR2uDngXMQb2O76IhbgNr/Nyd8U3gUZRUr4TWJdwP2BX4KMW4zLqax9Ax5FyUtO6NjiFnAoumGFcp30Kx3wmsgOarfw81en2cYlxmZjXTFZZwaHRz0TCeUAswIKVYzNI0C/Wm/gW4AhUVOhmtH3oecCnwVWrRtbUxcAbw7eD2LOACVAAqKzGadTVfo2PGzcCVqAjbqcBh6H/z8mCbLBiBqhHvGNyeiY5z51HdGNcGdg6u34wa0dKyLbBhwn23AOPrGIuZpcgJavY9BQyK3R5A24TVrKt5E81N3RX1fqyLelJPQmsfXoGG8tVbLzQM79AgPlAD042oqujYFGIys/ZeR3NTd0fHkLVQ4ncy0TFkbApx9UbHkMOAzYPfzQWuR3GOq8FzboCSc1DhpTQT1N2AoxPuexYnqNXWDTVOvAh8mnIsZm14iK+ZNar7UeXK/YB3UOPN8cD7aH7WvtSnYucGaNjgONS7uyU6qbwGGA78BCenZll0D2rg+hE6bgwCfoHmu9+NhgEvVOMYWlCv4XnoGHILSk7nAFehZahGUpvkNGseQ8fS8PJguuE0ta3QEPf7aNsJYpYJ7kE1s0a2ACWFf0VD4Y4Kfu4WXGaik5x7gSfRWoGd1R8NDdwWrc86LHbfR+ik8ipgYhWey8xqawEa5XAzsBM6huyA5rl/Fw2nfYDoGPJhFZ5zUXQM2Q71mC4fu288On5cTdebY3pfcAkdRDT82KprI2DltIMwS9JVEtSF0TyLIahVcgxqIe2oQcAa6MtlPPCfCvbRAqyOih18BbxG4w/ZXSW4zEBVBidVYX8roBOD9yl/6Mlg9NqGw6BfC2JqVP3R53YQqmb7GWrxrORvWgRYBxUU+gQtdbKgzMe2oGqRy6GF718DvqwghlrKAX8PLqugE5u9Ue/DXsEFlDQ+DbxBVOBpLDCbtv+HCweXIehLfNVgvxuj4YDdY9t+hZLgW1Cv7rzq/mlmVgcL0P/xg2jkw0HoGLIysE9wATVCPYWmGsSPIXNIPoaE35GrEh1D4iPYviQ6hjwAzK/un2Zm1liaPUEdQbRERa+8+95B80yuo/QJ/8LAxcABaI5I6C00NOjlhMf9DjgCJcQbotbSS4HVYtvMBS5Dw4qy/qW0GEqQAH6KvqCvQ1UGQ/OAO4BjKJ1YfoY+gyehFuPt0DCn9fO2+z+01lvS/JPNgF+jISvxxGE2WkrgJAr3Zl2H5iDNRScO04vE2g8ly71QEvKjItt21proddiRtn8P6PV9Org/afjTOJSQ/hoVAjkTrf+3SN42PwH+USKWfdD8pBVjv5sBXETtK/dW6n1U+ORUNHxvL3QM2AAtKxE/2cw3m7b/48We4ynUq/Iw6qk1s+bwLqrgfwr6PtoL2AYdQ5ZGVXSTlHsMeQ/1yN4LPIIKqZmZGc2doJ6CTqBbYr+bghKMRVCS+EeUPD5QZD890JfHiOD2PKLXbQ20hMQaqFcqX1/UY7U6GqZyL0o44vvoCRxLtFZblnUjWtJjS2AUah2eh3rWBqK/6/voi3xziiep4fbLoGFOf0WvR76tUYtzoQT1ZOBsovd5Fup57YdOEvYPHr8tUXIduh+1kgPsgQpRJPkusETscbWyIUrIw2QyhxL5HHqte6DX/h2SE9QB6O9fEQ1/DXsP45+75dBQqg1RQ0Mhx6PKs6GZ6HPaHy0W3wjVpF8LLqej9Uc3Qks3rYKWfVkJff7ChoD8E8vP0ZC+94PLa6iQSKH/dzNrPq8EF9B3ev4xZEW0PnPYIxo/huTQiKKxtD2GPI2O69W2DhqevBIaUTQVjRa5nY4ds1YEfoD+RoJ93EDxmDdFr88HqFe5J2oA3hxYPHjsg6hBrxEsgUYwgb6T56Oh2PuhBu1uqJPiRsqfzjEQnQt+EzX4f4Fe27tJXnZscfS+gs6B8s9j8ve/QXD9c/RZC61H2/XK48N7v4UaXvI9iRpcaiUe79PoHKMFNc5vFcT0GSpqdielR271QQ1JmwNLofP9j1Fj8v3o/CWuOzo/BJ2rvl5i//3QCAjQ/3QlIzGtXKNGjcqFl9bW1lXTjqdKfoa+GHLon/QQ2q6VuAzqsZwM7FLg8QNij5+Ckp6foxPz7ihZeji2zTkF9gE6uY/H8RTRP+NA1Av3dXD/bMqbqB6P7cIytq+mJWLPvQAdsE8kKkSzOCoME25zW4n9zQ22uxm9Pl+gRcg3Rl8Eq6Oe2teIluuI+1HsuUajOYdhgrsIcCQ64OWAf9O+QaYP+gIPh4cW82Cw3XT0JVwrTwXPMw/1Qsd7PfuiA/d9qPc/yRdEn7n5aLmTIegLdRX0eoev280J+/hGEEMOHbh3IzoBWwdV/VsQ28+o8v/ETOqJ/ieXQZ/jehRXMrPmER5DlkXJR62LK8WthkbD5BIus4GbEh57UGy7zVFD+Tza72MqGq2U5L/BdpehefmvJcRyK+V3jsRj26LMx1TLPrHnXhadA86l/d/zBRr9VUw3tG59+N2cf5mJRvu1FHhsX6LXchL6jiqkBSVhuSDO/PcqvK8jl6El/q7O2jr2XOuic8znEmL5lPYjyuIORBWok/6Wj1CjS77wtf2Qwq9/3KGx/e1W6o+zjmltbV01npM2Y4I6CLWy5IBptB1Om2/ZhPvjSWAOVdDLN4QouXwjYf/xBHU0bZON0Dmxbb5fJNZCsaWZoOYoPMSzhbZflGsW2V94sJ+PGgvWStiuB+2T9/5EyeVHqLWskINisexd4P4woZ6LTioKCecu5yjey9pZixIlfbeU2LZYkhz/Evxdgft7o1bF8H+k0EH57tg+ti1w/xCUADdLgmpm1og2IfouDL8Pb0LTMK4F3g5+Pyfh8QfFHntl8HMC+g66C/UOhvePJznxDhPUB9BJ/zzgn8CfUe9YPOk9psy/LR5bmgnq74OfH6ORXneg1yK8/zP0/V1IC20bhb8IHn9R8PtJsfvOTdjHcKLz2scpnKgdHdvPKQXuPxON+Asv78W2fybvvvAyOCGeaoknqDuj0Vzh+dhrwBN5cRYaYQfR+5ND51DPo3OSS9BnOPz/aC3w2JNij920RLyPEzUUJMViFeoKCeoviD5sx1W4j3gS+DHJrTb3ER34C7UIxhPUnyfsY/3YNr/tYGxpJqizSR7iuVNsu98U2V+8NfLgDsZyZJmP7U70BXtngfu3ie3nsIR9HBLbZvsOxtkRy1Kd9zZMUGeR/KV5Rey58ltk+6H3Nwe8UOR54l8KTlDNzOprEFGitACdbBc6F9kODUct5CDantxfQ9uaHb3RCKNSDelhgroAJQQb592/JWqMzqGkoxzx2NJMUMNq8fGG4Z4o+Qm3+WnCfo6NbfMY7RvC+xH1bs6n/esW+mFsP7/Ou2999H2fAx6ivCUk4+fKq5exfS3EE9Sw5/Ri2ndIrIgaXQolhfvG9jGOwq/fQqgmxeUF7luO6HN5WZFYl4ltd2WR7axC+QlqM66DGiYQOdRy11mvkly8KFzQuifq0Svm3wm/j8+rbKS1qF5BvW+FPI5ef9Bci1JmULrHMN9Owc95aH5NkvmodRAKH7geJ5r7UWj4R/z3H6MW4VqZSFQoY09gyU7u778kF36KL8ae30q6LtEJyv8V2X+pAktmZlY7RxE1MJ6JeuAKVRH/B+ppLWU0aqiN97bORjUHQpuX2EcLmvrzfN7vnyCq37AKyaOesugjVFQwXgxvLkp6wnOdQq/LIkSv3QeolsXnedt8iWplTEeJ5dEJMdyMlh4CDQfeMvYcf0ENCR+hqU/lVujPko3R5/cYNLUubgx6jQrNIT07uD4LnRfmf+5Aox3PonDP8jg01xY0yi6pQ2pfosQ/aWqUVVEzFkkKJ7WPRsNGOyupciy0TdD6VLifjuwjS5Im9IMOFFNQ4rNKke1Cr9LxCobrBT+nk5xYhsLCAEuiL89c7L6wZfQENLxjWdq+V8sQffHcSm0rLc9HhbT2RXN4RqOhtk+iJPttOraESaWf3XjxhGLFH4p9BszMrLZ+HPycTnItjNAXZezvFgoPBX4JfUf3QQWYiplL8gn8U8B3gusr0jjrvN6Gkpx8b6PzzCEUfl32IKp/cgHJRX6moe/+A1CdifzzlNBRKJFbG73G6wHnoyHA81ABp/wEuFFMQvUyOmJLotf9RpJHCYSS/gduCfa1BBpV92iBbcLzzLFoyLrVWDMmqGEvZLUq5BU7qBc6gFSyn0ZUagmZT1GCWk6l13LXOY0L3+fBlD+8tDsqfpO/rNDNKEHthpLD+PDaereaHY4OkluiYSk/DC6gL7f70RCYYkNvQ5V+5uLDgou9N5W8b2Zm1nnD0PBE0Al1oQSqo0Yn/D6c7rQCGpJazMQiscQbPEuNOsuSpNcF9LoMofDrslXs+kMlnuM1lKAOQu/rhwW2mYnOSV5EFW6fJKqjcgbwrxLPkWX30/GKwfFe63s68dy3oyUge6FEND9BXQWteABKZjty7m8VarYEtYWo4Is/QLVVaghJeH85w8grWf8t3O+ndOygXKgH9FXU8rYGOjjFE9Sw1exd1Ipca5PRvIztUIn+7dDBsRv6AvwBGobyM6ozhL2UYu9zIw4jMjNrBsvHrpfqOSpXqZFRUPq8sdg+4glII51/TihyX7HXZYXY9asofl4aX+ZlMIUTVNASc4ejZX/C5PRhSvegZ12pJV4Kqdb/wFS0UsN3Ua/3YbT9rMbnXXd0OppVqJEOEOXIoQ/a4iRXZLXqKDU/MlwzNGkOZGdNQXNYxqAWxc66Gc1R2AAlhO+joa7xVrN6yRFV0QO1zm6PhvdsguY8X4GGBE2twfPH37MlErfq/BxZMzOrTHx0UrW+Z5Mq/dZ7H1mTP/exXPH3qFA1/CSllrK7Cw0ZXjy4fRWN32BcyWe4mv8Dt6AEdQCayxrvkQ0T1FdJXjfeqqwZiySFS76sRHnDSxtNfA5i78Staq9YgYPeRIV3ig2N6YzwfR5OdT7H8WEb4cEo7D3Nke6k+ElonuwINA8WNPx3g8RHdE588eli66DVeo00MzMrLF6wJ81zAUsWvkfTUSNzuZdSSdAVRMkpqPpsozcYV1Lfo5r/A/cRTYuK95iui0bXgYsj1VUzJqhhldXuRHP3mslXRK15aSYIG5A8h2Qzos/WizV6/seCn4OoztIvY4kmvoeJaXiQep7aJdodkaPtYutJC3Z31qtEw1u2LLLd1jV6fjMzKy5eA2D5xK0sTeF71BetGPCPMi9JKySAqgn/KLh+LUrSlkSN7EkVaJtVvNbMsE7uaxbRUoS7oXolEJ0HLkBr4FqdNGOCejXRnIDfokpxSQbQ+Q91veVQAgEaMpJWoYHeJC+2fWzs+m01ev6rUbIO8EeiSnlJhqDe1mLCYbyro2IF9W4160/pAhTrxq7XqoruDDQfA+BbqOc23wBgZI2e38zMinuT6DtwqxTjqKV4fYpGKqoUCpc86QV8owr7WxsV8wEtAfczovOwrelYFdx4j2WjTveLF4ss1phervAccGFUbbqFKEF9guJzka3KmjFB/ZRoraNBqKz5/mhIZKg/WgD638Ca9QyuSm4MfvZHlc+2Rol4eOmV8LhqOw1NJg+frx+qMLtLcPt+tF5qLUxGa60BrIoWef4O7RcY3wIVE0CkDM4AAAa7SURBVBgP7Fxin7cR9U6HXwLzqF2SnW84WpPrD2jJm/ii1L1Qy2m4pton1LZi35lEc1pupW21vJXQcJhi81PNzKx25gEPBNeHE33vNpN41d9ylqzLmnuIvkeP6uS+FkHVZvuiaT8HBPtuBe4ItjmV8keUxZe8adTpOo8QVYw+lKjXs1L/R/SZ+z6q+TEsuO3hvXXWjAkqwCXAecH1pVBCNxUN4xyPkpvraFthrZH8iWg46uZoWPPo2KUeB/I70IHhCnSwHBP8DBeZ/hAlr7V0BUqkQEnqPWiuxxiU6H2BWr0OoLw1ZicDfw+uh0utPEr1liwqxwDUA/0Uiv9dVLVvOuo17o2KUPyYjpdk74h/EyXDy6Bk+BP0//M+GsbdSvMtn2Rm1ijOI+oJu5po1E++HnR8jckseJmol3gkpUcYZc07qKARaMrZz4ts2wLsQPLIpFbUEJEDDqbtCKqfofPbbmgaUDkJ5zux6/uVsX0WTUavC2iY+/Ukd9AsR+lRX/OJhvHuhKolg8617iz4CKuZZk1Qc8BJqMfs+eB2L/QBXgYdrKeg5USeSSnGzpiL/nkupL7JU9wYNKzoLfSlsQJ6jXOo53Rz6jMc4jR0UH8meO4+QSzLEh2o3kDDvcvpCc1vJatnq9mHaE3XsLx8H5R4Dw+u51BjxAiiRLqWzka9tuFnbAn0/zMHffaORF+KZmZWfy8TJZ5LoqXQLkVz6DZEy5SdgpKRU9MIsJO+IlrnfDVU0+J8dH53Eo0xzeRw1LALmo70GGpg3hRNodkTVeQdjZaL2bjAPg4hqo1xKRrBFDcNJZnzUPGkv1B62O6zqCEfNKf1MfRZGhm7LFT4oZlyKvCf4Pre6HzveDTkd2O0bEwrauzfsNAO8oTDfHuh0ZegkQrF5gVbDTTquPNyPRRclkBz9xZDJ9cfoEWRk0qHTyNaT7WYXwaXJCcEl2Lmlflc+WbE9r8IbYeD1qtX6xVgLVQwaSXUo/oa0UGvlJ6lNylLuCTLYsB6wc/5qEf3dTqWxN9KVCm33j5Dw1RAieBwVA25J2opfIW2hTGSlDNX54rgUsq1aIj0xqgFcjpq9Jkc3L9uwuPMzKz2zkJzNc9Gwz+PDC75arXkW639ClgHJdvDaVtL4n2iHrSs+hwlo3ehBGmb4JLky7zb66GpU6D6IydS2LMowTwLTW36LcXPT+ehBOxudJ5RKK77iYbQZtXXaJrbX9Hw5lVQwl/IzITfx72MGnRWi/3Ow3tT0OwJauhTNFa9Wc1I8blzqNX2pRRjCH1OtHZoo5tAdibkz0NDyp8utaGZmdXdhWjazRHoJH1l1HA9A41yuo/kRO7d2H0fF3mO29CUqbEJ9/8VNQ6/V2QfY2LP9WGR7eJmAjsC+6CRY0sRVautVaFAaBvr+CLb3Y0aj4u9duNRI+8+aN32TdBr1RON5nsbTaO5F9XTiNsONRIDXETxqT3noPd9MCocuRg6L0ryJOpc2ANYP9g+nheUk9B1xkSi1/jdTuxnChpJtzNKujdDHVO9gud4CSWZ5Q7TPR297qB5vg8W2dZqpGXUqFG5/91oaRk+cuTIYgcXa0x7Uln58a9o+4+5BJqHCJr7clIn42oGK1F5db5XUQuwmZmZmVmX1Nraumoul/tfQ0VX6UHt6m5CQ386aiyNW0iqXnagvKGyhRyNE1QzMzMzs/9xgto1HEll73X+XAhr7wlUwKASjVigy8zMLIvWpfJiUA+iKrCW7FQqrztxOKoLYlYWJ6hdw7VpB9DE3gouZmZmlp4l0TzPStRyPmuz2BzNB65EqYKhZm04QbWO+JTKKg6bmZmZ1dLD+ByllnZKOwDrOpp1HVQzMzMzMzNrME5QzczMzMzMLBOcoJqZmZmZmVkmOEE1MzMzMzOzTHCCamZmZmZmZpngBNXMzMzMzMwywQmqmZmZmZmZZYITVDMzMzMzM8sEJ6hmZmZmZmaWCU5QzczMzMzMLBOcoJqZmZmZmVkmOEE1MzMzMzOzTHCCamZmZmZmZpngBNXMzMzMzMwywQmqmZmZmZmZZYITVDMzMzMzM8sEJ6hmZmZmZmaWCU5QzczMzMzMLBOcoJqZmZmZmVkmOEE1MzMzMzOzTHCCamZmZmZmZpngBNXMzMzMzMwywQmqmZmZmZmZZYITVDMzMzMzM8sEJ6hmZmZmZmaWCU5QzczMzMzMLBOcoJqZmZmZmVkm9IjfyOVyw1pbW9OKxczMzMzMzLqQXC43LH67R979D+dyufpFY2ZmZmZmZhbwEF8zMzMzMzPLBCeoZmZmZmZmlgn/D6gqvObd0+nsAAAAAElFTkSuQmCC\" align=\"left\" width=\"450\"/>\n",
|
|
"</div>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "034fa536",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Implementation"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "a98e7ef1",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Disclaimer\n",
|
|
"\n",
|
|
"The most natural way of implementing a distributed Jacobi method is to use a library that provides distributed arrays:\n",
|
|
"\n",
|
|
"- [DistributedArrays.jl](https://github.com/JuliaParallel/DistributedArrays.jl)\n",
|
|
"- [PartitionedArrays.jl](https://github.com/fverdugo/PartitionedArrays.jl)\n",
|
|
"\n",
|
|
"We will use low-level Julia functions as an academic exercise.\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "5a2437ae",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Adding some procs"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "d95ff334",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"using Distributed"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "2d64e580",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"addprocs(3)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "9cd52702",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Helper functions"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "4aad98a4",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"@everywhere function initialize_vectors(n)\n",
|
|
" @assert mod(n,nworkers()) == 0\n",
|
|
" local_n = div(n,nworkers())\n",
|
|
" u = zeros(local_n+2)\n",
|
|
" u_new = zeros(local_n+2)\n",
|
|
" u[1] = -1.0\n",
|
|
" u[end] = 1.0\n",
|
|
" u,u_new\n",
|
|
"end"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "3fceebbd",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"@everywhere function compute_error(u,n)\n",
|
|
" local_n = length(u)-2\n",
|
|
" u_exact = copy(u)\n",
|
|
" p = myid() - 1\n",
|
|
" for local_i in 0:(local_n+1)\n",
|
|
" global_i = local_i + (p-1)*local_n + 1\n",
|
|
" Δ = 1/(n+1)\n",
|
|
" u_exact[local_i+1] = 2*(Δ*global_i-Δ)-1\n",
|
|
" end\n",
|
|
" maximum(abs.(u[2:end-1].-u_exact[2:end-1]))\n",
|
|
"end"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "fd06d27f",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Distributed Jacobi"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "56d3bd49",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"function jacobi_dist(n,nsteps)\n",
|
|
" nw = nworkers()\n",
|
|
" ftrs_prev_snd = Vector{Future}(undef,nw)\n",
|
|
" ftrs_next_snd = Vector{Future}(undef,nw)\n",
|
|
" fun = ()->Channel{Float64}(1)\n",
|
|
" for w in workers()\n",
|
|
" p = w-1\n",
|
|
" ftrs_prev_snd[p] = @spawnat w RemoteChannel(fun,myid())\n",
|
|
" ftrs_next_snd[p] = @spawnat w RemoteChannel(fun,myid())\n",
|
|
" end\n",
|
|
" ftrs = Vector{Future}(undef,nw)\n",
|
|
" @sync for w in workers()\n",
|
|
" ftrs[w-1] = @spawnat w jacobi_worker(\n",
|
|
" n,nsteps,ftrs_prev_snd,ftrs_next_snd)\n",
|
|
" end\n",
|
|
" reduce(max,fetch.(ftrs))\n",
|
|
"end\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "ab2c25f3",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Exercise: complete the cell below"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "739ccfa5",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"@everywhere function jacobi_worker(\n",
|
|
" n,nsteps,ftrs_prev_snd,ftrs_next_snd)\n",
|
|
" u, u_new = initialize_vectors(n)\n",
|
|
" w = myid(); p = w-1\n",
|
|
" # TODO: Setup channels\n",
|
|
" #chn_prev_snd\n",
|
|
" #chn_prev_rcv\n",
|
|
" #chn_next_snd\n",
|
|
" #chn_next_rcv\n",
|
|
" for step in 1:nsteps \n",
|
|
" # TODO: Communicate\n",
|
|
" # Local computations\n",
|
|
" for i in 2:(length(u)-1)\n",
|
|
" u_new[i] = 0.5*(u[i-1]+u[i+1])\n",
|
|
" end\n",
|
|
" u[2:end-1] = u_new[2:end-1]\n",
|
|
" end\n",
|
|
" @show u\n",
|
|
" err = compute_error(u,n)\n",
|
|
"end"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "edbb2318",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Test-driven development"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "b2301383",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"err = jacobi_dist(6,1000)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "63ec8554",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Remember: remote channels"
|
|
]
|
|
},
|
|
{
|
|
"attachments": {},
|
|
"cell_type": "markdown",
|
|
"id": "d4f59c15",
|
|
"metadata": {},
|
|
"source": [
|
|
" <div>\n",
|
|
"<img src=\"data:image/png;base64,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\" align=\"left\" width=\"450\"/>\n",
|
|
"</div>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "b2d8bdbc",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Possible enhancements"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "0af07603",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Is it possible to overlap computation and communication?"
|
|
]
|
|
},
|
|
{
|
|
"attachments": {},
|
|
"cell_type": "markdown",
|
|
"id": "d401c647",
|
|
"metadata": {},
|
|
"source": [
|
|
"\n",
|
|
"<div>\n",
|
|
"<img src=\"data:image/png;base64,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\" align=\"left\" width=\"450\"/>\n",
|
|
"</div>\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "80e67eb9",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 2nd exercise:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "f9aaa50c",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"@everywhere function jacobi_worker(\n",
|
|
" n,nsteps,ftrs_prev_snd,ftrs_next_snd)\n",
|
|
" u, u_new = initialize_vectors(n)\n",
|
|
" p = myid()-1\n",
|
|
" chn_prev_snd = fetch(ftrs_prev_snd[p])\n",
|
|
" chn_next_snd = fetch(ftrs_next_snd[p])\n",
|
|
" if myid()!=2\n",
|
|
" chn_prev_rcv = fetch(ftrs_next_snd[p-1])\n",
|
|
" end\n",
|
|
" if myid() != nprocs()\n",
|
|
" chn_next_rcv = fetch(ftrs_prev_snd[p+1])\n",
|
|
" end\n",
|
|
" for step in 1:nsteps\n",
|
|
" # TODO overlap communication and computation\n",
|
|
" if myid() != 2\n",
|
|
" put!(chn_prev_snd,u[2])\n",
|
|
" u[1] = take!(chn_prev_rcv)\n",
|
|
" end\n",
|
|
" if myid() != nprocs()\n",
|
|
" put!(chn_next_snd,u[end-1])\n",
|
|
" u[end] = take!(chn_next_rcv)\n",
|
|
" end\n",
|
|
" for i in 2:(length(u)-1)\n",
|
|
" u_new[i] = 0.5*(u[i-1]+u[i+1])\n",
|
|
" end\n",
|
|
" u[2:end-1] = u_new[2:end-1]\n",
|
|
" end\n",
|
|
" @show u\n",
|
|
" err = compute_error(u,n)\n",
|
|
"end"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "d9f12348",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Solution of the exercises"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "d7d067f8",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 1st exercise"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "0e2514b0",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"@everywhere function jacobi_worker(\n",
|
|
" n,nsteps,ftrs_prev_snd,ftrs_next_snd)\n",
|
|
" u, u_new = initialize_vectors(n)\n",
|
|
" p = myid()-1\n",
|
|
" chn_prev_snd = fetch(ftrs_prev_snd[p])\n",
|
|
" chn_next_snd = fetch(ftrs_next_snd[p])\n",
|
|
" if myid()!=2\n",
|
|
" chn_prev_rcv = fetch(ftrs_next_snd[p-1])\n",
|
|
" end\n",
|
|
" if myid() != nprocs()\n",
|
|
" chn_next_rcv = fetch(ftrs_prev_snd[p+1])\n",
|
|
" end\n",
|
|
" for step in 1:nsteps \n",
|
|
" if myid() != 2\n",
|
|
" put!(chn_prev_snd,u[2])\n",
|
|
" u[1] = take!(chn_prev_rcv)\n",
|
|
" end\n",
|
|
" if myid() != nprocs()\n",
|
|
" put!(chn_next_snd,u[end-1])\n",
|
|
" u[end] = take!(chn_next_rcv)\n",
|
|
" end\n",
|
|
" # Local computations\n",
|
|
" for i in 2:(length(u)-1)\n",
|
|
" u_new[i] = 0.5*(u[i-1]+u[i+1])\n",
|
|
" end\n",
|
|
" u[2:end-1] = u_new[2:end-1]\n",
|
|
" end\n",
|
|
" @show u\n",
|
|
" err = compute_error(u,n)\n",
|
|
"end"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "157e705d",
|
|
"metadata": {},
|
|
"source": [
|
|
"### 2nd exercise"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "b6f5a89f",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"@everywhere function jacobi_worker(\n",
|
|
" n,nsteps,ftrs_prev_snd,ftrs_next_snd)\n",
|
|
" u, u_new = initialize_vectors(n)\n",
|
|
" p = myid()-1\n",
|
|
" chn_prev_snd = fetch(ftrs_prev_snd[p])\n",
|
|
" chn_next_snd = fetch(ftrs_next_snd[p])\n",
|
|
" if myid()!=2\n",
|
|
" chn_prev_rcv = fetch(ftrs_next_snd[p-1])\n",
|
|
" end\n",
|
|
" if myid() != nprocs()\n",
|
|
" chn_next_rcv = fetch(ftrs_prev_snd[p+1])\n",
|
|
" end\n",
|
|
" for step in 1:nsteps \n",
|
|
" if myid() != 2\n",
|
|
" put!(chn_prev_snd,u[2])\n",
|
|
" t1 = @async u[1] = take!(chn_prev_rcv)\n",
|
|
" end\n",
|
|
" if myid() != nprocs()\n",
|
|
" put!(chn_next_snd,u[end-1])\n",
|
|
" t2 = @async u[end] = take!(chn_next_rcv)\n",
|
|
" end\n",
|
|
" # Local computations (interior)\n",
|
|
" for i in 3:(length(u)-2)\n",
|
|
" u_new[i] = 0.5*(u[i-1]+u[i+1])\n",
|
|
" end\n",
|
|
" # Wait for ghost values\n",
|
|
" if myid() != 2\n",
|
|
" wait(t1)\n",
|
|
" end\n",
|
|
" if myid() != nprocs()\n",
|
|
" wait(t2)\n",
|
|
" end\n",
|
|
" # Update near boundary values\n",
|
|
" for i in [2,length(u)-1]\n",
|
|
" u_new[i] = 0.5*(u[i-1]+u[i+1])\n",
|
|
" end\n",
|
|
" u[2:end-1] = u_new[2:end-1]\n",
|
|
" end\n",
|
|
" @show u\n",
|
|
" err = compute_error(u,n)\n",
|
|
"end"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Julia 1.9.0",
|
|
"language": "julia",
|
|
"name": "julia-1.9"
|
|
},
|
|
"language_info": {
|
|
"file_extension": ".jl",
|
|
"mimetype": "application/julia",
|
|
"name": "julia",
|
|
"version": "1.9.0"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|