matrixMultiply overload (2) - 2023.2 English

Vitis Libraries

Release Date
2023-12-20
Version
2023.2 English
#include "matrix_multiply.hpp"
template <
    class TransposeFormA,
    class TransposeFormB,
    int RowsA,
    int ColsA,
    int RowsB,
    int ColsB,
    int RowsC,
    int ColsC,
    typename InputType,
    typename OutputType,
    typename TRAITS = matrixMultiplyTraits<TransposeFormA, TransposeFormB, RowsA, ColsA, RowsB, ColsB, InputType, OutputType>
    >
void matrixMultiply (
    hls::stream <InputType>& matrixAStrm,
    hls::stream <InputType>& matrixBStrm,
    hls::stream <OutputType>& matrixCStrm
    )

matrixMultiply entry point function.

Parameters:

TransposeFormA Defines if the A matix is transposed before the multiplication. Valid values are: NoTranspose, Transpose, ConjugateTranspose
TransposeFormB Defines if the B matix is transposed before the multiplication.
RowsA Defines the number of rows in the A matrix
ColsA Defines the number of columns in the A matrix
RowsB Defines the number of rows in the B matrix
ColsB Defines the number of columns in the B matrix
RowsC Defines the number of rows in the C matrix
ColsC Defines the number of columns in the C matrix
InputType Input data type
OutputType Output data type
TRAITS Traits class
matrixAStrm Stream of First input matrix
matrixBStrm Stream of Second input matrix
matrixCStrm Stream of AB product output matrix