8-Bit Vector API
void vect_s8_is_negative()
判断有符号8位输入向量的每个元素是否为负数。
8位输出向量 的每个元素 如果对应的8位输入向量 的元素 为负数,则设置为1;否则设置为0。
a[] 表示8位输出向量 ,其中元素 a[k] 表示 。
b[] 表示8位输入向量 ,其中元素 b[k] 表示 。
length 是 a[] 和 b[] 中的元素数量。
该操作可以表示为:
参数:
-
int8_t a[]– [out] 输出向量 -
const int8_t b[]– [in] 输入向量 -
const unsigned length– [in] 向量 和 中的元素数量
异常:
ET_LOAD_STORE如果a或b不是字对齐的,则引发异常(参见 笔记:向量对齐)
参考性能:

void mat_mul_s8_x_s8_yield_s32()
将一个8位矩阵与一个8位向量进行乘积累加,结果储存在32位累加器中。
该函数将一个 的8位矩阵 与一个8位 元列向量 相乘,并将结果累加到32位累加器向量 中。
accumulators 是输出向量 ,用于累加乘积 。请注意,累加器采用xcore VPU本地格式进行编码。要将累加器向量初始化为零,只需将内存清零即可。
matrix 是矩阵 。
input_vect 是向量 。
matrix 和 input_vect 必须从字对齐的偏移处开始。
M_rows 和 N_cols 是矩阵 的维度 和 。 必须是16的倍数, 必须是32的倍数。
只要不发生饱和,该乘法的结果是精确的。
参数:
-
split_acc_s32_t accumulators[]– [inout] 累加器向量 -
const int8_t matrix[]– [in] 权重矩阵 -
const int8_t input_vect[]– [in] 输入向量 -
const unsigned M_rows– [in] 矩阵 的行数 -
const unsigned N_cols– [in] 矩阵 的列数
异常:
ET_LOAD_STORE如果matrix或input_vect不是字对齐的,则引发异常(参见 笔记:向量对齐)
参考性能:
