Minor changes

This commit is contained in:
Gelieza K committed 2024-01-12 11:41:40 +01:00
1 parent 9b8dcf4331
commit 7b4621e166
4 files changed
+59 -4339

No files matched your search

+14 -39
View File
@@ -422,7 +422,7 @@
},
{
"cell_type": "code",
"execution_count": 1,
"execution_count": null,
"id": "a66cbf9a",
"metadata": {},
"outputs": [],
@@ -433,24 +433,10 @@
},
{
"cell_type": "code",
"execution_count": 2,
"execution_count": null,
"id": "e0d63c6b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"3-element Vector{Int64}:\n",
" 2\n",
" 3\n",
" 4"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"outputs": [],
"source": [
"if procs() == workers()\n",
" nw = 3\n",
@@ -469,7 +455,7 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": null,
"id": "d39c7bb2",
"metadata": {
"code_folding": []
@@ -530,7 +516,7 @@
},
{
"cell_type": "code",
"execution_count": 7,
"execution_count": null,
"id": "f1a8db8f",
"metadata": {},
"outputs": [],
@@ -560,23 +546,12 @@
},
{
"cell_type": "code",
"execution_count": 8,
"execution_count": null,
"id": "68851107",
"metadata": {
"code_folding": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" From worker 2:\t(rank, u) = (0, [-1.0, -0.75390625, -0.548828125, -0.3427734375, -0.224609375, -0.06640625])\n",
" From worker 3:\t(rank, u) = (1, [-0.1796875, -0.09765625, -0.0439453125, 0.0439453125, 0.09765625, 0.1796875])\n",
" From worker 4:\t(rank, u) = (2, [0.06640625, 0.224609375, 0.3427734375, 0.548828125, 0.75390625, 1.0])\n",
" From worker 2:\tresults ≈ jacobi(n, niters) = true\n"
]
}
],
"outputs": [],
"source": [
"@everywhere workers() begin\n",
" # Call jacobi in parallel\n",
@@ -797,7 +772,7 @@
},
{
"cell_type": "markdown",
"id": "267ecd2a",
"id": "f93e2024",
"metadata": {},
"source": [
"### Parallelization strategies\n",
@@ -808,21 +783,21 @@
"- 2D block partition (each worker handles a subset of consecutive rows and columns)\n",
"- 2D cyclic partition (each workers handles a subset of alternating rows ans columns)\n",
"\n",
"The three partition types are depicted in the following figure for 4 processes.\n"
"The three partition types are depicted in the following figure for 4 processes."
]
},
{
"attachments": {
"fig18.png": {
"image/png": "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 truncated
"fig-jacobi-partitions.png": {
"image/png": "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 truncated
}
},
"cell_type": "markdown",
"id": "e52959a5",
"id": "267ecd2a",
"metadata": {},
"source": [
"<div>\n",
"<img src=\"attachment:fig18.png\" align=\"left\" width=\"450\"/>\n",
"<img src=\"attachment:fig-jacobi-partitions.png\" align=\"left\" width=\"450\"/>\n",
"</div>"
]
},
@@ -962,7 +937,7 @@
"\n",
"\n",
"- Both 1d and 2d block partitions are potentially scalable if $P<<N$\n",
"- The 2d block partition is with the lowest communication complexity\n",
"- The 2d block partition has the lowest communication complexity\n",
"- The 1d block partition requires to send less messages (It can be useful if the fixed cost of sending a message is high)\n",
"- The best strategy for a given problem size will thus depend on the machine, but the 2d block partition is the one used in practice since it has the lowest communication complexity.\n",
"- Cyclic partitions are impractical for this application (but they are useful in others) \n",
+2 -2
View File
@@ -1330,7 +1330,7 @@
],
"metadata": {
"kernelspec": {
"display_name": "Julia 1.9.0",
"display_name": "Julia 1.9.1",
"language": "julia",
"name": "julia-1.9"
},
@@ -1338,7 +1338,7 @@
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.9.0"
"version": "1.9.1"
}
},
"nbformat": 4,
+2 -2
View File
@@ -219,10 +219,10 @@
"metadata": {},
"source": [
"<div class=\"alert alert-block alert-info\">\n",
"<b>Note:</b> The matrix-matrix multiplication naively implemented with 3 nested loops as above is known to be very inefficient (memory bound). Libraries such as BLAS provide much more efficient implementations, which are the ones used in practice (e.g., by the `*` operator in Julia). We consider, our hand-written implementation as a simple way of expressing the algorithm we are interested in.\n",
"<b>Note:</b> The matrix-matrix multiplication naively implemented with 3 nested loops as above is known to be very inefficient (memory bound). Libraries such as BLAS provide much more efficient implementations, which are the ones used in practice (e.g., by the `*` operator in Julia). We consider our hand-written implementation as a simple way of expressing the algorithm we are interested in.\n",
"</div>\n",
"\n",
"Run the following cell to compare the performance of our hand-written function with respect to the built in function `mul!`\n"
"Run the following cell to compare the performance of our hand-written function with respect to the built in function `mul!`.\n"
]
},
{
+41 -4296
View File
File diff suppressed because it is too large. Load diff