$29
Problem Statement:
Use OpenMP application program interface to parallelize a Jacobi iteration. Compare your solution with serial version of the algorithm and show how your code scales with increasing number of threads. Additionally, compare the answer of the parallel code to that from the serial code and, if they differ, explain why that might legitimately be the case.
Details:
Jacobi method is an algorithm for determining the solutions of a diagonally dominant system of linear equations. Each diagonal element is solved for, and an approximate value is plugged in. The process is then iterated until it converges. This algorithm is a stripped-down version of the Jacobi transformation method of matrix diagonalization.
For example
Running Code:
• The whole package should compile and run as is.
What to turn in:
• A written report of the assignment in either plain text(Doc) or PDF format. This is your chance to explain your approach, your optimizations, any insights gained, problems
encountered, etc. Your report should include performance results for your solution, which includes running with different numbers of threads for the same problem size, as well as running with the same number of threads for different problem sizes (i.e., both strong and weak scaling)
• Your source code and instructions to build it along with instructions to run the program.
• Output of the file with timings of your testing. It should be consistent with your report.
Grading:
• Out of 100 possible points we split the points as follows: o Report: 40 points
◦ 10 points readability, use of English, organization
◦ 10 points for clarity of plots / figures
◦ 20 points for performance evaluation and analysis of results o Source code: 60 points
◦ 10 points for readability and cleanness of code
◦ 10 points for given instructions and in-code comments
◦ 30 points for correctness (if it is not even compiling you lose all points)
◦ 10 points for performance and possible optimizations you have done
Note: We encourage collaboration between you and your classmates. Discuss various approaches and techniques to better understand the questions. However, we do NOT allow copying solutions or code. This is considered as cheating and falls under IIT code of honor. Penalties will be enforced. Please make sure you write your own solutions. GOOD LUCK!