Data Dump - Data Dump - 2025.2 English - XD100

Vitis Tutorials: AI Engine Development (XD100)

Document ID
XD100
Release Date
2026-03-27
Version
2025.2 English

This feature allows you to dump and inspect data traffic at kernel ports with data types. Examine how this feature helps.

  1. Open the src/kernels/data_shuffle.cc file in the AI Engine component, and comment out the line if(remainder == 0).

  2. Build the project, open the $(COMPONENT_NAME)/Output/x86sim/Work/options/x86sim.options file, and update the dump feature from no to yes.

  3. Select Run under X86SIMULATION in the Flow navigator.

  4. After simulation completes, observe the following messages in the console.

    Processing './x86simulator_output/dump/x86sim_dump.data'
    
    File                   Port direction  Port type  Data type  Kernel or platform port
    ---------------------  --------------  ---------  ---------  -----------------------
    mygraph_in_out_0.txt   out             iobuffer     int32      mygraph.in.out[0]     
    mygraph_p_d_in_0.txt   in              iobuffer     int32      mygraph.p_d.in[0]     
    mygraph_u_s_out_0.txt  out             iobuffer     float      mygraph.u_s.out[0]    
    mygraph_out0_in_0.txt  in              iobuffer     float      mygraph.out0.in[0]    
    mygraph_d_s_out_0.txt  out             iobuffer     int32      mygraph.d_s.out[0]    
    mygraph_out1_in_0.txt  in              iobuffer     int32      mygraph.out1.in[0]    
    mygraph_p_d_out_2.txt  out             iobuffer     float      mygraph.p_d.out[2]    
    mygraph_u_s_in_0.txt   in              iobuffer     float      mygraph.u_s.in[0]     
    mygraph_u_s_in_1.txt   in              stream       int32      mygraph.u_s.in[1]     
    mygraph_d_s_in_1.txt   in              stream       int32      mygraph.d_s.in[1]     
    mygraph_p_d_out_1.txt  out             stream       int32      mygraph.p_d.out[1]    
    mygraph_p_d_out_0.txt  out             iobuffer     int32      mygraph.p_d.out[0]    
    mygraph_d_s_in_0.txt   in              iobuffer     int32      mygraph.d_s.in[0]     
    
    Wrote './x86simulator_output/dump/mygraph_in_out_0.txt'
    Wrote './x86simulator_output/dump/mygraph_p_d_in_0.txt'
    Wrote './x86simulator_output/dump/mygraph_u_s_out_0.txt'
    Wrote './x86simulator_output/dump/mygraph_out0_in_0.txt'
    Wrote './x86simulator_output/dump/mygraph_d_s_out_0.txt'
    Wrote './x86simulator_output/dump/mygraph_out1_in_0.txt'
    Wrote './x86simulator_output/dump/mygraph_p_d_out_2.txt'
    Wrote './x86simulator_output/dump/mygraph_u_s_in_0.txt'
    Wrote './x86simulator_output/dump/mygraph_u_s_in_1.txt'
    Wrote './x86simulator_output/dump/mygraph_d_s_in_1.txt'
    Wrote './x86simulator_output/dump/mygraph_p_d_out_1.txt'
    Wrote './x86simulator_output/dump/mygraph_p_d_out_0.txt'
    Wrote './x86simulator_output/dump/mygraph_d_s_in_0.txt'
    Simulation completed successfully returning zero
    
    

Observe that one text file per port of each kernel is generated using the --dump feature and the filenames are in the format of <graph-name>_<sub-graph-class-name>_<sub-graph-instance-name>_<kernel-index>_[in]/[out]_index.txt for graph input/output files.

  1. Open the $(COMPONENT_NAME)/Output/x86sim/x86simulator_output/dump/mygraph_in_out_0.txt file, and note the Iteration and snapshot values recorded in that file. These match the dimensions (buffer size) specified in the graph code per iteration.

  2. Similarly, open the input and output of all the kernels in a graph to observe the intermediate outputs and the interface ports.