**Workflow Type:**COMPSs

**Name:** Matrix multiplication with Files, reproducibility example

**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 (N hardcoded to 2, and M hardcoded to 8). 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.

# Reproducibility

To reproduce the exact results of this example, follow the instructions at the Workflow Provenance section at COMPSs User Manual, WITH data persistence, PyCOMPSs application

# Execution instructions

Usage:

```
runcompss --lang=python src/matmul_files.py inputs_folder/ outputs_folder/
```

where:

- inputs_folder/: Folder where A and B matrices are located
- outputs_folder/: Folder with the resulting C matrix

# Execution Examples

```
runcompss --lang=python src/matmul_files.py inputs/ outputs/
runcompss src/matmul_files.py inputs/ outputs/
python -m pycompss src/matmul_files.py inputs/ outputs/
```

# Build

No build is required

## Version History

#### COMPSs 3.3.1 (earliest) Created 30th Apr 2024 at 11:52 by Raül Sirvent

COMPSs 3.3.1 version was used for this run

Frozen

`COMPSs-3.3.1`

`b41dfbf`

##### Creator

##### Submitter

*PyCOMPSs Matrix Multiplication, out-of-core using files, reproducibility example*. WorkflowHub. https://doi.org/10.48546/WORKFLOWHUB.WORKFLOW.838.1

**Views:** 420
**Downloads:** 128

**Created**: 30th Apr 2024 at 11:52

**Last updated**: 30th Apr 2024 at 13:38

None

**Total size:**49.5 KB