Closed Edward-RSE closed 1 month ago
Before I do a more detailed review, following from https://github.com/Southampton-RSG-Training/dirac-intro-to-mpi/issues/8#issuecomment-1607508510 in the episode 1 review, I think there is potential we would consolidate episode 2 and 3 together if we did consolidate episode 1 and 3.
The entire section is in a callout box. I think the content either needs moving outside of the box, or the box moving into another section.
Let's also specifically mention that we will use OpenMPI for the lesson, as well as showing us load the module.
Should we also include an example of using mpiexec -n 4 echo "Hello world"
to illustrate what mpiexec
does?
I think the sentence "If mpiexec is not found, try mpirun instead. This is another common name for the command." is better placed inside the callout box titled "mpiexec vs mpirun". If you do put it into the callout box, then I'd rename the box to like "What if mpiexec
doesn't exist?" or something similar.
"Just running a program with mpiexec or mpirun starts several copies of it" I don't think "copies" is the right word to use, because copies implies they're identical. I would say something like "creates several instances of our application" instead and expand on how each process is programmed to do their own thing (to split the work up).
Following on from the last point, what do people think about also including a bit more detail about what what mpiexec
is doing under the hood, maybe in a callout box? E.g. it sets up communication between processes, decides where to put processes on the hardware, and handles spawning/killing/naming processes, etc..
There is also stuff we can borrow and add from our previous DiRAC material for the Slurm section: https://southampton-rsg-training.github.io/dirac-code-scaling/dirac-code-scaling-running-example-code-cluster
RE: pull request #21
I only one comment. I think it's worth saying that the prime problem is easy to split across ranks, because it's an example of an embarrassingly parallel problem (and maybe why it is EP?). And following that, mentioning that not every problem can be broken up like this with reference to, e.g., general problems vs EP problems (reference first episode) and other patterns (e.g. communication patterns episode).
What do you think?
I think the there is no need to include (int argc, *argv[])
command-line arguments in the hello_world.c
code.
The Output should be changed to
My rank number is 1 out of 4
My rank number is 2 out of 4
My rank number is 3 out of 4
My rank number is 0 out of 4
Also we need to give it in an Output
box not in a Code
.
typo: count-primes.sh → count_primes.sh
Completed.
This issue is to track comments and changes for this episode.