strided identity matrix creation
Module: Strided Matrix operations
Modules
Name |
---|
Strided Identity Matrix Creation Kernels |
Functions
Name | |
---|---|
void | plp_mat_fill_I_stride_f32(uint32_t N, uint32_t stride, float *restrict pDst) Glue code for creating a strided 32-bit floats identity matrix. |
void | plp_mat_fill_I_stride_f32_parallel(uint32_t N, uint32_t stride, uint32_t nPE, float *restrict pDst) Glue code for creating a strided 32-bit floats identity matrix in parallel. |
void | plp_mat_fill_I_stride_i16(uint32_t N, uint32_t stride, int16_t *restrict pDst) Glue code for creating a strided 16-bit integers identity matrix. |
void | plp_mat_fill_I_stride_i16_parallel(uint32_t N, uint32_t stride, uint32_t nPE, int16_t *restrict pDst) Glue code for creating a strided 16-bit integers identity matrix in parallel. |
void | plp_mat_fill_I_stride_i32(uint32_t N, uint32_t stride, int32_t *restrict pDst) Glue code for creating a strided 32-bit integers identity matrix. |
void | plp_mat_fill_I_stride_i32_parallel(uint32_t N, uint32_t stride, uint32_t nPE, int32_t *restrict pDst) Glue code for creating a strided 32-bit integers identity matrix in parallel. |
void | plp_mat_fill_I_stride_i8(uint32_t N, uint32_t stride, int8_t *restrict pDst) Glue code for creating a strided 8-bit integers identity matrix. |
void | plp_mat_fill_I_stride_i8_parallel(uint32_t N, uint32_t stride, uint32_t nPE, int8_t *restrict pDst) Glue code for creating a strided 8-bit integers identity matrix in parallel. |
void | plp_mat_fill_I_stride_q16(uint32_t N, uint32_t stride, int32_t fracBits, int16_t *restrict pDst) Glue code for creating a strided 16-bit fix-point identity matrix. |
void | plp_mat_fill_I_stride_q16_parallel(uint32_t N, uint32_t stride, int32_t fracBits, uint32_t nPE, int16_t *restrict pDst) Glue code for creating a strided 16-bit fix-point identity matrix in parallel. |
void | plp_mat_fill_I_stride_q32(uint32_t N, uint32_t stride, int32_t fracBits, int32_t *restrict pDst) Glue code for creating a strided 32-bit fix-point identity matrix. |
void | plp_mat_fill_I_stride_q32_parallel(uint32_t N, uint32_t stride, int32_t fracBits, uint32_t nPE, int32_t *restrict pDst) Glue code for creating a strided 32-bit fix-point identity matrix in parallel. |
void | plp_mat_fill_I_stride_q8(uint32_t N, uint32_t stride, int32_t fracBits, int8_t *restrict pDst) Glue code for creating a strided 8-bit fix-point identity matrix. |
void | plp_mat_fill_I_stride_q8_parallel(uint32_t N, uint32_t stride, int32_t fracBits, uint32_t nPE, int8_t *restrict pDst) Glue code for creating a strided 8-bit fix-point identity matrix in parallel. |
Detailed Description
This module contains the glue code for generating strided identity matrices. The kernel codes (kernels) are located in the module Strided Identity Matrix Creation Kernels.
The identity matrix is a square matrix, with the value 1
on it's main diagonal, and all other values 0
.
There are functions for integer 32- 16- and 8-bit data types, as well as for floating-point. The naming scheme of the functions follows the following pattern (for example plp_mat_fill_I_stride_i32
):
`plp_<function name>_<data type><precision>[_parallel]`
name | description |
---|---|
function_name | mat_fill_I_stride |
data type | {f, i, q} respectively for floats, integers, fixed points |
precision | {32, 16, 8} bits |
The stride
argument tells how many elements are in between the start of each row of the matrix. In other words, it is the width of the original matrix. Strided Matrix operations
Functions Documentation
function plp_mat_fill_I_stride_f32
void plp_mat_fill_I_stride_f32(
uint32_t N,
uint32_t stride,
float *__restrict__ pDst
)
Glue code for creating a strided 32-bit floats identity matrix.
Parameters:
- N Width and height of the matrix
- stride Stride of the matrix (elements between each row)
- pDst Points to the output matrix
Return: none
function plp_mat_fill_I_stride_f32_parallel
void plp_mat_fill_I_stride_f32_parallel(
uint32_t N,
uint32_t stride,
uint32_t nPE,
float *__restrict__ pDst
)
Glue code for creating a strided 32-bit floats identity matrix in parallel.
Parameters:
- N Width and height of the matrix
- stride Stride of the matrix (elements between each row)
- nPE Number of cores to use for computation
- pDst Points to the output matrix
Return: none
function plp_mat_fill_I_stride_i16
void plp_mat_fill_I_stride_i16(
uint32_t N,
uint32_t stride,
int16_t *__restrict__ pDst
)
Glue code for creating a strided 16-bit integers identity matrix.
Parameters:
- N Width and height of the matrix
- stride Stride of the matrix (elements between each row)
- pDst Points to the output matrix
Return: none
function plp_mat_fill_I_stride_i16_parallel
void plp_mat_fill_I_stride_i16_parallel(
uint32_t N,
uint32_t stride,
uint32_t nPE,
int16_t *__restrict__ pDst
)
Glue code for creating a strided 16-bit integers identity matrix in parallel.
Parameters:
- N Width and height of the matrix
- stride Stride of the matrix (elements between each row)
- nPE Number of cores to use for computation
- pDst Points to the output matrix
Return: none
function plp_mat_fill_I_stride_i32
void plp_mat_fill_I_stride_i32(
uint32_t N,
uint32_t stride,
int32_t *__restrict__ pDst
)
Glue code for creating a strided 32-bit integers identity matrix.
Parameters:
- N Width and height of the matrix
- stride Stride of the matrix (elements between each row)
- pDst Points to the output matrix
Return: none
function plp_mat_fill_I_stride_i32_parallel
void plp_mat_fill_I_stride_i32_parallel(
uint32_t N,
uint32_t stride,
uint32_t nPE,
int32_t *__restrict__ pDst
)
Glue code for creating a strided 32-bit integers identity matrix in parallel.
Parameters:
- N Width and height of the matrix
- stride Stride of the matrix (elements between each row)
- nPE Number of cores to use for computation
- pDst Points to the output matrix
Return: none
function plp_mat_fill_I_stride_i8
void plp_mat_fill_I_stride_i8(
uint32_t N,
uint32_t stride,
int8_t *__restrict__ pDst
)
Glue code for creating a strided 8-bit integers identity matrix.
Parameters:
- N Width and height of the matrix
- stride Stride of the matrix (elements between each row)
- pDst Points to the output matrix
Return: none
function plp_mat_fill_I_stride_i8_parallel
void plp_mat_fill_I_stride_i8_parallel(
uint32_t N,
uint32_t stride,
uint32_t nPE,
int8_t *__restrict__ pDst
)
Glue code for creating a strided 8-bit integers identity matrix in parallel.
Parameters:
- N Width and height of the matrix
- stride Stride of the matrix (elements between each row)
- nPE Number of cores to use for computation
- pDst Points to the output matrix
Return: none
function plp_mat_fill_I_stride_q16
void plp_mat_fill_I_stride_q16(
uint32_t N,
uint32_t stride,
int32_t fracBits,
int16_t *__restrict__ pDst
)
Glue code for creating a strided 16-bit fix-point identity matrix.
Parameters:
- N Width and height of the matrix
- stride Stride of the matrix (elements between each row)
- fracBits Decimal point for the appropriate scale
- pDst Points to the output matrix
Return: none
Par: Fix-Point
The diagonal elements will be filled with the value: 1 << fracBits
.
function plp_mat_fill_I_stride_q16_parallel
void plp_mat_fill_I_stride_q16_parallel(
uint32_t N,
uint32_t stride,
int32_t fracBits,
uint32_t nPE,
int16_t *__restrict__ pDst
)
Glue code for creating a strided 16-bit fix-point identity matrix in parallel.
Parameters:
- N Width and height of the matrix
- stride Stride of the matrix (elements between each row)
- fracBits Decimal point for the appropriate scale
- nPE Number of cores to use for computation
- pDst Points to the output matrix
Return: none
Par: Fix-Point
The diagonal elements will be filled with the value: 1 << fracBits
.
function plp_mat_fill_I_stride_q32
void plp_mat_fill_I_stride_q32(
uint32_t N,
uint32_t stride,
int32_t fracBits,
int32_t *__restrict__ pDst
)
Glue code for creating a strided 32-bit fix-point identity matrix.
Parameters:
- N Width and height of the matrix
- stride Stride of the matrix (elements between each row)
- fracBits Decimal point for the appropriate scale
- pDst Points to the output matrix
Return: none
Par: Fix-Point
The diagonal elements will be filled with the value: 1 << fracBits
.
function plp_mat_fill_I_stride_q32_parallel
void plp_mat_fill_I_stride_q32_parallel(
uint32_t N,
uint32_t stride,
int32_t fracBits,
uint32_t nPE,
int32_t *__restrict__ pDst
)
Glue code for creating a strided 32-bit fix-point identity matrix in parallel.
Parameters:
- N Width and height of the matrix
- stride Stride of the matrix (elements between each row)
- fracBits Decimal point for the appropriate scale
- nPE Number of cores to use for computation
- pDst Points to the output matrix
Return: none
Par: Fix-Point
The diagonal elements will be filled with the value: 1 << fracBits
.
function plp_mat_fill_I_stride_q8
void plp_mat_fill_I_stride_q8(
uint32_t N,
uint32_t stride,
int32_t fracBits,
int8_t *__restrict__ pDst
)
Glue code for creating a strided 8-bit fix-point identity matrix.
Parameters:
- N Width and height of the matrix
- stride Stride of the matrix (elements between each row)
- fracBits Decimal point for the appropriate scale
- pDst Points to the output matrix
Return: none
Par: Fix-Point
The diagonal elements will be filled with the value: 1 << fracBits
.
function plp_mat_fill_I_stride_q8_parallel
void plp_mat_fill_I_stride_q8_parallel(
uint32_t N,
uint32_t stride,
int32_t fracBits,
uint32_t nPE,
int8_t *__restrict__ pDst
)
Glue code for creating a strided 8-bit fix-point identity matrix in parallel.
Parameters:
- N Width and height of the matrix
- stride Stride of the matrix (elements between each row)
- fracBits Decimal point for the appropriate scale
- nPE Number of cores to use for computation
- pDst Points to the output matrix
Return: none
Par: Fix-Point
The diagonal elements will be filled with the value: 1 << fracBits
.
Updated on 2023-03-01 at 16:16:32 +0000