基础定义


  • 地址类型。

    typedef unsigned int local_addr_t
    typedef unsigned long long system_addr_t
    typedef unsigned long long global_addr_t
    typedef unsigned long long l2_sram_addr_t
    typedef unsigned long long addr_t


  • 数据类型。

    enum data_type_t
    enumerator DT_INT8 = 1
    enumerator DT_UINT8 = 0
    enumerator DT_INT16 = 7
    enumerator DT_UINT16 = 6
    enumerator DT_FP16 = 3
    enumerator DT_BFP16 = 11
    enumerator DT_INT32 = 9
    enumerator DT_UINT32 = 8
    enumerator DT_FP32 = 5

  • 舍入模式枚举。

    enum rounding_mode_t
    enumerator RM_HALF_TO_EVEN = 0
    enumerator RM_HALF_AWAY_FROM_ZERO = 1
    enumerator RM_TOWARDS_ZERO = 2
    enumerator RM_DOWN = 3
    enumerator RM_UP = 4
    enumerator RM_HALF_UP = 5
    enumerator RM_HALF_DOWN = 6

  • 半精度浮点格式。

    union float16
    unsigned short bits
  • BF16半精度浮点格式。

    union bfloat16
    unsigned short bits


  • 变量类型枚举。

    enum var_type_t
    enumerator TENSOR
    enumerator SCALAR
    enumerator VECTOR



  • NPU 的数量。

    NPU_NUM
  • 每个NPU上local memory的大小。

    LOCAL_MEM_SIZE

  • 基础数学运算。

    DIV_UP

    DIV_UP(a, b) (((a) - 1) / (b) + 1)

    ALIGN

    ALIGN(a, b) DIV_UP (a, b) * (b)