logo Hurry, Grab up to 30% discount on the entire course
Order Now logo

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Abhishek WadhwaEngineering
(5/5)

967 Answers

Hire Me
expert
Jovette BermanBusiness
(5/5)

988 Answers

Hire Me
expert
Caden ButlerEngineering
(5/5)

640 Answers

Hire Me
expert
Jesus DiazComputer science
(5/5)

506 Answers

Hire Me
C Programming

Multiplication of a matrix and its transpose consider matrix A of size N by M and its transpose AT of size M by N.

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

1. Multiplication of a matrix and its transpose: Consider matrix A of size N by M and its transpose AT of size M by N. Your task is to design and implement a parallel algorithm for multiplication of a matrix and its transpose, i.e., C = AAT, for distributed-memory multi-computers in which the processors are organized as a one-dimensional linear array.

 

In the parallel algorithm design you must consider efficiency issues, i.e., try to minimize computation and communication costs and balance the workloads among all processors. Since the resulting matrix C is symmetric, i.e., cij = cji, for example, in your algorithm only the elements in the upper (or lower) triangular of the matrix need to be calculated. (In other words you must not calculate both cij and cji as they are the same.)

 

In the implementation
a. You must use MPI non-blocking send/recv communication functions to overlap computation and communication.
b. You can assume N ≥ p for p being the number of processes organized as a one-dimensional linear array.
c. Your program must produce correct results for p being greater than or equal to one.
d. For simplicity you may restrict p to be either an odd, or even number to achieve the best possible load balancing.
e. Your program needs to ask for the matrix sizes N and M as user defined parameters, and must print out the results in the row-wise order as shown in an example below. 
c00 c01 c02 c03 c04
       c11 c12 c13 c14
             c22 c23 c24
                   c33 c34
                         c44

 

After the parallel computation, you main program must conduct a self-checking, i.e., first perform a sequential computation using the same data set and then compare the two results.

Related Questions

. The fundamental operations of create, read, update, and delete (CRUD) in either Python or Java

CS 340 Milestone One Guidelines and Rubric  Overview: For this assignment, you will implement the fundamental operations of create, read, update,

. Develop a program to emulate a purchase transaction at a retail store. This  program will have two classes, a LineItem class and a Transaction class

Retail Transaction Programming Project  Project Requirements:  Develop a program to emulate a purchase transaction at a retail store. This

. The following program contains five errors. Identify the errors and fix them

7COM1028   Secure Systems Programming   Referral Coursework: Secure

. Accepts the following from a user: Item Name Item Quantity Item Price Allows the user to create a file to store the sales receipt contents

Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip

. The final project will encompass developing a web service using a software stack and implementing an industry-standard interface. Regardless of whether you choose to pursue application development goals as a pure developer or as a software engineer

CS 340 Final Project Guidelines and Rubric  Overview The final project will encompass developing a web service using a software stack and impleme