Skip to content

strided identity matrix creation

Module: Strided Matrix operations

More...

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