To illustrate the compilation flow of VAI_C for edge DPU, use ResNet-50 as a compilation example. When compiling a network model, the required options should be specified to the VAI_C compiler. Once the compilation is successful, VAI_C will generate ELF object files and kernel information for deployment. These files are located under the folder specified by output_dir. The following two figures are screenshots of the VAI_C output when compiling ResNet-50 model: one is for unique memory model and the other is for split I/O memory model.
Due to the limited number of operations supported by the DPU, VAI_C automatically partitions the input network model into several kernels when there are operations not supported by DPU. The users are responsible for the data transfer and communication between different kernels, using APIs provided by N2Cube that can be used for retrieving input and output address based on the input and output nodes of the kernel.