VTA Configuration¶
The VTA stack incorporates both a hardware accelerator stack and
a TVM based software stack.
VTA incorporates flexibility out of the box: by modifying the
3rdparty/vta-hw/config/vta_config.json
high-level configuration file,
the user can change the shape of the tensor intrinsic,
clock frequency, pipelining, data type width, and on-chip buffer sizes.
Parameters Overview¶
We explain the parameters listed in the vta_config.json
file in the table
below.
Attribute |
Format |
Description |
---|---|---|
|
String |
The TVM device target. |
|
String |
VTA hardware version number. |
|
Int (log2) |
Input data type signed integer width. |
|
Int (log2) |
Weight data type signed integer width. |
|
Int (log2) |
Accumulator data type signed integer width. |
|
Int (log2) |
VTA matrix multiply intrinsic input/output dimension 0. |
|
Int (log2) |
VTA matrix multiply inner dimensions. |
|
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. |
Note
When a parameter name is preceded with
LOG
, it means that it describes a value that can only be expressed a power of two. For that reason we describe these parameters by their log2 value. For instance, to describe an integer width of 8-bits for the input data types, we set theLOG_INP_WIDTH
to be 3, which is the log2 of 8. Similarly, to descibe a 64kB micro-op buffer, we would setLOG_UOP_BUFF_SIZE
to be 16.
We provide additional detail below regarding each parameter:
TARGET
: Can be set to"pynq"
,"ultra96"
,"sim"
(fast simulator), or"tsim"
(cycle accurate sim with verilator).
HW_VER
: Hardware version which increments every time the VTA hardware design changes. This parameter is used to uniquely identity hardware bitstreams.
LOG_BATCH
: Equivalent to A in multiplication of shape (A, B) x (B, C), or typically, the batch dimension of inner tensor computation.
LOG_BLOCK
: Equivalent to B and C in multiplication of shape (A, B) x (B, C), or typically, the input/output channel dimensions of the inner tensor computation.