Application Name
Matmul
Summary
- Name: Matmul
- Contact Person: support-compss@bsc.es
- Access Level: public
- License Agreement: Apache2
- Platform: COMPSs
- Repository: Matmul
Description
Matrix multiplication is a binary operation that takes a pair of matrices and produces another matrix.
If A is an n×m matrix and B is an m×p matrix, the result AB of their multiplication is an n×p matrix defined only if the number of columns m in A is equal to the number of rows m in B. When multiplying A and B, the elements of the rows in A are multiplied with corresponding columns in B.
In this python implementation, A and B are square matrices (same number of rows and columns), and so it is the result matrix C. Each matrix is divided in N blocks of M doubles. The multiplication of two blocks is done by a multiply task method with a simple three-nested-loop implementation. When executed with COMPSs, the main program generates N3 tasks arranged as N2 chains of N tasks in the dependency graph.
Execution instructions
Usage: runcompss matmul.py <N> <BlockSize?>
where:
- - N: Number of blocks inside the matrix
- - BlockSize? : Size of the block
Execution Example
runcompss matmul.py 16 8
Build
No build is required
Attachments (1)
- matmul.tar.gz (2.2 KB) - added by trac 9 years ago.
Download all attachments as: .zip