wiki:application_pages/tutorial_apps/python/matmul-files

Application Name

Matrix multiplication with Files

Summary

  • Name: Matrix multiplication with Files
  • Contact Person: support-compss@bsc.es
  • Access Level: public
  • License Agreement: Apache2
  • Platform: COMPSs
  • Repository: Matrix multiplication with Files

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 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 --lang=python /home/compss/tutorial_apps/python/matmul-files/matmul.py <numberOfBlocks> <blockSize>

where:

  • - numberOfBlocks: Number of blocks inside each matrix
  • - blockSize: Size of each block

Execution Example

runcompss --lang=python /home/compss/tutorial_apps/python/matmul-files/matmul.py 4 4 runcompss /home/compss/tutorial_apps/python/matmul-files/matmul.py 4 4

Build

No build is required

Last modified 7 years ago Last modified on 06/14/17 12:49:40

Attachments (3)

Download all attachments as: .zip