diff --git a/docs/make.jl b/docs/make.jl index 5507dc4..9be755b 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -119,7 +119,7 @@ makedocs(; "Julia Basics" => "julia_basics.md", "Tasks and channels" => "julia_async.md", "Remote calls and remote channels" => "julia_distributed.md", - # "MPI" => "mpi_tutorial.md", + "MPI" => "mpi_tutorial.md", "Matrix Multiplication"=>"matrix_matrix.md", # "Jacobi" => "jacobi_method.md", # "ASP" => "asp.md", diff --git a/notebooks/figures/fig_mpi.svg b/notebooks/figures/fig_mpi.svg index b274f50..cc36d32 100644 --- a/notebooks/figures/fig_mpi.svg +++ b/notebooks/figures/fig_mpi.svg @@ -19,6 +19,51 @@ inkscape:export-ydpi="200"> + + + + + + + + + @@ -311,11 +356,12 @@ refY="0" orient="auto" inkscape:stockid="Arrow2Mend" - inkscape:isstock="true"> + inkscape:isstock="true" + inkscape:collect="always"> @@ -327,16 +373,16 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="0.9899495" - inkscape:cx="3591.8372" - inkscape:cy="1568.0458" + inkscape:zoom="1.4" + inkscape:cx="4981.0264" + inkscape:cy="680.67174" inkscape:document-units="mm" inkscape:current-layer="layer1" inkscape:document-rotation="0" showgrid="false" - inkscape:window-width="1856" - inkscape:window-height="1016" - inkscape:window-x="64" + inkscape:window-width="2496" + inkscape:window-height="1376" + inkscape:window-x="1984" inkscape:window-y="27" inkscape:window-maximized="1" fit-margin-top="0" @@ -1889,5 +1935,228 @@ style="fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.19798951;stroke-linejoin:round;stroke-opacity:1" d="m 975.70946,-223.09405 -1.84993,3.19013 -0.65743,-3.62865 c 0.64485,0.67413 1.65812,0.8481 2.50736,0.43852 z" /> + + + + + + + + + + + + + + + + + + + + + + rank 0 + rank 1 + + + + + + + + + + rank 2 + msg + + msg+=1 + msg+=1 + + + diff --git a/notebooks/mpi_tutorial.ipynb b/notebooks/mpi_tutorial.ipynb index d2fb6cf..c94c19a 100644 --- a/notebooks/mpi_tutorial.ipynb +++ b/notebooks/mpi_tutorial.ipynb @@ -43,9 +43,9 @@ "## What is MPI ?\n", "\n", "- MPI stands for the \"Message Passing Interface\"\n", - "- It is a standardized library specification for communication between parallel processes in distributed memory systems.\n", + "- It is a standardized library specification for communication between parallel processes in distributed-memory systems.\n", "- It is the gold-standard for distributed computing in HPC systems since the 90s\n", - "- It is huge: the MPI standard has above 1k pages (see https://www.mpi-forum.org/docs/mpi-4.0/mpi40-report.pdf)\n", + "- It is huge: the MPI standard has more than 1k pages (see https://www.mpi-forum.org/docs/mpi-4.0/mpi40-report.pdf)\n", "- There are several implementations of this standard (OpenMPI, MPICH, IntelMPI)\n", "- The interface is in C and FORTRAN (C++ was deprecated)\n", "- There are Julia bindings via the package MPI.jl https://github.com/JuliaParallel/MPI.jl" @@ -53,10 +53,12 @@ }, { "cell_type": "markdown", - "id": "133327e2", + "id": "82e6e98f", "metadata": {}, "source": [ - "### Hello-world example" + "### Installing MPI in Julia\n", + "\n", + "MPI can be installed as any other Julia package using the package manager." ] }, { @@ -69,6 +71,24 @@ "] add MPI" ] }, + { + "cell_type": "markdown", + "id": "abc6f017", + "metadata": {}, + "source": [ + "
\n", + "Note: The package you have installed it is the Julia interface to MPI, called MPI.jl. Note that it is not a MPI library by itself. It is just a thin wrapper between MPI and Julia. To use this interface, you need an actual MPI library installed in your system such as OpenMPI or MPICH. Julia downloads and installs a MPI library for you, but it is also possible to use a MPI library already available in your system. This is useful, e.g., when running on HPC clusters. See the documentation of MPI.jl for further details. See more information in https://github.com/JuliaParallel/MPI.jl\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "133327e2", + "metadata": {}, + "source": [ + "### Hello-world example" + ] + }, { "cell_type": "code", "execution_count": null, @@ -138,7 +158,7 @@ "source": [ "### Hello world\n", "\n", - "Julia code typically needs to be in a file to run in with MPI. Let's us write our hello world in a file:" + "Julia code typically needs to be in a file to run it in with MPI. Let's us write our hello world in a file:" ] }, { @@ -258,6 +278,16 @@ "end" ] }, + { + "cell_type": "markdown", + "id": "cb480322", + "metadata": {}, + "source": [ + "
\n", + "Note: Note that the rank ids start with 0.\n", + "
" + ] + }, { "cell_type": "markdown", "id": "6caa8d74", @@ -265,7 +295,7 @@ "source": [ "## MPI Communicators\n", "\n", - "In MPI, a **communicator** represents a group of processes that can communicate with each other. `MPI_COMM_WORLD` (`MPI.COMM_WORLD` from Julia) is a built-in communicator that represents all processes available in the MPI program. Custom communicators can also be created to group processes based on specific requirements or logical divisions. The **rank** of a processor is a unique identifier assigned to each process within a communicator. It allows processes to distinguish and address each other in communication operations.\n", + "In MPI, a **communicator** represents a group of processes that can communicate with each other. `MPI_COMM_WORLD` (`MPI.COMM_WORLD` from Julia) is a built-in communicator that represents all processes available in the MPI program. Custom communicators can also be created to group processes based on specific requirements or logical divisions. The **rank** of a processor is a unique (integer) identifier assigned to each process within a communicator. It allows processes to distinguish and address each other in communication operations.\n", "\n", "### Duplicating a communicator\n", "\n", @@ -296,7 +326,7 @@ "source": [ "### Scatter\n", "\n", - "TODO explain what this code does" + "The \"root\" rank contains a buffer (e.g., a vector) of values (one value for each rank in a communicator). Scatter sends one value to each rank (the root rank also receives a value). The root rank can be any process in a communicator." ] }, { @@ -345,7 +375,7 @@ "source": [ "### Gather\n", "\n", - "TODO explain what this code does" + "Each rank sends a message to the root rank (the root rank also sends a message to itself). The root rank receives all these values in a buffer (e.g. a vector)." ] }, { @@ -394,11 +424,14 @@ "\n", "MPI also provides point-to-point communication directives for arbitrary communication between processes. Point-to-point communications are two-sided: there is a sender and a receiver. Here, we will discuss these basic directives:\n", "\n", - "- `MPI.Isend`, and `MPI.Irecv!`\n", + "- `MPI.Isend`, and `MPI.Irecv!` (*non-blocking directives*)\n", + "- `MPI.Send`, and `MPI.Recv` (*blocking directives*)\n", "\n", - "which are *non-blocking directives*.\n", "\n", - "MPI also offers *blocking* directives with different blocking behaviors (communication modes). Blocking communication will be discussed later in the course.\n", + "Non-blocking directives return immediately and return an `MPI.Request` object. This request object can be queried with functions like `MPI.Wait`. It is mandatory to wait on the request object before reading the receive buffer, or before writing again on the send buffer.\n", + "\n", + "For blocking directives, it is save to read/write from/to the receive/send buffer once the function has returned. By default, blocking directives might wait (or might not wait) for a matching send/receive. \n", + "For fine control, MPI offers advanced *blocking* directives with different blocking behaviors (called communication modes, see section 3.9 of the MPI standard 4.0). Blocking communication will be discussed later in the course.\n", "\n" ] }, @@ -479,23 +512,110 @@ }, { "cell_type": "markdown", - "id": "5e8f6e6a", + "id": "9dc6c3fb", "metadata": {}, "source": [ - "# License\n", - "\n", - "TODO: replace link to website\n", - "\n", - "This notebook is part of the course [Programming Large Scale Parallel Systems](http://localhost:8000/) at Vrije Universiteit Amsterdam and may be used under a [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) license." + "### Example (with blocking directives)" ] }, { "cell_type": "code", "execution_count": null, - "id": "c9364808", + "id": "a046d7dd", "metadata": {}, "outputs": [], - "source": [] + "source": [ + "@everywhere workers() begin\n", + " comm = MPI.Comm_dup(MPI.COMM_WORLD)\n", + " rank = MPI.Comm_rank(comm)\n", + " nranks = MPI.Comm_size(comm)\n", + " snder = 0\n", + " rcver = nranks-1\n", + " buffer = Ref(0)\n", + " if rank == snder\n", + " msg = 10*(rank+2)\n", + " println(\"I am sending: $msg\")\n", + " buffer[] = msg\n", + " MPI.Send(buffer,comm;dest=rcver,tag=0)\n", + " MPI.Recv!(buffer,comm,source=rcver,tag=0)\n", + " msg = buffer[]\n", + " println(\"I have received: $msg\")\n", + " end\n", + " if rank == rcver\n", + " MPI.Recv!(buffer,comm,source=snder,tag=0)\n", + " msg = buffer[]\n", + " println(\"I have received: $msg\")\n", + " coef = (rank+2)\n", + " msg = msg*coef\n", + " println(\"I am sending: $msg\")\n", + " buffer[] = msg\n", + " MPI.Send(buffer,comm;dest=snder,tag=0)\n", + " end\n", + "end" + ] + }, + { + "cell_type": "markdown", + "id": "d9bdfa02", + "metadata": {}, + "source": [ + "
\n", + "Important: Blocking directives might look simpler to use, but they can lead to dead locks if the sends and receives are not issued in the right order. Non-blocking directives can also lead to dead locks, but when waiting for the request, not when calling the send/receive functions.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "d02f935d", + "metadata": {}, + "source": [ + "## Exercises" + ] + }, + { + "cell_type": "markdown", + "id": "a8e1c623", + "metadata": {}, + "source": [ + "### Exercise 1\n", + "\n", + "Implement this simple algorithm: Rank 0 generates a message (an integer). Rank 0 sends the message to rank 1. Rank 1 receives the message, increments the message by 1, and sends the result to rank 2. Rank 2 receives the message, increments the message by 1, and sends the result to rank 3. Etc. The last rank sends back the message to rank 0 closing the ring. See the next figure. Implement the communications using MPI.\n" + ] + }, + { + "attachments": { + "g5148.png": { + "image/png": "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NWbMGKtZs2auznfk603MTLSIiByT1PhdXFys+C0iklhXA4twGUNbtGhh/ehHP7JWr14dFrd79OgR9vyhQ4c2eM6GDRusiooK68QTT/QSt4PtGkXEpSbAvZgG667eaOeee671wgsvNHjDfve7342YTG/evNmaMmWK1b59ey9v5o2YAgciIuIsIfH77rvvjphMV1ZWKn6LiCROABgGbMBlTD3ttNOsKVOmWJWVlUfj9iOPPNJoMv38889bZ555ppe4vQ1TQC0/Jf8KIlnoZMxSlDpcvvEKCgqs+fPnW1VVVdYf//hHx2T6tddes7p06eLlzRxcytg8Fb+0iEgWiCt+/+lPf3JMphW/RUSSpiUmXu7HZYy98sorrVmzZllVVVXWG2+84ZhML1iwwOrdu7eXuB1cin5SKn5pkVxwEfAPXL4JmzZtan3ve9+zPvroI6tp06YNftauXTsrEAi4fTMfBv4EnJ6qX1REJMv4Fb/rgf9E8VtExKuOHCvuFfUrLy/Puu2226xly5aFrRg65ZRTrPz8fC+J9KvA+an6RUVyzSBgLS7fkG3atLE6derk5Q0c+vU+pv2LiIjEz3P89rgcUPFbRCSxegHLcBl7W7ZsaV188cWxxu2VwI0p+r1EclozzP6JXcT2Zo32VYnZ76dK7SIiiaX4LSKSWfIw9SZqSU7c3gE8hPl8EJEU6gA8j1nKl4g38z6gAjg+lb+EiEgOSkb8noDit4hIsrQBnsLsZ05E3K4Dfgt4amUrIol3LfAu8b2hZwFnp3rgIiI57jvAEhS/RUQyhac6GBG+1KJQJM0EgLuAzXh7My8FCn0Yr4iIGAFgBN7j98dATx/GKyIiMBBYhbe4vQYY4sdgRcSd44HHiF7Svxa4B+2rExFJF17i972o76iIiN+aAQ8AX9N43N6N2Rd9nD/DFBGvzgbeIPzNXA88jfrWiYikq7OIHL9/i+K3iEi6aQ+8iHMi/TJwmn9DE5F43AvUYIolrEFLAkVEMoXit4hIZrkZ2ICJ25uAYf4OR0RERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERPwS8HsAklTtgBNDvv8G2OrTWEREJP2cBeSFfF8D7PNnKCIikgTHAWfYHvsKsHwYi0hGmY55owS//uDvcGLWDrgCuAkYAFwKtPZ1RCIi2WEnDT8nbvB3OCIikmBX0TDOW5gEO1M0AS4GegO3AgOBbpibwb5r4vcARCI4GfghcBdwgcPPLeBjzA2DPwIHUjc0ERFJA82By4GrgS5AR9vP5wGTUj0oERGJS1OgB9Af6ANchon3TmqAhcA0YA6abZcEy9SZ6aGY5ej2u2iRvtYA1/kyUhGRzJYpM9N5wDXAv2Mumj4GDtL4Z8MLvoxURCS9ZMrM9NXAM8A23OcAoV/LMTdWRRImE5PpEqAe72+gA8CNPoxXRCSTZUoy3QnvnwtKpkVEMieZXk1sSXTo10Hg3lQOWsu8JZ3cAjxJeGG8NcBLwFrM3+xFwEjgtJDnHAfMALoCnyR9pCIiIiIikmwHgKXABszK1SaYbT3dMdtCQzUF/gNTSPPFFI5RslQmzUy3AbbTcLz1wFgaVpoNOg6YSvgdqWURni8iIuEyfWZ6P/Ae8Dtgr+1nmpkWEcnMmekdmOv8QiKPtSkwCthC+O+3Czg9yeOVHJBJyfQvCH8jPODiuN87HHdnksYoIpJtMimZPgh8BvwZsyWoBw2L0tj32SmZFhHJrGR6LfB/iVxwzMkZmFWs9t9xaqIHKLknU5Lp9sAeGo51Ee5mmE8A1tuOXQPkJ2OgIiJZJlOS6XzMLERjlEyLiITLlGR6ENHjfCSXAXU0/B1rSUE+oOWwkg6GAsfbHvsFZpl3NHuAKbbHzsX0nxMRkexwGHOhJCIi2WkWscf5FcB/2x5rD1wS14hcyJQCZE2Bb9seW4FZ8hXUCbgZuBY4B2gG/Auzl6qx5cLNjxxzDaaw1ZmY/bsA32D28X4CLADesZ3TrROAC0O+tzAb6UNdgEkqrz7yuwQw+wXWAW8A/8DsDUulAHAF4Tdd1mP+XRJlsO37TcA/PRz/PPBLGt5lG4LpOyciuaE9DfsM7wO+sD2nK2bm9TLgW5gYtwuz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" + } + }, + "cell_type": "markdown", + "id": "d474d781", + "metadata": {}, + "source": [ + "
\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "49adf214", + "metadata": {}, + "source": [ + "### Exercise 2\n", + "\n", + "Implement the same algorithm as in Exercise 1, but now without using MPI. Implement the communications using the native `Distributed` module provided by Julia. In this case, start using process 1 instead of rank 0." + ] + }, + { + "cell_type": "markdown", + "id": "5e8f6e6a", + "metadata": {}, + "source": [ + "# License\n", + "\n", + "This notebook is part of the course [Programming Large Scale Parallel Systems](https://www.francescverdugo.com/XM_40017) at Vrije Universiteit Amsterdam and may be used under a [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) license." + ] } ], "metadata": { diff --git a/notebooks/solutions.ipynb b/notebooks/solutions.ipynb index 0a79c0c..1ea20d6 100644 --- a/notebooks/solutions.ipynb +++ b/notebooks/solutions.ipynb @@ -291,6 +291,96 @@ "rmprocs(workers())" ] }, + { + "cell_type": "markdown", + "id": "508125f9", + "metadata": {}, + "source": [ + "### New ring example" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7af4cfd0", + "metadata": {}, + "outputs": [], + "source": [ + "@everywhere workers() begin\n", + " using MPI\n", + " MPI.Init()\n", + " comm = MPI.Comm_dup(MPI.COMM_WORLD)\n", + " rank = MPI.Comm_rank(comm)\n", + " nranks = MPI.Comm_size(comm)\n", + " buffer = Ref(0)\n", + " if rank == 0\n", + " msg = rand(1:10)\n", + " buffer[] = msg\n", + " println(\"msg = $(buffer[])\")\n", + " MPI.Send(buffer,comm;dest=rank+1,tag=0)\n", + " MPI.Recv!(buffer,comm;source=nranks-1,tag=0)\n", + " println(\"msg = $(buffer[])\")\n", + " else\n", + " dest = (rank != nranks-1) ? rank+1 : 0\n", + " MPI.Recv!(buffer,comm;source=rank-1,tag=0)\n", + " buffer[] += 1\n", + " println(\"msg = $(buffer[])\")\n", + " MPI.Send(buffer,comm;dest,tag=0)\n", + " end\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "30ece423", + "metadata": {}, + "outputs": [], + "source": [ + "ftrs = Vector{Future}(undef,nprocs())\n", + "for p in 1:nprocs()\n", + " ftrs[p] = @spawnat p RemoteChannel(()->Channel{Int}(1))\n", + "end\n", + "for p in 1:nprocs()\n", + " @spawnat p begin \n", + " chnl_snd = fetch(ftrs[p])\n", + " source = (p != 1) ? p-1 : nprocs()\n", + " chnl_rcv = fetch(ftrs[source])\n", + " if p == 1\n", + " msg = rand(1:10)\n", + " @show msg\n", + " put!(chnl_snd,msg)\n", + " msg = take!(chnl_rcv)\n", + " @show msg\n", + " else\n", + " msg = take!(chnl_rcv)\n", + " msg += 1\n", + " @show msg\n", + " put!(chnl_snd,msg)\n", + " end\n", + " end\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "761ce452", + "metadata": {}, + "outputs": [], + "source": [ + "@everywhere function work(msg)\n", + " msg += 1\n", + " println(\"msg = $msg\")\n", + " if myid() == nprocs()\n", + " @spawnat 1 println(\"msg = $msg\")\n", + " else\n", + " next = myid() + 1\n", + " @spawnat next work(msg)\n", + " end\n", + "end" + ] + }, { "cell_type": "markdown", "id": "19641daf", @@ -733,7 +823,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Julia 1.9.1", + "display_name": "Julia 1.9.0", "language": "julia", "name": "julia-1.9" }, @@ -741,7 +831,7 @@ "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", - "version": "1.9.1" + "version": "1.9.0" } }, "nbformat": 4,