IntegerGemmIntrinsic.cpp |
|
19564 |
IntegerGemmIntrinsic.h |
Interface for integer matrix multiplication followed by addition of bias.
C = A * B + Bias
Input matrix A:
- A 2-D matrix that typically represents activations as floating point
values
- no. of rows should be a positive integer
- no. of columns should be a positive integeral multiple of 64
- is represented as array (contiguous memory locations) in row-major format
Input matrix B:
- A 2-D matrix that typically represents fixed model parameters as
floating point values
- no. of rows should be:
-- equal to no. of columns of Input matrix A
-- a positive integeral multiple of 64
- no. of columns should be a positive integeral multiple of 8
- is represented as array (contiguous memory locations) in row-major format
Please note that it is also possible to pass Input matrix B in 2 more forms:
- One that is already a quantized and transposed version of Input matrix B
- Other that is already a transposed version of Input matrix B
Input Bias:
- is an array (contiguous memory locations) that represents bias
- size of the array should be equal to the no. of columns of Input matrix B
Output matrix C:
- is a 2-D matrix that represents the result (= A * B + Bias)
- no. of rows = no. of rows of Input matrix A
- no. of columns = no. of columns of Input matrix B (in
untransposed form)
- is represented as array (contiguous memory locations) in row-major format
Please note that most of the functions in this interface might have
architecture specific implementations.
Conventions followed for the interface:
- Unless explicitly mentioned, Input matrix B refers to an unquantized
(i.e. float values) and non-transposed version
- no. of rows of Input matrix A = `rowsA`
- no. of columns of Input matrix A (`colsA`) = no. of rows of Input matrix B
(`rowsB`) = `width`
- no. of columns of Input matrix B = `colsB`
|
19335 |
moz.build |
|
2878 |
README_MOZILLA |
|
665 |