Final Project Submission
- Due Jun 7, 2021 by 11:59pm
- Points 7
- Submitting a file upload
- File Types pdf
- Available May 4, 2021 at 12am - Jun 11, 2021 at 11:59pm
A description of the project and the different tasks to complete are available at Project Background - Heat Equation Solver & Idle Period Propagation.
The completion of the project assignment consists of:
- Submission of the code and documentation on Github, following the list in the grading criteria below. Upload the codes and documentation by June 7th.
- Submission of the slide presentation (maximum 20 slides including the additional slides) in pdf format. The slide presentation must include the link to the code developed. Upload the slides by June 7th.
- 20 Minute Presentation (15 minutes for presentation and 5 minutes for questions) on Tuesday, June 8 (presentations tentatively scheduled for 1:00 PM). The presentation must cover all aspects of the tasks.
Grading Criteria
The completion of the project will result in a +1 grade. For instance, if you completed all the bonus exercises and the final project requirement, you will obtain an A as a final score.
The submission of the final project presentation is not compulsory and meant to increase your final grade. In order to pass the course, make sure that you submitted all three assignments and have passed them, you presented at one workshop and you attended three workshops. Your final grade will be determined by the number of bonus exercises you passed and if you passed the final project presentation. For instance, if you passed all the assignments without completing the bonus exercise and final project, your grade will be E. If you completed all the bonus exercises and not completing the final project, your grade will be B. If you are not submitting the final project presentation, please upload a pdf file stating the final grade you expect to receive.
To pass the project assignment, your code and presentation must include all these elements:
- Prepare all the source code in C/C++, or Fortran, or Python for the parallel heat equation solver.
- Test your implementation with at least two test cases.
- Provide scaling results of your parallel heat equation solver.
- Develop a monitoring system to monitor idle period propagation across MPI ranks.
- Visualize idle period propagation across MPI ranks.
- A Git repository containing all the code for the above. At the root level of the repository, include a
README.md
file that outlines:
- How to build your code?
- How to run the tests?
- How does your monitoring system work?
Q&A
Q: What if I still do not pass the assignment after resubmission?
A: If you did not pass an assignment (not receiving full scores of an assignment), please resubmit the assignment and present it at the last lab sessions (Fri 20 May, Mon 24 May). You can queue up to present the work (from previous assignments) even without a booking and we will try to accommodate as much as possible. After the last lab sessions, we can no longer guarantee more lab sessions available until the next course offering in one year.
Q: What is the complementary work for late assignment submissions?
A: We will assign you extra assignments according to Lecture: Overview of the Course and Logistics through Canvas if you submitted the (mandatory parts of) assignment late. They need to be submitted by Tuesday, June 8 (which is the last day of the exam period). The details will be in the Canvas assignment.
Q: How do I obtain extra points?
A: If you didn't complete the bonus exercises and you would like to increase your final grade (+1 for each bonus exercise), we allow you to submit the bonus exercises of Assignment I, II, and III by Tuesday, June 8.
Q: Do I need to present the bonus if it was not presented before?
A: If you submit it by the deadline (Monday, June 8) and have not presented the bonus part before, it will be graded without presentation. However, as there is no presentation, we cannot give feedback and can only grade judging by the material you submitted so please make sure the report and code are of high quality.
Q: What if I need help?
A: You can write in Discussion: Final Project for questions related to the project.
Q: What to include in the presentation?
A: As stated in the description and grading criteria, the presentation must cover all aspects of the tasks. However, you are allowed to put more weight into the interesting parts, e.g. benchmark and profiling results, visualizations, etc.
Q: Where is the presentation?
A: Refer to the calendar entry "Final Project Presentation", or the link from the Canvas module.
Rubric
Criteria | Ratings | Pts |
---|---|---|
Source code
Prepare all the source code in C/C++, or Fortran, or Python for the parallel heat equation solver.
threshold:
pts
|
pts
--
|
|
Test cases
Test your implementation with at least two test cases.
threshold:
pts
|
pts
--
|
|
Strong scaling results and visualization
Provide scaling results of your parallel heat equation solver.
threshold:
pts
|
pts
--
|
|
Idle period monitoring
Develop a monitoring system to monitor idle period propagation across MPI ranks.
threshold:
pts
|
pts
--
|
|
Visualizations
Visualize idle period propagation across MPI ranks.
threshold:
pts
|
pts
--
|
|
Code submission and documentations
A Git repository containing all the code for the above. At the root level of the repository, include the items required in the specification.
threshold:
pts
|
pts
--
|
|
Presentation
Presentation slides uploaded, attended and presented at the final project presentation session.
threshold:
pts
|
pts
--
|