Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Gaussian elimination with partial pivoting is a technique used to solve a system of linear equations. It adds multiples of each row to later rows
Gaussian elimination with partial pivoting is a technique used to solve a system of linear equations. It adds multiples of each row to later rows to transform the matrix into triangular matrices and Partial pivoting technique is applied to make the algorithm stable; that is in each elimination iteration, rows are swapped so that the leading element is the largest in the leading column to prevent division by zero. A serial pseudocode is given below. In distributed memory machines data need to be partitioned and distributed to processes. In this assignment you need to use Column block cyclic partitioning for data distribution. In your implementation: Processes are organized as a one dimensional, or D array; Column block cyclic partitioning must be adopted for the data distribution; You need to write two MPI programs: one without loop unrolling, and the other with loop unrolling added to improve the performance: In the program without loop unrolling the block size in column block cyclic partitioning must be a variable to handle different block sizes asked by the user. Then your program needs to ask for matrix size and block size as two user defined input parameters; In the program with loop unrolling, the block size in column block cyclic partitioning is fixed and set to and the loop unrolling factor is set to to simplify the implementation. Then your program needs to ask for matrix size as one userdefined input parameter. You must submit both programs! They will be marked separately. You must use derived datatypes for process communication for the purposes of efficiency and readability; Your main programs must conduct a selfcheck for correctness; ie compare the results of a basic Gaussian elimination with partial pivoting as done in geppc and your parallel computing procedure with the same input data set.
Gaussian elimination with partial pivoting is a technique used to solve a system of linear
equations. It adds multiples of each row to later rows to transform the matrix into triangular
matrices and Partial pivoting technique is applied to make the algorithm stable; that is in
each elimination iteration, rows are swapped so that the leading element is the largest in
the leading column to prevent division by zero. A serial pseudocode is given below.
In distributed memory machines data need to be partitioned and distributed to processes. In this
assignment you need to use Column block cyclic partitioning for data distribution.
In your implementation:
Processes are organized as a one dimensional, or D array;
Column block cyclic partitioning must be adopted for the data distribution;
You need to write two MPI programs: one without loop unrolling, and the other
with loop unrolling added to improve the performance:
In the program without loop unrolling the block size in column block cyclic
partitioning must be a variable to handle different block sizes asked by the user.
Then your program needs to ask for matrix size and block size as two user
defined input parameters;
In the program with loop unrolling, the block size in column block cyclic
partitioning is fixed and set to and the loop unrolling factor is set to to
simplify the implementation. Then your program needs to ask for matrix size
as one userdefined input parameter.
You must submit both programs! They will be marked separately.
You must use derived datatypes for process communication for the purposes of
efficiency and readability;
Your main programs must conduct a selfcheck for correctness; ie compare the
results of a basic Gaussian elimination with partial pivoting as done in geppc and
your parallel computing procedure with the same input data set.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started