Equation Solution
High Performance by Design

MATMUL --- Parallel Subroutine for Matrix Product

Description:

Performs matrix product [C]=[A][B] in parallel

Fortran Syntax:

laipe\$matmul_4(A_i,B_i,C_o,NA_i,NB_i,NC_i)
laipe\$matmul_8(A_i,B_i,C_o,NA_i,NB_i,NC_i)
laipe\$matmul_10(A_i,B_i,C_o,NA_i,NB_i,NC_i)
laipe\$matmul_16(A_i,B_i,C_o,NA_i,NB_i,NC_i)
laipe\$matmul_z4(A_i,B_i,C_o,NA_i,NB_i,NC_i)
laipe\$matmul_z8(A_i,B_i,C_o,NA_i,NB_i,NC_i)
laipe\$matmul_z10(A_i,B_i,C_o,NA_i,NB_i,NC_i)
laipe\$matmul_z16(A_i,B_i,C_o,NA_i,NB_i,NC_i)

where
1. The argument A_i is the input matrix [A] of dimension (NA_i,NB_i). Variable type must be consistent with subroutine name. For example, in subroutine laipe\$matmul_4, [A] is a 4-byte real matrix.
2. The argument B_i is the input matrix [B] of dimension (NB_i,NC_i). Variable type must be consistent with subroutine name.
3. The argument C_o is the output matrix [C] of dimension (NA_i,NC_i). Variable type must be consistent with subroutine name.
4. The argument NA_i, a 4-byte INTEGER, is the number of rows of matrix [A]
5. The argument NB_i, a 4-byte INTEGER, is the number of columns of matrix [A]
6. The argument NC_i, a 4-byte INTEGER, is the number of columns of matrix [B]