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
Click and drag the diagram to pan, double click or use the controls to zoom.
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
Views: 731 Downloads: 198
Created: 30th Apr 2024 at 11:52
Last updated: 30th Apr 2024 at 13:38
None