Open ghost opened 5 years ago
@mmaciag I got the exactly same problem when I run the sdp with LUT test case. I think SPEED_Y is the throughput of EW component as defined in spec/defs/nv_large.spec
I guess the assertion is based on the nv_large. In NV_large the X1(BS)/X2(BN) components both have throughput 16 and Y(EW) component has throughput: 4, so MAX of the three is multiple of 4.
Also I guess this assertion should be modified based on the configuration?
@mmaciag after I modified SPEED_Y to 1, the test case: sdp_3x3x33_ew_le_exp_int8
can be run, but the result is FAIL. Can you run this h/w test case successfully?
To run this case I have also enabled the EW/LUT components in nv_small.spec also changes the DMA_READ_CLIENTS from 7 to 8.
sdp_hls_wrapper.cpp:188 assertion occurs for specs where none of SDP throughput settings is at least x4.
Where
SDP_PARALLEL_PROC_NUM
evaluates toMAX3(NVDLA_SDP_BS_THROUGHPUT, NVDLA_SDP_BN_THROUGHPUT, NVDLA_SDP_EW_THROUGHPUT)
andSPEED_Y
evaluates to fixed constant 4.I have no idea what SPEED_Y is for, but changing it to 1 at sdp.h:158 fixes the problem (and simulation run with nv_small traces seems to still generate correct output).