Description
In this Assignment, you will write parallel codes using mpi |
(100 marks) |
programming for solving Linear Systems. You can refer to Chapter |
|
12 of the book (Parallel Programming in C with MPI and OpenMP by |
|
Micheal J. quinn, 2003) for more details on the topic and algorithms. |
|
Language Constraint: C/C++ |
|
Include a bash script to run each of the code in your submission. |
|
Name them q1.sh, q2.sh |
|
Marks for each question are for code + explanation. |
|
Q 1) |
(40 marks) |
Implement a parallel program to solve a system of linear equations |
|
Ax = b using the Gaussian Elimination row-oriented algorithm |
|
followed by back substitution. Your program should input the system |
|
of equations from a file. The file contains a matrix of doubles, the first |
|
two elements of the file are two integers. The first has the value n, |
|
the second has the value n + 1. The remainder of the file contains |
|
n(n + 1) doubles, corresponding to the elements of A and b stored in |
|
this order: |
|
Q 2) |
(40 marks) |
Implement a parallel program to solve a system of linear equations |
|
Ax = b using the Conjugate Gradient Method. You can be assured |
|
that A is a symmetric, positive definite matrix. |
|
Your program should input the system of equations from a file. The |
|
file contains a matrix of doubles. The first two elements of the file are |
|
two integers. The first has the value n,the second has the value n +1. |
|
The remainder of the file contains n(n + 1) doubles, corresponding to |
|
the elements of A and b stored in this order |
Q 3) |
(20 marks) |
Prepare a Readme showing Comparison of the performance of these |
|
two algorithms and show the results. You have to generate input for |
|
performance comparison. (Take matrix A of considerable size, say |
|
1000X1000) |
|
Note: Strict actions would be taken against anyone found involved in any kind of plagiarism either from the internet or from other students.