**Name:** Matrix multiplication with Objects **Contact Person**: support-compss@bsc.es **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