PyCOMPSs Matrix Multiplication with Objects (inputs generated by the code)
Version 1

Workflow Type: COMPSs
Stable

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

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 N^3^ tasks arranged as N^2^ chains of N tasks in the dependency graph.

Execution instructions

Usage:

runcompss --lang=python src/matmul_objects.py numberOfBlocks blockSize

where:

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

Execution Examples

runcompss --lang=python src/matmul_objects.py 16 4
runcompss src/matmul_objects.py 16 4
python -m pycompss src/matmul_objects.py 16 4

Build

No build is required

Click and drag the diagram to pan, double click or use the controls to zoom.

Version History

COMPSs 3.3.pr (earliest) Created 27th Oct 2023 at 14:22 by Raül Sirvent

The run was done using COMPSs 3.3.pr, in a laptop (macOS)


Frozen COMPSs-3.3.pr 8e4ee36
help Creators and Submitter
Creator
Additional credit

The Workflows and Distributed Computing Team (https://www.bsc.es/discover-bsc/organisation/scientific-structure/workflows-and-distributed-computing/)

Submitter
Citation
Conejero, J. (2023). PyCOMPSs Matrix Multiplication with Objects (inputs generated by the code). WorkflowHub. https://doi.org/10.48546/WORKFLOWHUB.WORKFLOW.627.1
Activity

Views: 628

Created: 27th Oct 2023 at 14:22

Last updated: 27th Oct 2023 at 14:28

help Attributions

None

Total size: 2.67 MB
Powered by
(v.1.14.1)
Copyright © 2008 - 2023 The University of Manchester and HITS gGmbH