diff --git a/notebooks/figures/fig_jacobi.svg b/notebooks/figures/fig_jacobi.svg index c6f5f31..56a338f 100644 --- a/notebooks/figures/fig_jacobi.svg +++ b/notebooks/figures/fig_jacobi.svg @@ -20,6 +20,21 @@ inkscape:export-ydpi="200"> + + + + + + Data used + id="flowPara23855-8">Data used + + + + + + + + + + + + + + + + + + + + + + + + + u + u_new + + CPU 2 local + remote + + remote + + + diff --git a/notebooks/jacobi_method.ipynb b/notebooks/jacobi_method.ipynb index 2ea4792..25417d5 100644 --- a/notebooks/jacobi_method.ipynb +++ b/notebooks/jacobi_method.ipynb @@ -35,7 +35,7 @@ }, { "cell_type": "markdown", - "id": "4b9d1d46", + "id": "48fd29d9", "metadata": {}, "source": [ "
\n", @@ -319,7 +319,7 @@ } }, "cell_type": "markdown", - "id": "6dfedc09", + "id": "8e156e29", "metadata": {}, "source": [ "
\n", @@ -329,7 +329,7 @@ }, { "cell_type": "markdown", - "id": "cc412ea0", + "id": "513f1f7e", "metadata": {}, "source": [ "### Efficiency\n", @@ -495,7 +495,9 @@ "id": "f6ea16f5", "metadata": {}, "source": [ - "### 1D block partition\n" + "### 1D block partition\n", + "\n", + "The following figure shows the portion of vector `u_new` is updated at each iteration by a particular process (CPU 3) left picture, and which entries of `u` are needed to update this data, right picture. We use analogous figures for the other partitions below.\n" ] }, { @@ -609,7 +611,7 @@ }, { "cell_type": "markdown", - "id": "6838b947", + "id": "f6b54b7b", "metadata": {}, "source": [ "## Implementation\n", @@ -983,26 +985,6 @@ "end" ] }, - { - "cell_type": "markdown", - "id": "ebb650d0", - "metadata": {}, - "source": [ - "### Exercise 2\n", - "\n", - "Compute the complexity of the communication and computation of the three data partition strategies (1d block partition, 2d block partition, and 2d cyclic partition) when computing a single iteration of the Jacobi method in 2D. Assume that the grid is of size $N \\times N$ and the number of processes $P$ is a perfect square number, i.e. $\\sqrt{P}$ is an integer. Hint: For the complexity analysis, you can ignore the effect of the boundary conditions.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7b3d7cb3", - "metadata": {}, - "outputs": [], - "source": [ - "# TODO" - ] - }, { "cell_type": "markdown", "id": "6d3430ad",