FFTLIB User Guide
c7100/FFTLIB_types.h File Reference

Introduction

File to hold common structure, enums, macros and functions for FFTLIB.

Version
0.1 - May 2020 : Initial Version

Definition in file c7100/FFTLIB_types.h.

Go to the source code of this file.

Macros

#define FFTLIB_BYTE_WIDTH   64
 MMA width in bytes. More...
 
#define FFTLIB_CALC_STRIDE(BYTES, ALIGN_SHIFT)    (((((BYTES)-1) >> (ALIGN_SHIFT)) + 1) << (ALIGN_SHIFT))
 Macro function that computes the minimum stride for the specified number of bytes and alignment. More...
 
#define FFTLIB_MMA_SIZE_8_BIT_SHIFT    6
 Macro for FFTLIB shift amounts. More...
 
#define FFTLIB_MMA_SIZE_16_BIT_SHIFT    5
 Shift for MMA size when data type is 16-bit integers. More...
 
#define FFTLIB_MMA_SIZE_32_BIT_SHIFT    4
 Shift for MMA size when data type is 32-bit integers. More...
 
#define FFTLIB_MMA_SIZE_8_BIT
 MMA size as a function of precision. More...
 
#define FFTLIB_MMA_SIZE_16_BIT
 type is 16-bit integers More...
 
#define FFTLIB_MMA_SIZE_32_BIT
 type is 32-bit integers More...
 

Typedefs

typedef FFTLIB_quantMethod_type_e FFTLIB_quantMethod_type
 

Enumerations

enum  FFTLIB_activation_type_e {
  FFTLIB_NONE = 0 , FFTLIB_RELU , FFTLIB_SATURATION , FFTLIB_ROUNDING ,
  FFTLIB_NONE = 0 , FFTLIB_RELU , FFTLIB_SATURATION , FFTLIB_ROUNDING ,
  FFTLIB_PSAT , FFTLIB_NONE = 0 , FFTLIB_RELU , FFTLIB_SATURATION ,
  FFTLIB_ROUNDING , FFTLIB_PSAT
}
 The enumeration of possible activation operations on the computation. More...
 
enum  FFTLIB_quantMethod_type_e {
  FFTLIB_QUANT_PER_KERNEL = 0 , FFTLIB_QUANT_PER_CHANNEL = 1 , FFTLIB_QUANT_PER_KERNEL = 0 , FFTLIB_QUANT_PER_CHANNEL = 1 ,
  FFTLIB_QUANT_PER_KERNEL = 0 , FFTLIB_QUANT_PER_CHANNEL = 1
}
 

Macro Definition Documentation

◆ FFTLIB_BYTE_WIDTH

#define FFTLIB_BYTE_WIDTH   64

MMA width in bytes.

Definition at line 74 of file c7100/FFTLIB_types.h.

◆ FFTLIB_CALC_STRIDE

#define FFTLIB_CALC_STRIDE (   BYTES,
  ALIGN_SHIFT 
)     (((((BYTES)-1) >> (ALIGN_SHIFT)) + 1) << (ALIGN_SHIFT))

Macro function that computes the minimum stride for the specified number of bytes and alignment.

Definition at line 83 of file c7100/FFTLIB_types.h.

◆ FFTLIB_MMA_SIZE_8_BIT_SHIFT

#define FFTLIB_MMA_SIZE_8_BIT_SHIFT    6

Macro for FFTLIB shift amounts.

Shift for MMA size when data type is 8-bit integers

Definition at line 88 of file c7100/FFTLIB_types.h.

◆ FFTLIB_MMA_SIZE_16_BIT_SHIFT

#define FFTLIB_MMA_SIZE_16_BIT_SHIFT    5

Shift for MMA size when data type is 16-bit integers.

Definition at line 90 of file c7100/FFTLIB_types.h.

◆ FFTLIB_MMA_SIZE_32_BIT_SHIFT

#define FFTLIB_MMA_SIZE_32_BIT_SHIFT    4

Shift for MMA size when data type is 32-bit integers.

Definition at line 92 of file c7100/FFTLIB_types.h.

◆ FFTLIB_MMA_SIZE_8_BIT

#define FFTLIB_MMA_SIZE_8_BIT
Value:
((uint32_t)(((uint32_t)1) \
#define FFTLIB_MMA_SIZE_8_BIT_SHIFT
Macro for FFTLIB shift amounts.

MMA size as a function of precision.

Shift for MMA size when data type is 8-bit integers

Definition at line 99 of file c7100/FFTLIB_types.h.

◆ FFTLIB_MMA_SIZE_16_BIT

#define FFTLIB_MMA_SIZE_16_BIT
Value:
((uint32_t)(((uint32_t)1) \
#define FFTLIB_MMA_SIZE_16_BIT_SHIFT
Shift for MMA size when data type is 16-bit integers.

type is 16-bit integers

Shift for MMA size when data

Definition at line 103 of file c7100/FFTLIB_types.h.

◆ FFTLIB_MMA_SIZE_32_BIT

#define FFTLIB_MMA_SIZE_32_BIT
Value:
((int32_t)(((uint32_t)1) \
#define FFTLIB_MMA_SIZE_32_BIT_SHIFT
Shift for MMA size when data type is 32-bit integers.

type is 32-bit integers

Shift for MMA size when data

Definition at line 107 of file c7100/FFTLIB_types.h.

Typedef Documentation

◆ FFTLIB_quantMethod_type

Enumeration Type Documentation

◆ FFTLIB_activation_type_e

The enumeration of possible activation operations on the computation.

Enumerator
FFTLIB_NONE 

Return result as-is (allow wrapping)

FFTLIB_RELU 

Return result after applying ReLU operation.

FFTLIB_SATURATION 

Return result after saturating.

FFTLIB_ROUNDING 

Return result after rounding.

FFTLIB_NONE 

Return result as-is (allow wrapping)

FFTLIB_RELU 

Return result after applying ReLU operation.

FFTLIB_SATURATION 

Return result after saturating.

FFTLIB_ROUNDING 

Return result after rounding.

FFTLIB_PSAT 

Return result after parameterized saturation.

FFTLIB_NONE 

Return result as-is (allow wrapping)

FFTLIB_RELU 

Return result after applying ReLU operation.

FFTLIB_SATURATION 

Return result after saturating.

FFTLIB_ROUNDING 

Return result after rounding.

FFTLIB_PSAT 

Return result after parameterized saturation.

Definition at line 55 of file c7100/FFTLIB_types.h.

◆ FFTLIB_quantMethod_type_e

Enumerator
FFTLIB_QUANT_PER_KERNEL 
FFTLIB_QUANT_PER_CHANNEL 
FFTLIB_QUANT_PER_KERNEL 
FFTLIB_QUANT_PER_CHANNEL 
FFTLIB_QUANT_PER_KERNEL 
FFTLIB_QUANT_PER_CHANNEL 

Definition at line 62 of file c7100/FFTLIB_types.h.