Merge branch 'main' of github.com:fverdugo/XM_40017 into francesc

This commit is contained in:
Francesc Verdugo 2023-10-16 13:50:31 +02:00
commit 59f36650e9
3 changed files with 3 additions and 3 deletions

View File

@ -638,7 +638,7 @@
"source": [
"### Latency hiding\n",
"\n",
"Can our implementation above be improved? Note that we only need communications to update the values at the boundary of the portion owned by each process. The other values (the one in green in the figure below) can be updated without communications. This provides the opportunity of overlapping the computation of the interior values (green cells in the figure) with the communication of the ghost values. This technique is called latency hiding, since we are hiding communication latency by overlapping it with communication that we need to do anyway.\n",
"Can our implementation above be improved? Note that we only need communications to update the values at the boundary of the portion owned by each process. The other values (the one in green in the figure below) can be updated without communications. This provides the opportunity of overlapping the computation of the interior values (green cells in the figure) with the communication of the ghost values. This technique is called latency hiding, since we are hiding communication latency by overlapping it with computation that we need to do anyway.\n",
"\n",
"The modification of the implementation above to include latency hiding is leaved as an exercise (see below).\n"
]

View File

@ -712,7 +712,7 @@
" iw += 1\n",
" w = workers()[iw]\n",
" ftr = @spawnat w begin\n",
" Ci = fill(z,l)\n",
" Ci = fill(z,n)\n",
" for j in 1:n\n",
" for k in 1:l\n",
" @inbounds Ci[j] += Ai[k]*B[k,j]\n",

View File

@ -629,7 +629,7 @@
"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!` (*non-blocking directives*)\n",
"- `MPI.Send`, and `MPI.Recv` (*blocking directives*)\n",
"- `MPI.Send`, and `MPI.Recv!` (*blocking directives*)\n",
"\n",
"\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",