You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As an experience programmer, but entirely new to the MPL/MPI systems and programming styles, a student should be provided with introductory information and helpful examples. Some of the key ideas are demonstrated in the MountainSolveMPI.hpp file; however, the call signatures demonstrated cannot be leveraged by the students and no direction is provided to help them figure it out.
Prior Research
Online searches for the documentation provide little or misleading help. The results are mostly for MPI resources, and the call signatures are different.
The overview provided in the MPI > Communication section is insufficient. It provides some working code, but gives no explanation as to what it does or why. This lack of explanation makes it very difficult for students to figure out how they can change the materials to work in a different context.
There is an additional section with a sample comm_world.send() function; however, translating it to sendrecv() is a non-trivial endeavor— even for an experience programmer. The compile errors thrown give no clues about what data types need to be provided, and online searches provide little help.
The MPI reading provides (most unhelpful) a link to the documentation for data layouts. This resources describes all the possible kinds of data layouts that could be sent over MPI, without ever showing how the resources can be used. In this case, it provides the depth of knowledge that students don't actually need and skips over the knowledge required to begin.
Expectations
I would expect either the reading or the project page to contain a working and documented example of the call signature that students will need to use on the project.
I would expect the course reading to self-contain all the basic principles and information necessary to complete the project.
I would expect the reading to link to useful resources can use to solve the problem at hand, or to satisfy a curious mind. Raw documentation fulfills neither of these purposes.
The text was updated successfully, but these errors were encountered:
The following drawing represents a visual organization of the data being transferred by the exchangeHalos() function. A clear visualization of the process with direct connections to the code would greatly help students understand what is going on under the hood.
We can add in the visualization (I can work on that. I have an idea for it already on the project page). I'm in agreement that we should add some more information, but I don't think that's it's impossible. I know of at least 2 students who have completed the assignment early. Reading the raw documentation (which we need to link to better, I found a better section) is an important skill that a grad student should have.
Here is another diagram laying out the assignments of the each row for the Tiny wave assuming 8 threads. This diagram shows the total rows needed by each process, including the halo rows.
Overview
As an experience programmer, but entirely new to the MPL/MPI systems and programming styles, a student should be provided with introductory information and helpful examples. Some of the key ideas are demonstrated in the MountainSolveMPI.hpp file; however, the call signatures demonstrated cannot be leveraged by the students and no direction is provided to help them figure it out.
Prior Research
Online searches for the documentation provide little or misleading help. The results are mostly for MPI resources, and the call signatures are different.
The overview provided in the MPI > Communication section is insufficient. It provides some working code, but gives no explanation as to what it does or why. This lack of explanation makes it very difficult for students to figure out how they can change the materials to work in a different context.
There is an additional section with a sample
comm_world.send()
function; however, translating it tosendrecv()
is a non-trivial endeavor— even for an experience programmer. The compile errors thrown give no clues about what data types need to be provided, and online searches provide little help.The MPI reading provides (most unhelpful) a link to the documentation for data layouts. This resources describes all the possible kinds of data layouts that could be sent over MPI, without ever showing how the resources can be used. In this case, it provides the depth of knowledge that students don't actually need and skips over the knowledge required to begin.
Expectations
I would expect either the reading or the project page to contain a working and documented example of the call signature that students will need to use on the project.
I would expect the course reading to self-contain all the basic principles and information necessary to complete the project.
I would expect the reading to link to useful resources can use to solve the problem at hand, or to satisfy a curious mind. Raw documentation fulfills neither of these purposes.
The text was updated successfully, but these errors were encountered: