VTA 配置
导航
VTA 配置#
VTA 堆栈包含硬件加速堆栈和基于 TVM 的软件堆栈。VTA 引入了即用的灵活性:通过修改 3rdparty/vta-hw/config/vta_config.json
高级配置文件,用户可以改变张量固有形状、时钟频率、流水线、数据类型宽度和片上缓冲区大小。
参数概述#
下表解释了 vta_config.json
文件中列出的参数。
属性 |
格式 |
描述 |
---|---|---|
|
字符串 |
TVM 设备目标。 |
|
字符串 |
VTA 硬件版本号。 |
|
Int (log2) |
输入数据类型有符号整型宽度。 |
|
Int (log2) |
权重数据类型有符号整型宽度。 |
|
Int (log2) |
累加器(Accumulator)数据类型有符号整型宽度。 |
|
Int (log2) |
VTA 矩阵乘法 intrinsic 输入/输出维数 0。 |
|
Int (log2) |
VTA 矩阵乘法内部维数 |
|
Int (log2) |
Micro-op on-chip buffer in Bytes. |
|
Int (log2) |
Input on-chip buffer in Bytes. |
|
Int (log2) |
Weight on-chip buffer in Bytes. |
|
Int (log2) |
Accumulator on-chip buffer in Bytes. |
备注
当参数名称前面带有
LOG
时,这意味着它描述的值只能表示为 2 的幂。因此,用它们的 log2 值来描述这些参数。例如,为了描述输入数据类型的 8 位整型宽度,将LOG_INP_WIDTH
设置为 3,即 8 的 log2。类似地,为了描述 64kB 的 micro-op buffer,将LOG_UOP_BUFF_SIZE
设置为 16。
下面提供关于每个参数的额外细节:
TARGET
:可以设置为"pynq"
、"ultra96"
、"sim"
(快速仿真器)或"tsim"
(cycle accurate sim with verilator)。
HW_VER
:硬件版本,每次 VTA 硬件设计改变时增加。该参数用于唯一标识硬件位流。
LOG_BATCH
:在形状 (A, B) x (B, C) 的乘法中等价于 A,或典型地,内部张量计算的 batch 维度。
LOG_BLOCK
:相当于 B 和 C 的形状 (A, B) x (B, C) 的乘法,或者通常是内部张量计算的输入/输出通道维数。