Name: Matrix multiplication with Objects Contact Person: [email protected] Access Level: public License Agreement: Apache2 Platform: COMPSs
Matrix Multiplication with Objects
Matrix multiplication is a binary operation that takes a pair of matrices and produces another matrix. Given a square matrix A of size MSIZE × MSIZE blocks and a square matrix B of the same size, the result C = A × B is computed block-wise. Each matrix is divided into MSIZE² blocks of BSIZE × BSIZE doubles. The multiplication of two blocks is performed by a multiply task method. When executed with COMPSs, the main program generates MSIZE³ tasks arranged as MSIZE² chains of MSIZE tasks in the dependency graph.
Experiment Configuration
- MSIZE: 2, BSIZE: 2
- Nodes: 2
- Tasks: 8
- Platform: MareNostrum 5
Goal
This small configuration is used to demonstrate provenance graph navigation and metadata interpretation. The reduced number of tasks makes the structure of the captured metadata easy to follow and verify against the known application behaviour.
Execution instructions
Usage:
runcompss --lang=python matmul_objects.py numberOfBlocks blockSize
where:
- numberOfBlocks: Number of blocks inside each matrix
- blockSize: Size of each block
Execution Examples
runcompss --lang=python matmul_objects.py 28 512
runcompss matmul_objects.py 28 512
python -m pycompss matmul_objects.py 28 512
Build
No build is required
Click and drag the diagram to pan, double click or use the controls to zoom.
Version History
Version 1 (earliest) Created 8th Jun 2026 at 21:25 by Débora Pina
Execution of the matrix multiplication application on MareNostrum 5 with 47 blocks, 512 block size, resulting in 103,823 tasks.
Frozen
Version-1
8f33c9b
Creators and SubmitterCreator
Submitter
Views: 42 Downloads: 14
Created: 8th Jun 2026 at 21:25
AttributionsNone
https://orcid.org/0000-0001-6401-6229