CSE5304—Project Proposal Parallel Matrix Multiplication Tian Mi.

Slides:



Advertisements
Similar presentations
Section 13-4: Matrix Multiplication
Advertisements

Accentuate the Negative Investigation 3
CS 484. Dense Matrix Algorithms There are two types of Matrices Dense (Full) Sparse We will consider matrices that are Dense Square.
Numerical Algorithms ITCS 4/5145 Parallel Computing UNC-Charlotte, B. Wilkinson, 2009.
CS 140 : Matrix multiplication Linear algebra problems Matrix multiplication I : cache issues Matrix multiplication II: parallel issues Thanks to Jim Demmel.
9/12/2007CS194 Lecture1 Shared Memory Hardware: Case Study in Matrix Multiplication Kathy Yelick
Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers Chapter 11: Numerical Algorithms Sec 11.2: Implementing.
CS 240A : Matrix multiplication Matrix multiplication I : parallel issues Matrix multiplication II: cache issues Thanks to Jim Demmel and Kathy Yelick.
Numerical Algorithms • Matrix multiplication
CS267 L20 Dense Linear Algebra II.1 Demmel Sp 1999 CS 267 Applications of Parallel Computers Lecture 20: Dense Linear Algebra - II James Demmel
CSE5304—Project Proposal Parallel Matrix Multiplication Tian Mi.
1 Fast Sparse Matrix Multiplication Raphael Yuster Haifa University (Oranim) Uri Zwick Tel Aviv University ESA 2004.
02/21/2007CS267 Lecture DLA11 CS 267 Dense Linear Algebra: Parallel Matrix Multiplication James Demmel
CS 584 Lecture 20 n Assignment –Glenda program n Project Proposal is coming up! (March 13) »2 pages text + 1 page plan of action »3 references n No class.
02/09/2006CS267 Lecture 81 CS 267 Dense Linear Algebra: Parallel Matrix Multiplication James Demmel
CS 584. Dense Matrix Algorithms There are two types of Matrices Dense (Full) Sparse We will consider matrices that are Dense Square.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Design of parallel algorithms Matrix operations J. Porras.
1 Matrix Addition, C = A + B Add corresponding elements of each matrix to form elements of result matrix. Given elements of A as a i,j and elements of.
S. Awad, Ph.D. M. Corless, M.S.E.E. E.C.E. Department University of Michigan-Dearborn Matlab Basics Introduction to Matlab: Matrix Operations.
Table of Contents Matrices - Multiplication Assume that matrix A is of order m  n and matrix B is of order p  q. To determine whether or not A can be.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Assignment Solving System of Linear Equations Using MPI Phạm Trần Vũ.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 February 8, 2005 Session 8.
Parallel Algorithms Sorting and more. Keep hardware in mind When considering ‘parallel’ algorithms, – We have to have an understanding of the hardware.
1 Minimizing Communication in Numerical Linear Algebra Case Study: Matrix Multiply Jim Demmel EECS & Math Departments, UC Berkeley.
CS 140 : Matrix multiplication Warmup: Matrix times vector: communication volume Matrix multiplication I: parallel issues Matrix multiplication II: cache.
Multiplying and Dividing Integers When you MULTIPLY: Two positives equal a positive Two negatives equal a positive One positive & one negative equal.
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
8.2 Operations With Matrices
ADA: 4.5. Matrix Mult.1 Objective o an extra divide and conquer example, based on a question in class Algorithm Design and Analysis (ADA) ,
Numerical Algorithms.Matrix Multiplication.Gaussian Elimination.Jacobi Iteration.Gauss-Seidel Relaxation.
1 Arrays of Arrays Quick review … arrays Arrays of arrays ≡ multidimensional array Example: times table Representation in memory Ragged arrays Example:
Matrix Multiplication The Introduction. Look at the matrix sizes.
PARALLEL COMPUTATION FOR MATRIX MULTIPLICATION Presented By:Dima Ayash Kelwin Payares Tala Najem.
Matrix Multiplication. Row 1 x Column X 25 = Jeff Bivin -- LZHS.
3.6 Multiplying Matrices Homework 3-17odd and odd.
Notes Over 4.2 Finding the Product of Two Matrices Find the product. If it is not defined, state the reason. To multiply matrices, the number of columns.
4-3 Matrix Multiplication Objective: To multiply a matrix by a scalar multiple.
Numerical Algorithms Chapter 11.
The Euclidean Algorithm
CSE 504 Discrete Mathematics & Foundations of Computer Science
Properties and Applications of Matrices
MATRICES.
12-1 Organizing Data Using Matrices
Discrete Structures – CNS2300
Applied Discrete Mathematics Week 4: Number Theory
CS 267 Dense Linear Algebra: Parallel Matrix Multiplication
BLAS: behind the scenes
Kathy Yelick CS 267 Applications of Parallel Processors Lecture 13: Parallel Matrix Multiply Kathy Yelick
CS 140 : Matrix multiplication
Parallel Matrix Operations
Numerical Algorithms • Parallelizing matrix multiplication
Parallel Programming in C with MPI and OpenMP
Numerical Algorithms Quiz questions
Introduction to Algorithms
Designing Algorithms for Multiplication of Fractions
Animation of the Gauss-Jordan Elimination Algorithm
Matrix Addition and Multiplication
3.6 Multiply Matrices.
To accompany the text “Introduction to Parallel Computing”,
Matrix Addition, C = A + B Add corresponding elements of each matrix to form elements of result matrix. Given elements of A as ai,j and elements of B as.
Multiplication and Division of Integers
CS 140 : Matrix multiplication
Main A, No B, No AxB B1 B2 10 A B2 A B1 3 3 A1 A2.
Matrix Multiplication Sec. 4.2
Applied Discrete Mathematics Week 4: Functions
Parallel Matrix Multiply
Presentation transcript:

CSE5304—Project Proposal Parallel Matrix Multiplication Tian Mi

Cannon's algorithm // assume s = sqrt(p) is an integer forall i=0 to s-1 // skew A  left-circular-shift row i of A by i  // so that A(i,j) overwritten by A(i,(j+i)mod s) forall i=0 to s-1 // skew B  up-circular-shift column i of B by i  // so that B(i,j) overwritten by B((i+j)mod s), j) for k=0 to s-1 // sequential  forall i=0 to s-1 and j=0 to s-1  // all processors in parallel  C(i,j) = C(i,j) + A(i,j)*B(i,j)  left-circular-shift each row of A by 1  up-circular-shift each column of B by 1

Cannon's algorithm--Example

N*N matrix with P processors Divide matrix to multipliable submatrix Follow Cannon’s algorithm, but addition is submatrix addition, multiplication is submatrix multiplication A(0,0) + /×B(0,0)= A(0,0)A(0,1) A(1,0)A(1,1) B(0,0)B(0,1) B(1,0)B(1,1)

Objectives Implementation  Sequential program on Cannon’s algorithm  Parallel Cannon’s algorithm N*N matrix with N*N processors N*N matrix with P processors Analysis  Compare the two programs with different input size  Test the parallel program with different number of processors  Running time of both programs  Speed up, efficiency