0级接口通用参数说明

在介绍具体的矢量计算接口之前,本章节先对这些接口中的通用参数进行说明。通用参数包括

以上Repeat times、Block strideRepeat strideMask为通用描述,其命名不一定与具体指令中的参数命名完全对应。

比如,单次迭代内不同block间地址步长Block stride参数,在单目指令中,对应为dstBlkStride、srcBlkStride参数;在双目指令中,对应为dstBlkStride、src0BlkStride、src1BlkStride参数。

您可以在具体接口的参数说明中,找到参数含义的描述。

重复迭代次数-Repeat times

矢量计算单元,每次读取连续的8个block(每个block32 Bytes,共256 Bytes)数据进行计算,为完成对输入数据的处理,必须通过多次迭代(repeat)才能完成所有数据的读取与计算。Repeat times表示迭代的次数。

如下图所示,待处理数据大小为16个block(512Bytes),每次迭代处理8个block(256Bytes),需要两次迭代完成计算,Repeat times应设置为2。

相邻迭代间相同block的地址步长

当Repeat times大于1,需要多次迭代完成矢量计算时,您可以根据不同的使用场景合理设置相邻迭代间相同block的地址步长Repeat stride的值。

同一迭代内不同block的地址步长

如果需要控制单次迭代内,数据处理的步长,可以通过设置同一迭代内不同block的地址步长Block stride来实现。

Mask参数

mask用于控制每次迭代内参与计算的元素。可通过连续模式和逐比特模式两种方式进行设置。