TI Deep Learning Library User Guide
Configuration Parameters

The compiler acceepts configuration parameters from a file and the format of configuration file is sequence of lines holding values for different parameters as shown below

PARAMETERNAME = VALUE1 VALUE2

Below is an example configuration file

NUMCORES = 1
#DDR_EFFICIENCY parameter is external to SOC, Practically 60% efficiency is achieved in real system,
#but be careful while comparing with other benchmarks and make sure that it is conisdered in other benchmarks similarly
DDR_EFFICIENCY = 0.6
NUMEMIF_PORTS = 1
#0: 8-bit, 1: 16-bit
DATATYPE = 0
FILENAME_NET = "../../test/testvecs/models/public/caffe/jacintoNet11v2/deploy.prototxt"
FILENAME_PARAMS = "../../test/testvecs/models/public/caffe/jacintoNet11v2/imagenet_jacintonet11v2_iter_320000.caffemodel"
#-1: Pre imported model by TIDL import tool, 0: caffee, 1: TensorFlow, 2: ONNX, 3: TFLite
FILEFORMAT_NET = 0
OUTPUT_DIR = jacintoNet11v2
#optional
INWIDTH = 1024
INHEIGHT = 512
NUMCHANNELS = 3

For each parameter multiple values can be provided and the compiler iterates for all the values of given paramater, keeping rest all the parameters constant. In above example configuration file, utility shall provide results for both DATATYPE (0 and 1).

Details of configuration parameters are given below

  • NUMCORES: The number of C7x + MMA core is varying (from 1 to 2) in different SOC of J7 and TDA4 product line. This parameter can accept multiple values separated by a space (example 1 2) and the simulator will provide performance for both configuration in this case
  • DDR_EFFICIENCY: This parameter is external to SOC and indicates the efficiency factor of data access from DDR. A value of 0.65 indicates that effective data throughput from external memory (DDR) is 65% of physical data bandwidth. Practically 65% efficiency is achieved in real system, but the user should be careful while comparing with other benchmarks and make sure that it is considered in other benchmarks similarly. This parameter can also accept multiple values separated by a space (example 0.65 1.0) and the simulator will provide performance for both configuration in this case
  • NUMEMIF_PORTS: Number of External Memory Interface ports. J7 Product family have either 1 or 2, depending upon actual device. Please use appropriate value after referring the device datasheet
  • MSMCSIZE_KB: Size of the MSMC SRAM available for Deep learning (in KiloBytes)
  • DDRFREQ_MHZ: Data rate for DDR in Mega
  • DATATYPE: The data type of network model and features. 0 indicates 8-bit data type and 1 indicates 16-bit data type. In this release only 8-bit and 16-bit data type are supported. This parameter can also accept multiple values separated by a space (example 0 1) and the simulator will provide performance for both configuration in this case
  • FILENAME_NET: Name of TIDL netowkr binary output from import tool (when FILEFORMAT_NET = -1). In case of FILEFORMAT_NET = 1,2,3 the network file shall be supplied. The file should be provided with absolute path (or relative path w.r.t network compiler executable)
    * FILENAME_PARAMS: Name of network parameter file with full absolute or relative path in case of FILEFORMAT_NET = 1, For other file formats, please supply the same file as supplied for FILENAME_NET
  • FILEFORMAT_NET: Format of the network, -1: TIDL binary format produced by TI import tool, 0: caffe, 1: Tensorflow, and 2: ONNX, 3: TFLite
  • OUTPUT_DIR: Name of the output directory, This directory is used to produce the network performance summary files for different combinations from a configuration file.

The input feature parameters (width, height, number of channels) are part of prototxt file but the configuration file allows overwriting them by using below parameters. These parameters can also accept multiple values separated from a space

  • INWIDTH: Width of input feature map
  • INHEIGHT: Height of input feature map
  • NUMCHANNELS: Number of channels for input feature map