Task 4 – Presentation slides and documentations In this task, you are required to prepare presentation slides (or documentation) to report and present your answers and results from previous Tasks. You will have 7 minutes to present your slides and 1 to 2 minutes for the Q&A session. Your presentation slides (or documentation) should have the following sections and content (at minimum): a) (Task 1) Serial code [Estimated Presentation Time: 1 min] The section introduces your approach to implementing the serial code to find prime numbers. b) (Task 2) POSIX Threads [Estimated Presentation Time: 3 min] The section introduces your approach to implementing the parallel version with POSIX Threads. You are required to discuss your parallel partitioning scheme (workload distribution) and produce graphs comparing your Task 2 implementation against Task 1. You are required to produce the following graphs: 1) Comparing the run time of serial code vs parallel code (POSIX Threads) with increasing size of n. 2) Showcasing the speedup of the parallel code (POSIX Threads) with increasing size of n. 4 You are also required to produce the following graphs: 3) Comparing the run time of serial code vs parallel code (POSIX Threads) with an increasing number of threads. 4) Showcasing the speedup of the parallel code (POSIX Threads) with an increasing number of threads. c) (Task 3) Open MP [ETA: 2 min] The section introduces your approach to implementing the parallel version with OpenMP. You are required to discuss your parallel partitioning scheme (workload distribution) and produce graphs comparing your Task 3 implementation against Task 1 and Task 2. You are required to produce the following graphs: 5) Comparing the run time of serial code vs parallel code (OpenMP) with increasing size of n. 6) Showcasing the speedup of the parallel code (OpenMP) with increasing size of n. You are also required to produce the following graphs: 7) Comparing the run time of parallel code (POSIX Thread) vs parallel code (OpenMP) with increasing size of n. 8) Comparing the run time of parallel code (POSIX Thread) vs parallel code (OpenMP) with an increasing number of threads. d) Conclusion and Recommendations [ETA: 1 min] The section concludes the presentation and discusses major issues, limitations, and future work. Note: To obtain statistically convincing evidence, you should test with at least 30 different numbers of n. You may also need to increase n further to obtain significant results (depending on your machine hardware). Note: Make sure you test the number of threads from 1 up to at least the number of cores available in your CPU. What would happen if you increase the number of threads more than the number of cores available in your machine? e) Q&A [ETA: 1 to 2 min] The section invites questions from the audience (TA/makers). The teaching team will ask questions related to your presentation and the submitted files
Task 4 – Presentation slides and documentations
In this task, you are required to prepare presentation slides (or documentation) to report and
present your answers and results from previous Tasks. You will have 7 minutes to present your
slides and 1 to 2 minutes for the Q&A session.
Your presentation slides (or documentation) should have the following sections and content (at
minimum):
a) (Task 1) Serial code [Estimated Presentation Time: 1 min]
The section introduces your approach to implementing the serial code to find prime numbers.
b) (Task 2) POSIX Threads [Estimated Presentation Time: 3 min]
The section introduces your approach to implementing the parallel version with POSIX
Threads. You are required to discuss your parallel partitioning scheme (workload distribution)
and produce graphs comparing your Task 2 implementation against Task 1.
You are required to produce the following graphs:
1) Comparing the run time of serial code vs parallel code (POSIX Threads) with increasing
size of n.
2) Showcasing the speedup of the parallel code (POSIX Threads) with increasing size of n.
4
You are also required to produce the following graphs:
3) Comparing the run time of serial code vs parallel code (POSIX Threads) with an
increasing number of threads.
4) Showcasing the speedup of the parallel code (POSIX Threads) with an increasing number
of threads.
c) (Task 3) Open MP [ETA: 2 min]
The section introduces your approach to implementing the parallel version with OpenMP. You
are required to discuss your parallel partitioning scheme (workload distribution) and produce
graphs comparing your Task 3 implementation against Task 1 and Task 2.
You are required to produce the following graphs:
5) Comparing the run time of serial code vs parallel code (OpenMP) with increasing size of n.
6) Showcasing the speedup of the parallel code (OpenMP) with increasing size of n.
You are also required to produce the following graphs:
7) Comparing the run time of parallel code (POSIX Thread) vs parallel code (OpenMP) with
increasing size of n.
8) Comparing the run time of parallel code (POSIX Thread) vs parallel code (OpenMP) with
an increasing number of threads.
d) Conclusion and Recommendations [ETA: 1 min]
The section concludes the presentation and discusses major issues, limitations, and future
work.
Note: To obtain statistically convincing evidence, you should test with at least 30 different
numbers of n. You may also need to increase n further to obtain significant results (depending
on your machine hardware).
Note: Make sure you test the number of threads from 1 up to at least the number of cores
available in your CPU. What would happen if you increase the number of threads more than
the number of cores available in your machine?
e) Q&A [ETA: 1 to 2 min]
The section invites questions from the audience (TA/makers). The teaching team will ask
questions related to your presentation and the submitted files
Created using ChatSlide
This presentation aims to evaluate a serial algorithm for finding prime numbers below a specified limit. It includes a 7-minute report followed by a 1-2 minute Q&A session, focusing on the correctness of the algorithm and its comparisons. Key tasks involve establishing a serial baseline by testing divisors up to the square root of n and managing output sizes. The presentation will showcase code snippets and explain the rationale behind using square root limits and monotonic candidate ranges...