Giter VIP home page Giter VIP logo

learning-nvdla-notes's People

Contributors

junningwu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

learning-nvdla-notes's Issues

The process stalls and the FPGA is not responding anymore at 232.44643

Run PDP/PDP_L0_0_small_fbuf
creating new runtime context...
Emulator starting
submitting tasks...
[ 226.113537] Enter:dla_read_network_config
[ 226.119198] Exit:dla_read_network_config status=0
[ 226.123877] Enter: dla_initiate_processors
[ 226.127953] Enter: dla_submit_operation
[ 226.131772] Prepare PDP operation index 0 ROI 0 dep_count 0
[ 226.137326] Enter: dla_prepare_operation
[ 226.141234] processor:PDP group:0, rdma_group:0 available
[ 226.146617] Enter: dla_read_config
[ 226.150009] Exit: dla_read_config
[ 226.153299] Exit: dla_prepare_operation status=0
[ 226.157901] Enter: dla_program_operation
[ 226.161808] Program PDP operation index 0 ROI 0 Group[0]
[ 226.167105] group id 0 rdma id 0
[ 226.170328] no desc get due to index==-1
[ 226.174220] no desc get due to index==-1
[ 226.178125] no desc get due to index==-1
[ 226.182032] no desc get due to index==-1
[ 226.185938] no desc get due to index==-1
[ 226.189845] no desc get due to index==-1
[ 226.193751] no desc get due to index==-1
[ 226.197658] Enter: dla_op_programmed
[ 226.201217] Exit: dla_op_programmed
[ 226.204690] Exit: dla_program_operation status=0
[ 226.209292] Enter: dla_enable_operation
[ 226.213113] Enable PDP operation index 0 ROI 0
[ 226.217537] group id 0 rdma id 0
[ 226.220750] rdma needed 1
[ 226.223346] Enter: dla_op_enabled
[ 226.226652] Exit: dla_op_enabled
[ 226.229863] Exit: dla_enable_operation status=0
[ 226.234379] Exit: dla_submit_operation
[ 226.238110] Enter: dla_dequeue_operation
[ 226.242018] exit PDP as there's no further operation
[ 226.246965] Exit: dla_dequeue_operation
[ 226.250786] Exit: dla_initiate_processors status=0
[ 226.255559] Enter:dla_handle_events, processor:BDMA
[ 226.260415] Exit:dla_handle_events, ret:0
[ 226.264407] Enter:dla_handle_events, processor:Convolution
[ 226.269877] Exit:dla_handle_events, ret:0
[ 226.273869] Enter:dla_handle_events, processor:SDP
[ 226.278644] Exit:dla_handle_events, ret:0
[ 226.282637] Enter:dla_handle_events, processor:PDP
[ 226.287412] Handle op complete event, processor PDP group 0
[ 226.292969] Enter:dla_op_completion processor PDP group0
[ 226.298264] Completed PDP operation index 0 ROI 0
[ 226.302952] 1 HWLs done, totally 1 layers
[ 226.306945] Enter: dla_free_op_desc op desc index 0 ROI 0
[ 226.312327] Exit: dla_free_op_desc
[ 226.315712] Exit:dla_op_completion processor PDP group0 status=0
[ 226.321702] Exit:dla_handle_events, ret:0
[ 226.325694] Enter:dla_handle_events, processor:CDP
[ 226.330469] Exit:dla_handle_events, ret:0
[ 226.334462] Enter:dla_handle_events, processor:RUBIK
[ 226.339411] Exit:dla_handle_events, ret:0
[ 226.343417] reset engine done
Shutdown signal received, exiting
Test pass
= Run CONV/CONV_D_L0_0_small_fbuf
creating new runtime context...
Emulator starting
submitting tasks...
[ 226.625387] Enter:dla_read_network_config
[ 226.631046] Exit:dla_read_network_config status=0
[ 226.635725] Enter: dla_initiate_processors
[ 226.639803] Enter: dla_submit_operation
[ 226.643623] Prepare Convolution operation index 0 ROI 0 dep_count 1
[ 226.649872] Enter: dla_prepare_operation
[ 226.653779] processor:Convolution group:0, rdma_group:0 available
[ 226.659855] Enter: dla_read_config
[ 226.663247] Exit: dla_read_config
[ 226.666537] Exit: dla_prepare_operation status=0
[ 226.671140] Enter: dla_program_operation
[ 226.675045] Program Convolution operation index 0 ROI 0 Group[0]
[ 226.681060] no desc get due to index==-1
[ 226.684943] no desc get due to index==-1
[ 226.688850] no desc get due to index==-1
[ 226.692753] no desc get due to index==-1
[ 226.696660] no desc get due to index==-1
[ 226.700560] no desc get due to index==-1
[ 226.704473] Enter: dla_op_programmed
[ 226.708033] Update dependency operation index 1 ROI 0 DEP_COUNT=1
[ 226.714111] enable SDP in dla_update_dependency as depdency are resolved
[ 226.720794] Enter: dla_enable_operation
[ 226.724614] exit dla_enable_operation without actual enable due to processor hasn't been programmed
[ 226.733646] Exit: dla_enable_operation status=0
[ 226.738156] Exit: dla_op_programmed
[ 226.741627] Exit: dla_program_operation status=0
[ 226.746230] Exit: dla_submit_operation
[ 226.749961] Enter: dla_dequeue_operation
[ 226.753868] exit Convolution as there's no further operation
[ 226.759510] Exit: dla_dequeue_operation
[ 226.763331] Enter: dla_submit_operation
[ 226.767150] Prepare SDP operation index 1 ROI 0 dep_count 0
[ 226.772706] Enter: dla_prepare_operation
[ 226.776612] processor:SDP group:0, rdma_group:0 available
[ 226.781994] Enter: dla_read_config
[ 226.785385] Exit: dla_read_config
[ 226.788678] Exit: dla_prepare_operation status=0
[ 226.793278] Enter: dla_program_operation
[ 226.797186] Program SDP operation index 1 ROI 0 Group[0]
[ 226.802489] no desc get due to index==-1
[ 226.806386] no desc get due to index==-1
[ 226.810292] no desc get due to index==-1
[ 226.814199] no desc get due to index==-1
[ 226.818104] no desc get due to index==-1
[ 226.822012] no desc get due to index==-1
[ 226.825918] Enter: dla_op_programmed
[ 226.829486] Exit: dla_op_programmed
[ 226.832950] Exit: dla_program_operation status=0
[ 226.837557] Enter: dla_enable_operation
[ 226.841371] Enable SDP operation index 1 ROI 0
[ 226.845799] Enter: dla_op_enabled
[ 226.849096] Update dependency operation index 0 ROI 0 DEP_COUNT=1
[ 226.855175] enable Convolution in dla_update_dependency as depdency are resolved
[ 226.862554] Enter: dla_enable_operation
[ 226.866374] Enable Convolution operation index 0 ROI 0
[ 226.871496] Enter: dla_op_enabled
[ 226.874792] Exit: dla_op_enabled
[ 226.878003] Exit: dla_enable_operation status=0
[ 226.882518] Exit: dla_op_enabled
[ 226.885729] Exit: dla_enable_operation status=0
[ 226.890245] Exit: dla_submit_operation
[ 226.893977] Enter: dla_dequeue_operation
[ 226.897883] exit SDP as there's no further operation
[ 226.902831] Exit: dla_dequeue_operation
[ 226.906652] Exit: dla_initiate_processors status=0
[ 226.911426] Enter:dla_handle_events, processor:BDMA
[ 226.916281] Exit:dla_handle_events, ret:0
[ 226.920273] Enter:dla_handle_events, processor:Convolution
[ 226.925743] Handle cdma weight done event, processor Convolution group 0
[ 226.932428] Handle cdma data done event, processor Convolution group 0
[ 226.938938] Handle op complete event, processor Convolution group 0
[ 226.945189] Enter:dla_op_completion processor Convolution group0
[ 226.951178] Completed Convolution operation index 0 ROI 0
[ 226.956560] 1 HWLs done, totally 2 layers
[ 226.960552] Enter: dla_dequeue_operation
[ 226.964458] exit Convolution as there's no further operation
[ 226.970102] Exit: dla_dequeue_operation
[ 226.973921] Exit:dla_op_completion processor Convolution group0 status=0
[ 226.980606] Exit:dla_handle_events, ret:0
[ 226.984598] Enter:dla_handle_events, processor:SDP
[ 226.989373] Handle op complete event, processor SDP group 0
[ 226.994929] Enter:dla_op_completion processor SDP group0
[ 227.000225] Completed SDP operation index 1 ROI 0
[ 227.004912] 2 HWLs done, totally 2 layers
[ 227.008906] Enter: dla_free_op_desc op desc index 0 ROI 0
[ 227.014288] Exit: dla_free_op_desc
[ 227.017673] Enter: dla_free_op_desc op desc index 1 ROI 0
[ 227.023055] Exit: dla_free_op_desc
[ 227.026441] Exit:dla_op_completion processor SDP group0 status=0
[ 227.032431] Exit:dla_handle_events, ret:0
[ 227.036423] Enter:dla_handle_events, processor:PDP
[ 227.041198] Exit:dla_handle_events, ret:0
[ 227.045191] Enter:dla_handle_events, processor:CDP
[ 227.049966] Exit:dla_handle_events, ret:0
[ 227.053958] Enter:dla_handle_events, processor:RUBIK
[ 227.058907] Exit:dla_handle_events, ret:0
[ 227.062911] reset engine done
Shutdown signal received, exiting
Test pass
= Run SDP/SDP_X1_L0_0_small_fbuf
creating new runtime context...
Emulator starting
submitting tasks...
[ 227.635347] Enter:dla_read_network_config
[ 227.641005] Exit:dla_read_network_config status=0
[ 227.645681] Enter: dla_initiate_processors
[ 227.649763] Enter: dla_submit_operation
[ 227.653581] Prepare SDP operation index 0 ROI 0 dep_count 0
[ 227.659135] Enter: dla_prepare_operation
[ 227.663043] processor:SDP group:1, rdma_group:0 available
[ 227.668423] Enter: dla_read_config
[ 227.671816] Exit: dla_read_config
[ 227.675107] Exit: dla_prepare_operation status=0
[ 227.679709] Enter: dla_program_operation
[ 227.683614] Program SDP operation index 0 ROI 0 Group[1]
[ 227.688926] no desc get due to index==-1
[ 227.692816] no desc get due to index==-1
[ 227.696723] no desc get due to index==-1
[ 227.700628] no desc get due to index==-1
[ 227.704528] no desc get due to index==-1
[ 227.708441] no desc get due to index==-1
[ 227.712347] no desc get due to index==-1
[ 227.716254] Enter: dla_op_programmed
[ 227.719813] Exit: dla_op_programmed
[ 227.723287] Exit: dla_program_operation status=0
[ 227.727887] Enter: dla_enable_operation
[ 227.731708] Enable SDP operation index 0 ROI 0
[ 227.736134] Enter: dla_op_enabled
[ 227.739432] Exit: dla_op_enabled
[ 227.742643] Exit: dla_enable_operation status=0
[ 227.747159] Exit: dla_submit_operation
[ 227.750891] Enter: dla_dequeue_operation
[ 227.754798] exit SDP as there's no further operation
[ 227.759745] Exit: dla_dequeue_operation
[ 227.763566] Exit: dla_initiate_processors status=0
[ 227.768340] Enter:dla_handle_events, processor:BDMA
[ 227.773196] Exit:dla_handle_events, ret:0
[ 227.777188] Enter:dla_handle_events, processor:Convolution
[ 227.782657] Exit:dla_handle_events, ret:0
[ 227.786649] Enter:dla_handle_events, processor:SDP
[ 227.791425] Handle op complete event, processor SDP group 1
[ 227.796981] Enter:dla_op_completion processor SDP group1
[ 227.802276] Completed SDP operation index 0 ROI 0
[ 227.806964] 1 HWLs done, totally 1 layers
[ 227.810957] Enter: dla_free_op_desc op desc index 0 ROI 0
[ 227.816340] Exit: dla_free_op_desc
[ 227.819724] Exit:dla_op_completion processor SDP group1 status=0
[ 227.825714] Exit:dla_handle_events, ret:0
[ 227.829707] Enter:dla_handle_events, processor:PDP
[ 227.834482] Exit:dla_handle_events, ret:0
[ 227.838475] Enter:dla_handle_events, processor:CDP
[ 227.843249] Exit:dla_handle_events, ret:0
[ 227.847242] Enter:dla_handle_events, processor:RUBIK
[ 227.852191] Exit:dla_handle_events, ret:0
[ 227.856194] reset engine done
Shutdown signal received, exiting
Test pass
= Run CDP/CDP_L0_0_small_fbuf
creating new runtime context...
Emulator starting
submitting tasks...
[ 228.144982] Enter:dla_read_network_config
[ 228.150653] Exit:dla_read_network_config status=0
[ 228.155327] Enter: dla_initiate_processors
[ 228.159409] Enter: dla_submit_operation
[ 228.163226] Prepare CDP operation index 0 ROI 0 dep_count 0
[ 228.168781] Enter: dla_prepare_operation
[ 228.172691] processor:CDP group:0, rdma_group:0 available
[ 228.178068] Enter: dla_read_config
[ 228.181461] Exit: dla_read_config
[ 228.184752] Exit: dla_prepare_operation status=0
[ 228.189354] Enter: dla_program_operation
[ 228.193259] Program CDP operation index 0 ROI 0 Group[0]
[ 228.198556] Enter: dla_cdp_program
[ 228.198563] Enter: processor_cdp_program
[ 228.205953] Exit: processor_cdp_program
[ 228.205955] Exit: dla_cdp_program
[ 228.209712] no desc get due to index==-1
[ 228.216913] no desc get due to index==-1
[ 228.220821] no desc get due to index==-1
[ 228.224726] no desc get due to index==-1
[ 228.228634] no desc get due to index==-1
[ 228.232534] no desc get due to index==-1
[ 228.236446] no desc get due to index==-1
[ 228.240352] Enter: dla_op_programmed
[ 228.243912] Exit: dla_op_programmed
[ 228.247386] Exit: dla_program_operation status=0
[ 228.251986] Enter: dla_enable_operation
[ 228.255805] Enable CDP operation index 0 ROI 0
[ 228.260233] Enter: dla_cdp_enable
[ 228.263530] Exit: dla_cdp_enable
[ 228.266743] Enter: dla_op_enabled
[ 228.270041] Exit: dla_op_enabled
[ 228.273255] Exit: dla_enable_operation status=0
[ 228.277767] Exit: dla_submit_operation
[ 228.281501] Enter: dla_dequeue_operation
[ 228.285407] exit CDP as there's no further operation
[ 228.290356] Exit: dla_dequeue_operation
[ 228.294174] Exit: dla_initiate_processors status=0
[ 228.298951] Enter:dla_handle_events, processor:BDMA
[ 228.303805] Exit:dla_handle_events, ret:0
[ 228.307797] Enter:dla_handle_events, processor:Convolution
[ 228.313267] Exit:dla_handle_events, ret:0
[ 228.317259] Enter:dla_handle_events, processor:SDP
[ 228.322034] Exit:dla_handle_events, ret:0
[ 228.326027] Enter:dla_handle_events, processor:PDP
[ 228.330802] Exit:dla_handle_events, ret:0
[ 228.334794] Enter:dla_handle_events, processor:CDP
[ 228.339569] Handle op complete event, processor CDP group 0
[ 228.345126] Enter:dla_op_completion processor CDP group0
[ 228.350421] Completed CDP operation index 0 ROI 0
[ 228.355109] 1 HWLs done, totally 1 layers
[ 228.359102] Enter: dla_free_op_desc op desc index 0 ROI 0
[ 228.364484] Exit: dla_free_op_desc
[ 228.367869] Exit:dla_op_completion processor CDP group0 status=0
[ 228.373859] Exit:dla_handle_events, ret:0
[ 228.377851] Enter:dla_handle_events, processor:RUBIK
[ 228.382800] Exit:dla_handle_events, ret:0
[ 228.386814] reset engine done
Shutdown signal received, exiting
Test pass
= Run NN/NN_L0_1_small_fbuf
creating new runtime context...
Emulator starting
submitting tasks...
[ 231.546798] Enter:dla_read_network_config
[ 231.552459] Exit:dla_read_network_config status=0
[ 231.557136] Enter: dla_initiate_processors
[ 231.561215] Enter: dla_submit_operation
[ 231.565033] Prepare Convolution operation index 0 ROI 0 dep_count 1
[ 231.571281] Enter: dla_prepare_operation
[ 231.575192] processor:Convolution group:1, rdma_group:0 available
[ 231.581264] Enter: dla_read_config
[ 231.584657] Exit: dla_read_config
[ 231.587941] Exit: dla_prepare_operation status=0
[ 231.592549] Enter: dla_program_operation
[ 231.596455] Program Convolution operation index 0 ROI 0 Group[1]
[ 231.602471] no desc get due to index==-1
[ 231.606353] no desc get due to index==-1
[ 231.610265] no desc get due to index==-1
[ 231.614165] no desc get due to index==-1
[ 231.618070] no desc get due to index==-1
[ 231.621976] Enter: dla_op_programmed
[ 231.625537] Update dependency operation index 2 ROI 0 DEP_COUNT=2
[ 231.631613] Update dependency operation index 1 ROI 0 DEP_COUNT=1
[ 231.637691] enable SDP in dla_update_dependency as depdency are resolved
[ 231.644374] Enter: dla_enable_operation
[ 231.648195] exit dla_enable_operation without actual enable due to processor hasn't been programmed
[ 231.657225] Exit: dla_enable_operation status=0
[ 231.661736] Exit: dla_op_programmed
[ 231.665207] Exit: dla_program_operation status=0
[ 231.669809] Exit: dla_submit_operation
[ 231.673541] Enter: dla_dequeue_operation
[ 231.677449] Dequeue op from Convolution processor, index=2 ROI=0
[ 231.683437] Enter: dla_submit_operation
[ 231.687258] Prepare Convolution operation index 2 ROI 0 dep_count 1
[ 231.693507] Enter: dla_prepare_operation
[ 231.697418] processor:Convolution group:0, rdma_group:0 available
[ 231.703490] Enter: dla_read_config
[ 231.706883] Exit: dla_read_config
[ 231.710174] Exit: dla_prepare_operation status=0
[ 231.714775] Enter: dla_program_operation
[ 231.718681] Program Convolution operation index 2 ROI 0 Group[0]
[ 231.724694] no desc get due to index==-1
[ 231.728573] no desc get due to index==-1
[ 231.732485] no desc get due to index==-1
[ 231.736390] no desc get due to index==-1
[ 231.740297] no desc get due to index==-1
[ 231.744202] Enter: dla_op_programmed
[ 231.747763] Update dependency operation index 6 ROI 0 DEP_COUNT=3
[ 231.753840] Update dependency operation index 3 ROI 0 DEP_COUNT=2
[ 231.759916] Exit: dla_op_programmed
[ 231.763391] Exit: dla_program_operation status=0
[ 231.767990] Exit: dla_submit_operation
[ 231.771721] Exit: dla_dequeue_operation
[ 231.775542] Enter: dla_submit_operation
[ 231.779361] Prepare SDP operation index 1 ROI 0 dep_count 0
[ 231.784917] Enter: dla_prepare_operation
[ 231.788824] processor:SDP group:0, rdma_group:1 available
[ 231.794206] Enter: dla_read_config
[ 231.797597] Exit: dla_read_config
[ 231.800890] Exit: dla_prepare_operation status=0
[ 231.805490] Enter: dla_program_operation
[ 231.809398] Program SDP operation index 1 ROI 0 Group[0]
[ 231.814705] no desc get due to index==-1
[ 231.818598] no desc get due to index==-1
[ 231.822503] no desc get due to index==-1
[ 231.826415] no desc get due to index==-1
[ 231.830317] Enter: dla_op_programmed
[ 231.833877] Update dependency operation index 3 ROI 0 DEP_COUNT=1
[ 231.839954] enable SDP in dla_update_dependency as depdency are resolved
[ 231.846638] Enter: dla_enable_operation
[ 231.850457] exit dla_enable_operation without actual enable due to processor hasn't been programmed
[ 231.859490] Exit: dla_enable_operation status=0
[ 231.864000] Exit: dla_op_programmed
[ 231.867472] Exit: dla_program_operation status=0
[ 231.872072] Enter: dla_enable_operation
[ 231.875893] Enable SDP operation index 1 ROI 0
[ 231.880320] Enter: dla_op_enabled
[ 231.883618] Update dependency operation index 0 ROI 0 DEP_COUNT=1
[ 231.889696] enable Convolution in dla_update_dependency as depdency are resolved
[ 231.897076] Enter: dla_enable_operation
[ 231.900893] Enable Convolution operation index 0 ROI 0
[ 231.906019] Enter: dla_op_enabled
[ 231.909313] Exit: dla_op_enabled
[ 231.912519] Exit: dla_enable_operation status=0
[ 231.917039] Exit: dla_op_enabled
[ 231.920244] Exit: dla_enable_operation status=0
[ 231.924765] Exit: dla_submit_operation
[ 231.928491] Enter: dla_dequeue_operation
[ 231.932405] Dequeue op from SDP processor, index=3 ROI=0
[ 231.937700] Enter: dla_submit_operation
[ 231.941520] Prepare SDP operation index 3 ROI 0 dep_count 0
[ 231.947075] Enter: dla_prepare_operation
[ 231.950986] processor:SDP group:1, rdma_group:0 available
[ 231.956364] Enter: dla_read_config
[ 231.959756] Exit: dla_read_config
[ 231.963047] Exit: dla_prepare_operation status=0
[ 231.967649] Enter: dla_program_operation
[ 231.971555] Program SDP operation index 3 ROI 0 Group[1]
[ 231.976860] no desc get due to index==-1
[ 231.980756] no desc get due to index==-1
[ 231.984667] no desc get due to index==-1
[ 231.988563] no desc get due to index==-1
[ 231.992476] Enter: dla_op_programmed
[ 231.996035] Update dependency operation index 7 ROI 0 DEP_COUNT=2
[ 232.002113] Exit: dla_op_programmed
[ 232.005584] Exit: dla_program_operation status=0
[ 232.010186] Enter: dla_enable_operation
[ 232.014005] Enable SDP operation index 3 ROI 0
[ 232.018437] Enter: dla_op_enabled
[ 232.021731] Update dependency operation index 2 ROI 0 DEP_COUNT=1
[ 232.027808] enable Convolution in dla_update_dependency as depdency are resolved
[ 232.035188] Enter: dla_enable_operation
[ 232.039006] Enable Convolution operation index 2 ROI 0
[ 232.044130] Enter: dla_op_enabled
[ 232.047426] Exit: dla_op_enabled
[ 232.050637] Exit: dla_enable_operation status=0
[ 232.055153] Exit: dla_op_enabled
[ 232.058363] Exit: dla_enable_operation status=0
[ 232.062878] Exit: dla_submit_operation
[ 232.066610] Exit: dla_dequeue_operation
[ 232.070434] Enter: dla_submit_operation
[ 232.074250] Prepare PDP operation index 5 ROI 0 dep_count 1
[ 232.079807] Enter: dla_prepare_operation
[ 232.083713] processor:PDP group:1, rdma_group:1 available
[ 232.089095] Enter: dla_read_config
[ 232.092480] Exit: dla_read_config
[ 232.095779] Exit: dla_prepare_operation status=0
[ 232.100379] Enter: dla_program_operation
[ 232.104287] Program PDP operation index 5 ROI 0 Group[1]
[ 232.109582] group id 1 rdma id 1
[ 232.112808] no desc get due to index==-1
[ 232.116698] no desc get due to index==-1
[ 232.120607] no desc get due to index==-1
[ 232.124505] no desc get due to index==-1
[ 232.128419] no desc get due to index==-1
[ 232.132323] Enter: dla_op_programmed
[ 232.135884] Update dependency operation index 11 ROI 0 DEP_COUNT=2
[ 232.142048] Exit: dla_op_programmed
[ 232.145520] Exit: dla_program_operation status=0
[ 232.150120] Exit: dla_submit_operation
[ 232.153853] Enter: dla_dequeue_operation
[ 232.157760] Dequeue op from PDP processor, index=11 ROI=0
[ 232.163143] Enter: dla_submit_operation
[ 232.166962] Prepare PDP operation index 11 ROI 0 dep_count 1
[ 232.172608] Enter: dla_prepare_operation
[ 232.176505] processor:PDP group:0, rdma_group:0 available
[ 232.181894] Enter: dla_read_config
[ 232.185284] Exit: dla_read_config
[ 232.188570] Exit: dla_prepare_operation status=0
[ 232.193178] Enter: dla_program_operation
[ 232.197085] Program PDP operation index 11 ROI 0 Group[0]
[ 232.202467] group id 0 rdma id 0
[ 232.205691] no desc get due to index==-1
[ 232.209588] no desc get due to index==-1
[ 232.213491] no desc get due to index==-1
[ 232.217398] no desc get due to index==-1
[ 232.221302] no desc get due to index==-1
[ 232.225210] Enter: dla_op_programmed
[ 232.228769] Update dependency operation index 22 ROI 0 DEP_COUNT=2
[ 232.234933] Exit: dla_op_programmed
[ 232.238403] Exit: dla_program_operation status=0
[ 232.243006] Exit: dla_submit_operation
[ 232.246738] Exit: dla_dequeue_operation
[ 232.250559] Enter: dla_submit_operation
[ 232.254378] Prepare CDP operation index 4 ROI 0 dep_count 2
[ 232.259934] Enter: dla_prepare_operation
[ 232.263841] processor:CDP group:1, rdma_group:1 available
[ 232.269223] Enter: dla_read_config
[ 232.272616] Exit: dla_read_config
[ 232.275900] Exit: dla_prepare_operation status=0
[ 232.280508] Enter: dla_program_operation
[ 232.284414] Program CDP operation index 4 ROI 0 Group[1]
[ 232.289710] Enter: dla_cdp_program
[ 232.289716] Enter: processor_cdp_program
[ 232.297105] Exit: processor_cdp_program
[ 232.297107] Exit: dla_cdp_program
[ 232.300865] no desc get due to index==-1
[ 232.308068] no desc get due to index==-1
[ 232.311975] no desc get due to index==-1
[ 232.315882] no desc get due to index==-1
[ 232.319788] no desc get due to index==-1
[ 232.323693] Enter: dla_op_programmed
[ 232.327255] Update dependency operation index 10 ROI 0 DEP_COUNT=3
[ 232.333418] Exit: dla_op_programmed
[ 232.336889] Exit: dla_program_operation status=0
[ 232.341489] Exit: dla_submit_operation
[ 232.345223] Enter: dla_dequeue_operation
[ 232.349129] Dequeue op from CDP processor, index=10 ROI=0
[ 232.354513] Enter: dla_submit_operation
[ 232.358331] Prepare CDP operation index 10 ROI 0 dep_count 2
[ 232.363975] Enter: dla_prepare_operation
[ 232.367881] processor:CDP group:0, rdma_group:0 available
[ 232.373263] Enter: dla_read_config
[ 232.376653] Exit: dla_read_config
[ 232.379940] Exit: dla_prepare_operation status=0
[ 232.384548] Exit: dla_submit_operation
[ 232.388279] Exit: dla_dequeue_operation
[ 232.392100] Exit: dla_initiate_processors status=0
[ 232.396875] Enter:dla_handle_events, processor:BDMA
[ 232.401730] Exit:dla_handle_events, ret:0
[ 232.405722] Enter:dla_handle_events, processor:Convolution
[ 232.411192] Exit:dla_handle_events, ret:0
[ 232.415184] Enter:dla_handle_events, processor:SDP
[ 232.419959] Exit:dla_handle_events, ret:0
[ 232.423952] Enter:dla_handle_events, processor:PDP
[ 232.428727] Exit:dla_handle_events, ret:0
[ 232.432719] Enter:dla_handle_events, processor:CDP
[ 232.437494] Exit:dla_handle_events, ret:0
[ 232.441487] Enter:dla_handle_events, processor:RUBIK
[ 232.44643

then, the process stalls and the FPGA is not responding anymore. Does anyone have an idea of which could be the problem? I wil really appreciate your help, thank you

build error in nv_small_256

你好,直接build nv_small是成功的,但是在build nv_small_256是遇到了一个错误,我修改tree.make
PROJECTS := nv_small_256
执行命令:./tools/bin/tmake -build ready_for_test
出现错误:
make: *** [vcs_build] Error 255
Died at ./tools/bin/tmake line 254.
[TMAKE]: DONE
在outdir下,查看log
$ cat nv_small_256.verif_trace_player.log

Parsing library file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/vlibs/NV_DW02_tree.v'
Parsing library file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/vlibs/NV_DW_lsd.v'
Parsing library file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/vlibs/NV_DW_minmax.v'
Parsing library directory file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/rams/model/RAMDP_128X11_GL_M2_E2.v'
Parsing library directory file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/rams/model/RAMDP_80X14_GL_M2_E2.v'
Parsing library directory file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/rams/model/RAMPDP_160X16_GL_M2_D2.v'
Parsing library directory file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/rams/model/RAMPDP_160X65_GL_M2_D2.v'
Parsing library directory file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/rams/synth/nv_ram_rwsp_80x65_logic.v'
Parsing library file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/nvdla/nocif/NV_NVDLA_XXIF_libs.v'
Parsing included file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/include/simulate_x_tick.vh'.
Back to file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/nvdla/nocif/NV_NVDLA_XXIF_libs.v'.
Parsing included file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/include/simulate_x_tick.vh'.
Back to file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/nvdla/nocif/NV_NVDLA_XXIF_libs.v'.
Parsing included file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/include/simulate_x_tick.vh'.
Back to file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/nvdla/nocif/NV_NVDLA_XXIF_libs.v'.
Parsing included file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/include/simulate_x_tick.vh'.
Back to file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/nvdla/nocif/NV_NVDLA_XXIF_libs.v'.
Parsing library file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/vlibs/RANDFUNC.vlib'
Parsing library file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/vlibs/nv_assert_no_x.vlib'
Parsing included file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/vlibs/assertion_header.vh'.
Back to file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/vlibs/nv_assert_no_x.vlib'.
Parsing included file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/vlibs/assertion_task.vh'.
Back to file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/vlibs/nv_assert_no_x.vlib'.
Parsing library file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/vlibs/NV_DW02_tree.v'
Parsing library file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/vlibs/NV_DW_lsd.v'
Parsing library file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/vlibs/NV_DW_minmax.v'
Parsing library directory file '/home/mengxiao/NVDLA/hw-nv_small1/outdir/nv_small_256/vmod/rams/model/RAMPDP_80X66_GL_M1_D2.v'
1 error
CPU time: 1.774 seconds to compile
Makefile:330: recipe for target 'vcs_build' failed
make: *** [vcs_build] Error 255

问一下,吴老师,这是什么问题,您在build nv_small_256时有遇到问题吗?
谢谢~~

where can find the compatible device info in kernel

I see below code in umd driver:
static const struct of_device_id nvdla_of_match[] = {
{
.compatible = "nvidia,nvdla_os_initial",
.data = &nvdla_config_os_initial,
},
{
.compatible = "nvidia,nvdla_2",
.data = &nvdla_config_small,
},
{ },
};

could you tell me which dts file for this?

thanks

what Verdi used for?

[TMAKE]: building nv_small in verif/testbench/trace_generator 
/bin/mkdir -p ../../../outdir/nv_small/verif/testbench/trace_generator
/home/nvdla/synopsys/bin/vcs +incdir+/home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/spec/manual +incdir+/home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/verif/ral +incdir+/home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/verif/vip/csb_agent +incdir+/home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/verif/testbench/trace_generator/env +incdir+/home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/verif/testbench/trace_generator/scenarios +incdir+/home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/verif/testbench/trace_generator/resources +incdir+/home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/verif/tests/uvm_tests +incdir+/home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/verif/coverage   +incdir+/home/nvdla/NVDLA/git-nvdla/nvdla/verif/vip/mem_man +incdir+/home/nvdla/NVDLA/git-nvdla/nvdla/verif/vip/surface_generator +incdir+/home/nvdla/NVDLA/git-nvdla/nvdla/verif/vip/csb_agent  -sverilog -ntb_opts uvm-1.2 -timescale=1ns/1ns -assert enable_diag -line -full64 +v2k +libext+.vlib+.v+.sv+.svh +warn=noTFIPC +warn=noTMR /home/tools/debussy/verdi3_2016.06-SP2-9/share/PLI/VCS/LINUX64/pli.a +vcsd -P /home/tools/debussy/verdi3_2016.06-SP2-9/share/PLI/VCS/LINUX64/novas.tab  /home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/spec/defs/project.vh /home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/verif/testbench/trace_generator/env/fp_func_dpi.cpp /home/nvdla/NVDLA/git-nvdla/nvdla/verif/vip/mem_man/mem_man_pkg.sv /home/nvdla/NVDLA/git-nvdla/nvdla/verif/vip/surface_generator/surface_generator_pkg.sv /home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/spec/manual/ordt_uvm_reg_pkg.sv /home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/verif/ral/nvdla_ral_pkg.sv /home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/verif/vip/csb_agent/csb_pkg.sv /home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/verif/coverage/nvdla_coverage_pkg.sv /home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/verif/testbench/trace_generator/resources/nvdla_resource_pkg.sv /home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/verif/testbench/trace_generator/scenarios/nvdla_scenario_pkg.sv /home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/verif/testbench/trace_generator/env/nvdla_tg_common.svh /home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/verif/testbench/trace_generator/env/nvdla_tg_core.sv /home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/verif/testbench/trace_generator/env/nvdla_tg_base_test.sv /home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/verif/testbench/trace_generator/env/nvdla_tg_top.sv /home/nvdla/NVDLA/git-nvdla/nvdla/outdir/nv_small/verif/tests/uvm_tests/nvdla_test_suite.sv -l ../../../outdir/nv_small/verif/testbench/trace_generator/simv.build.log -o ../../../outdir/nv_small/verif/testbench/trace_generator/simv -Mdir=../../../outdir/nv_small/verif/testbench/trace_generatorcsrc
                         Chronologic VCS (TM)
         Version L-2016.06_Full64 -- Mon Apr 23 17:57:34 2018
               Copyright (c) 1991-2016 by Synopsys Inc.
                         ALL RIGHTS RESERVED

This program is proprietary and confidential information of Synopsys Inc.
and may be used and disclosed only as authorized in a license agreement
controlling such use and disclosure.


Error-[COP_PLI_TAB] Cannot open pli table file
  Cannot open pli table file 
  '/home/tools/debussy/verdi3_2016.06-SP2-9/share/PLI/VCS/LINUX64/novas.tab'.
  Please make sure tab file exists and readable.

Bad command line arg encountered

VP make error

Hello Mr Wu,

When I make the VP target in step 2.4.2 Compile and install, I get the follow error
Can you help to check

Linking CXX shared library _gsp_sc.so
/usr/local/lib/libpython2.7.a(posixmodule.o): In function posix_tmpnam': /home/abc/tools/Python-2.7.9/./Modules/posixmodule.c:7575: warning: the use of tmpnam_r' is dangerous, better use mkstemp' /usr/local/lib/libpython2.7.a(posixmodule.o): In function posix_tempnam':
/home/abc/tools/Python-2.7.9/./Modules/posixmodule.c:7522: warning: the use of tempnam' is dangerous, better use mkstemp'
/usr/bin/ld: /usr/local/lib/libpython2.7.a(abstract.o): relocation R_X86_64_32S against symbol _Py_NotImplementedStruct' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(boolobject.o): relocation R_X86_64_32 against .data' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(capsule.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(classobject.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(exceptions.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(floatobject.o): relocation R_X86_64_32S against symbol PyFloat_Type' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(intobject.o): relocation R_X86_64_32S against symbol PyInt_Type' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(iterobject.o): relocation R_X86_64_32 against symbol PySeqIter_Type' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(listobject.o): relocation R_X86_64_32 against symbol _Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(longobject.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(dictobject.o): relocation R_X86_64_32S against symbol PyDict_Type' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(methodobject.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(moduleobject.o): relocation R_X86_64_32 against .data' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(object.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(obmalloc.o): relocation R_X86_64_32S against .data' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(rangeobject.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(setobject.o): relocation R_X86_64_32S against symbol PyString_Type' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(sliceobject.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(stringobject.o): relocation R_X86_64_32 against .rodata.str1.8' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(structseq.o): relocation R_X86_64_32 against .data' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(tupleobject.o): relocation R_X86_64_32 against symbol _PyEval_SliceIndex' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(typeobject.o): relocation R_X86_64_32 against .text' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(weakrefobject.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(unicodeobject.o): relocation R_X86_64_32 against .data' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(unicodectype.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(_warnings.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(ceval.o): relocation R_X86_64_32 against .rodata.str1.8' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(compile.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(codecs.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(errors.o): relocation R_X86_64_32S against symbol PyTraceBack_Type' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(future.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(getargs.o): relocation R_X86_64_32S against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(import.o): relocation R_X86_64_32 against symbol _Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(importdl.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(marshal.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(modsupport.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(mystrtoul.o): relocation R_X86_64_32S against symbol _PyLong_DigitValue' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(peephole.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(pystate.o): relocation R_X86_64_32 against .rodata.str1.8' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(pythonrun.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(random.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(symtable.o): relocation R_X86_64_32 against .rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(sysmodule.o): relocation R_X86_64_32 against symbol _Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(traceback.o): relocation R_X86_64_32S against symbol PyTraceBack_Type' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(pystrtod.o): relocation R_X86_64_32S against symbol _Py_ctype_tolower' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(dtoa.o): relocation R_X86_64_32S against .bss' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(formatter_unicode.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(formatter_string.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(dynload_shlib.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(thread.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(getpath.o): relocation R_X86_64_32 against .rodata.str1.8' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(gcmodule.o): relocation R_X86_64_32 against symbol _Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(threadmodule.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(signalmodule.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(posixmodule.o): relocation R_X86_64_32S against symbol _Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(errnomodule.o): relocation R_X86_64_32 against .data' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(pwdmodule.o): relocation R_X86_64_32 against .bss' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(_sre.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(_codecsmodule.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(_weakref.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(zipimport.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(symtablemodule.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(xxsubtype.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(getbuildinfo.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(acceler.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(grammar1.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(parsetok.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(tokenizer.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(bufferobject.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(bytearrayobject.o): relocation R_X86_64_32 against symbol _Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(cellobject.o): relocation R_X86_64_32 against .rodata.str1.8' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(cobject.o): relocation R_X86_64_32 against symbol PyCObject_Type' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(codeobject.o): relocation R_X86_64_32S against symbol PyString_Type' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(complexobject.o): relocation R_X86_64_32 against .rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(descrobject.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(enumobject.o): relocation R_X86_64_32 against .data' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(genobject.o): relocation R_X86_64_32 against .rodata.str1.8' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(fileobject.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(frameobject.o): relocation R_X86_64_32 against symbol _Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(funcobject.o): relocation R_X86_64_32S against symbol _Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(memoryobject.o): relocation R_X86_64_32 against symbol _Py_NotImplementedStruct' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(Python-ast.o): relocation R_X86_64_32 against symbol _Py_NoneStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(ast.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(bltinmodule.o): relocation R_X86_64_32 against .rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(getcopyright.o): relocation R_X86_64_32 against .data' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(getplatform.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(getversion.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(structmember.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(parser.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(myreadline.o): relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libpython2.7.a(bytes_methods.o): relocation R_X86_64_32S against symbol _Py_ctype_table' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libpython2.7.a(getcompiler.o): relocation R_X86_64_32 against .rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
make[2]: *** [libs/greenlib/greenscript/lib/_gsp_sc.so] Error 1
make[1]: *** [libs/greenlib/greenscript/lib/CMakeFiles/_gsp_sc.dir/all] Error 2

Building KMD and UMD for NVDLA on AArch64

目前公开的KMD是针对AArch64架构处理器的,使用的Linux Kernel是4.13.3。针对DMA传输,使用的协议是DRM和GEM PRIME。

在进行KMD编译的时候,需要准备好Linux Kernel源码和交叉编译器。在这里就是
交叉编译器:https://releases.linaro.org/components/toolchain/binaries/latest/aarch64-linux-gnu/gcc-linaro-7.2.1-2017.11-i686_aarch64-linux-gnu.tar.xz
Linux Kernel源码:4.13.3

Compile Linux Kernel for arm64

cp arch/arm64/configs/defconfig .config

make ARCH=arm64 CROSS_COMPILE=~/Downloads/gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- oldconfig

make ARCH=arm64 CROSS_COMPILE=~/Downloads/gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- -k

在kmd目录下,编译KMD的命令如下:

make KDIR=<path_to_Linux_source> ARCH=arm64 CROSS_COMPILE=<path_to_toolchain>

示例:

make KDIR=your path/linux-4.13.3 ARCH=arm64 CROSS_COMPILE=your path/gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu/bin/

编译之后,将会得到kmd/port/linux/opendla.ko文件

而编译UMD就方便很多,命令如下:

export TOP=<path_to_umd>
export TOOL_CHAIN_PREFIX=$(CROSS_COMPILE)/aarch64-linux-gnu-
make

编译之后,将会得到umd/out/runtime/nvdla_runtime/nvdla_runtime和umd/out/runtime/libnvdla_runtime/libnvdla_runtime.so。

当进行NV_SMALL编译的时候,需要在脚本中添加CFLAG_MODULE='-DDLA_SMALL_CONFIG'的选项.

vp make error

@JunningWu
i follow the wiki of nvdla vp for beginners,when i run the 5th command
$ cmake -DCMAKE_INSTALL_PREFIX=build -DSYSTEMC_PREFIX=/home/nvdla/systemc-2.3.0/ -DNVDLA_HW_PREFIX=/home/nvdla/NVDLA/git-nvdlav1 -DNVDLA_HW_PROJECT=nvdla_full
$ make
i met the error :
image
can you help me how to solve it . thanks

how to compiled the code of cmod

英伟达提供了用于软件开发的的C-model,可以向你请教一下,这个C-model源码下载了以后,怎么去编译么?直接下载了以后,在linux环境下编译?

NVDLA Compiler

Hi, the NVDLA compiler does not seem to be in the UMD or anywhere? How I can compile the network?

DMA_MEMORY_MAP

int
577		dma_declare_coherent_memory(struct device *dev, phys_addr_t phys_addr,
578					    dma_addr_t device_addr, size_t size, int
579					    flags)
580	
581	Declare region of memory to be handed out by dma_alloc_coherent() when
582	it's asked for coherent memory for this device.
583	
584	phys_addr is the CPU physical address to which the memory is currently
585	assigned (this will be ioremapped so the CPU can access the region).
586	
587	device_addr is the DMA address the device needs to be programmed
588	with to actually address this memory (this will be handed out as the
589	dma_addr_t in dma_alloc_coherent()).
590	
591	size is the size of the area (must be multiples of PAGE_SIZE).
592	
593	flags can be ORed together and are:
594	
595	- DMA_MEMORY_EXCLUSIVE - only allocate memory from the declared regions.
596	  Do not allow dma_alloc_coherent() to fall back to system memory when
597	  it's out of memory in the declared region.
598	
599	As a simplification for the platforms, only *one* such region of
600	memory may be declared per device.
601	
602	For reasons of efficiency, most platforms choose to track the declared
603	region only at the granularity of a page.  For smaller allocations,
604	you should use the dma_pool() API.

Object detection

@JunningWu
Excellent work and it is very helpful. Can you please let me know if you were able to successfully perform object detection using NVDLA with any CNN. If so, it would be of great help if you can let me know the details. Waiting for your response.

NV_SMALL HALT at Exit: dla_initiate_processors status=0

’root@xilinx-zcu106-2018_3:~# ./ncdla_app.elf --loadable CONV_D_L0_0_small_fbuf
creating new runtime context...
[ 76.501503] NVDLA GEM Create Begin
[ 76.507057] NVDLA GEM Create With Handle Begin
[ 76.511501] NVDLA gem create object begin
[ 76.515517] nvdla_gem_alloc start
[ 76.518912] #size: 4096 : dma_addr: 0 :
[ 76.522837] #kvaddr: -2147483648 :
[ 76.526324] NVDLA gem create object end
[ 76.530255] NVDLA GEM Create With Handle End
[ 76.534517] NVDLA GEM Create End
[ 76.537800] NVDLA GEM Create Begin
[ 76.541208] NVDLA GEM Create With Handle Begin
[ 76.545650] NVDLA gem create object begin
[ 76.549656] nvdla_gem_alloc start
[ 76.553058] #size: 4096 : dma_addr: 0 :
[ 76.556974] #kvaddr: -2147479552 :
[ 76.560461] NVDLA gem create object end
[ 76.564391] NVDLA GEM Create With Handle End
[ 76.568655] NVDLA GEM Create End
[ 76.571896] NVDLA GEM Create Begin
[ 76.575290] NVDLA GEM Create With Handle Begin
[ 76.579725] NVDLA gem create object begin
[ 76.583733] nvdla_gem_alloc start
[ 76.587128] #size: 4096 : dma_addr: 0 :
[ 76.591051] #kvaddr: -2147475456 :
[ 76.594531] NVDLA gem create object end
[ 76.598454] NVDLA GEM Create With Handle End
[ 76.602716] NVDLA GEM Create End
[ 76.605979] NVDLA GEM Create Begin
[ 76.609376] NVDLA GEM Create With Handle Begin
[ 76.613817] NVDLA gem create object begin
[ 76.617820] nvdla_gem_alloc start
[ 76.621222] #size: 4096 : dma_addr: 0 :
[ 76.625141] #kvaddr: -2147471360 :
[ 76.628625] NVDLA gem create object end
[ 76.632544] NVDLA GEM Create With Handle End
[ 76.636809] NVDLA GEM Create End
[ 76.640058] NVDLA GEM Create Begin
[ 76.643445] NVDLA GEM Create With Handle Begin
[ 76.647893] NVDLA gem create object begin
[ 76.651898] nvdla_gem_alloc start
[ 76.655285] #size: 36864 : dma_addr: 0 :
[ 76.659300] #kvaddr: -2147418112 :
[ 76.662781] NVDLA gem create object end
[ 76.666703] NVDLA GEM Create With Handle End
[ 76.670967] NVDLA GEM Create End
[ 76.674728] NVDLA GEM Create Begin
[ 76.678129] NVDLA GEM Create With Handle Begin
[ 76.682564] NVDLA gem create object begin
[ 76.686564] nvdla_gem_alloc start
[ 76.689959] #size: 8192 : dma_addr: 0 :
[ 76.693875] #kvaddr: -2147467264 :
[ 76.697353] NVDLA gem create object end
[ 76.701269] NVDLA GEM Create With Handle End
[ 76.705530] NVDLA GEM Create End
Emulator starting
[ 76.909138] NVDLA GEM Create Begin
[ 76.912535] NVDLA GEM Create With Handle Begin
[ 76.916977] NVDLA gem create object begin
[ 76.920977] nvdla_gem_alloc start
[ 76.924372] #size: 4096 : dma_addr: 0 :
[ 76.928294] #kvaddr: -2147459072 :
[ 76.931768] NVDLA gem create object end
[ 76.935685] NVDLA GEM Create With Handle End
[ 76.939951] NVDLA GEM Create End
submitting tasks...
[ 76.943302] Enter:dla_read_network_config
[ 76.949033] Exit:dla_read_network_config status=0
[ 76.953739] Enter: dla_initiate_processors
[ 76.957838] Enter: dla_submit_operation
[ 76.961671] Prepare Convolution operation index 0 ROI 0 dep_count 1
[ 76.967930] Enter: dla_prepare_operation
[ 76.971853] processor:Convolution group:0, rdma_group:0 available
[ 76.977946] Enter: dla_read_config
[ 76.981354] Exit: dla_read_config
[ 76.984664] Exit: dla_prepare_operation status=0
[ 76.989281] Enter: dla_program_operation
[ 76.993197] Program Convolution operation index 0 ROI 0 Group[0]
[ 76.999206] Enter: dla_conv_program
[ 76.999208] Enter: processor_conv_program
[ 77.002742] Exit: processor_conv_program
[ 77.006744] Exit: dla_conv_program
[ 77.010662] no desc get due to index==-1
[ 77.017976] no desc get due to index==-1
[ 77.021895] no desc get due to index==-1
[ 77.025814] no desc get due to index==-1
[ 77.029729] no desc get due to index==-1
[ 77.033652] no desc get due to index==-1
[ 77.037568] Enter: dla_op_programmed
[ 77.041144] Update dependency operation index 1 ROI 0 DEP_COUNT=1
[ 77.047230] enable SDP in dla_update_dependency as depdency are resolved
[ 77.053929] Enter: dla_enable_operation
[ 77.057758] exit dla_enable_operation without actual enable due to processor hasn't been programmed
[ 77.066805] Exit: dla_enable_operation status=0
[ 77.071333] Exit: dla_op_programmed
[ 77.074821] Exit: dla_program_operation status=0
[ 77.079432] Exit: dla_submit_operation
[ 77.083180] Enter: dla_dequeue_operation
[ 77.087096] exit Convolution as there's no further operation
[ 77.092755] Exit: dla_dequeue_operation
[ 77.096583] Enter: dla_submit_operation
[ 77.100420] Prepare SDP operation index 1 ROI 0 dep_count 0
[ 77.105989] Enter: dla_prepare_operation
[ 77.109908] processor:SDP group:0, rdma_group:0 available
[ 77.115298] Enter: dla_read_config
[ 77.118706] Exit: dla_read_config
[ 77.122016] Exit: dla_prepare_operation status=0
[ 77.126633] Enter: dla_program_operation
[ 77.130549] Program SDP operation index 1 ROI 0 Group[0]
[ 77.135860] Enter: dla_sdp_program
[ 77.135864] Enter: processor_sdp_program
[ 77.139273] Exit: processor_sdp_program
[ 77.143195] Exit: dla_sdp_program
[ 77.147030] no desc get due to index==-1
[ 77.154251] no desc get due to index==-1
[ 77.158166] no desc get due to index==-1
[ 77.162090] no desc get due to index==-1
[ 77.166005] no desc get due to index==-1
[ 77.169928] no desc get due to index==-1
[ 77.173843] Enter: dla_op_programmed
[ 77.177419] Exit: dla_op_programmed
[ 77.180901] Exit: dla_program_operation status=0
[ 77.185518] Enter: dla_enable_operation
[ 77.189347] Enable SDP operation index 1 ROI 0
[ 77.193790] Enter: dla_sdp_enable
[ 77.193792] Exit: dla_sdp_enable
[ 77.197098] Enter: dla_op_enabled
[ 77.203627] Update dependency operation index 0 ROI 0 DEP_COUNT=1
[ 77.209719] enable Convolution in dla_update_dependency as depdency are resolved
[ 77.217115] Enter: dla_enable_operation
[ 77.220951] Enable Convolution operation index 0 ROI 0
[ 77.226091] Enter: dla_conv_enable
[ 77.229491] Enter: dla_op_enabled
[ 77.236112] Exit: dla_op_enabled
[ 77.239327] Exit: dla_enable_operation status=0
[ 77.243848] Exit: dla_op_enabled
[ 77.247070] Exit: dla_enable_operation status=0
[ 77.251599] Exit: dla_submit_operation
[ 77.255348] Enter: dla_dequeue_operation
[ 77.259264] exit SDP as there's no further operation
[ 77.264228] Exit: dla_dequeue_operation
[ 77.268057] Exit: dla_initiate_processors status=0

Do you know how NVDLA implement the non-linear activation functions

From the RTL Source code ,it use 9 bits as address for LUT , and it can 4*16bits data in parallel ;
but it divide it's table into LO and LE , what this means ? how to decide to use LO or LE ?
why it both get the LE[addr] and LE[addr+1] ?

there are also scale/shift/offset/bias after LUT , what this means ?

Where to Set VCS

Hello, I met the problem of vcs dir isn't correct. Do you know how to fix it

/home/tools/vcs/mx-2015.09-SP2-9-T0426/bin/vcs -f /usr/local/nvdla/hw/verif/dut/dut.f -Xddg=0x1 -o ./simv -cpp /home/utils/gcc-4.7.2/bin/g++ +nospecify +notimingchecks +define+VLIB_NO_UDP +warn=noTFIPC +warn=noTMR -full64 -y /usr/local/nvdla/hw/verif/synth_tb -y /usr/local/nvdla/hw/verif/../outdir/nv_full/vmod/vlibs +incdir+/usr/local/nvdla/hw/verif/synth_tb +incdir+/usr/local/nvdla/hw/verif/dut +incdir+/usr/local/nvdla/hw/verif/../outdir/nv_full/vmod/vlibs +incdir+/usr/local/nvdla/hw/verif/../outdir/nv_full/vmod/include +incdir+/usr/local/nvdla/hw/verif/../outdir/nv_full/vmod/vlibs +incdir+.. +define+DESIGNWARE_NOEXIST +vcs+lic+wait -sverilog +libext+.v +libext+.sv -timescale=1ns/1ns -debug_all +define+NVTOOLS_SYNC2D_GENERIC_CELL +define+NO_PERFMON_HISTOGRAM +define+PRAND_OFF +define+NO_DUMPS /usr/local/nvdla/hw/verif/synth_tb/tb_top.v /usr/local/nvdla/hw/verif/synth_tb/csb_master.v /usr/local/nvdla/hw/verif/synth_tb/csb_master_seq.v /usr/local/nvdla/hw/verif/synth_tb/axi_slave.v /usr/local/nvdla/hw/verif/synth_tb/id_fifo.v /usr/local/nvdla/hw/verif/synth_tb/memory.v /usr/local/nvdla/hw/verif/synth_tb/memresp_fifo.v /usr/local/nvdla/hw/verif/synth_tb/raddr_fifo.v /usr/local/nvdla/hw/verif/synth_tb/slave_mem_wrap.v /usr/local/nvdla/hw/verif/synth_tb/waddr_fifo.v /usr/local/nvdla/hw/verif/synth_tb/wdata_fifo.v /usr/local/nvdla/hw/verif/synth_tb/wstrb_fifo.v /usr/local/nvdla/hw/verif/synth_tb/clk_divider.v /usr/local/nvdla/hw/verif/synth_tb/slave2mem_rd.v /usr/local/nvdla/hw/verif/synth_tb/slave2mem_wr.v /usr/local/nvdla/hw/verif/../outdir/nv_full/vmod/vlibs/NV_DW02_tree.v /usr/local/nvdla/hw/verif/../outdir/nv_full/vmod/vlibs/NV_DW_lsd.v /usr/local/nvdla/hw/verif/../outdir/nv_full/vmod/vlibs/NV_DW_minmax.v -l ./simv.compile.log -Mdir=./simvCsrc ; ./checkcompile.pl ./simv.compile.log ./simv
/bin/sh: 1: /home/tools/vcs/mx-2015.09-SP2-9-T0426/bin/vcs: not found

CSB_MASTER

NV_NVDLA_csb_master模块位于顶层模块_o内部,处于外部Master和NVDLA之间,该模块内部包括两个FIFO单元,NV_NVDLA_CSB_MASTER_csb2falcon_fifo和NV_NVDLA_CSB_MASTER_falcon2csb_fifo,分别完成不同流向的数据处理工作。

在CSB_MASTER内部,还包括一组使能信号生成单元,将外部Master传入的寄存器访问信息,根据地址空间,分发给不同的模块,诸如CDMA,CMAC,CSC等。

CDMA

CDMA作为Convolution流水线的一环,从SRAM和DRAM中读取数据,并存入CBUF中。CDMA支持多种格式的数据输入,包括Pixel data /Feature data /Uncompressed/compressed weight /WMB /WGS等。CDMA具有两个读通道,AXI接口协议,分别完成数据和权值的读取。CDMA的只发出读请求,且64位对齐访问。

http://nvdla.org/_images/ias_image17_cdma.png

在CDMA的内部,存在4个子模块,分别为CDMA_DC,CDMA_WG,CDMA_IMG和一个权值读取模块CDMA_WT,每个子模块的工作流程一样,只不过数据在存入CBUF的时候顺序不同而已;且某一时刻只有一个子模块处于工作状态。

Segmentation fault when running nvdla_runtime

insmod opendla.ko

[ 46.405340] opendla: loading out-of-tree module taints kernel.
[ 46.414224] reset engine done
[ 46.421569] [drm] Initialized nvdla 0.0.0 20171017 for 10200000.nvdla on minor 0

pwd

/mnt

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mnt

./nvdla_runtime --loadable resnet1801.nvdla --image dog.jpg --normalize 1.0 --

mean 104.00698793,116.66876762,122.67891434 --rawdump
creating new runtime context...
Emulator starting
surface format: 46
dlaimg height: 300 x 450 x 3: LS: 1376 SS: 0 Size: 412800
[ 135.007866] nvdla_runtime[1274]: unhandled level 3 translation fault (11) at 0xffff8f5a4000, esr 0x92000047, in libc-2.23.so[ffff95b8e000+12c000]
[ 135.008830] CPU: 0 PID: 1274 Comm: nvdla_runtime Tainted: G O 4.13.3 #1
[ 135.009113] Hardware name: linux,dummy-virt (DT)
[ 135.009406] task: ffff80003dbaf000 task.stack: ffff80003b81c000
[ 135.009875] PC is at 0xffff95c06494
[ 135.010030] LR is at 0x409f28
[ 135.010235] pc : [<0000ffff95c06494>] lr : [<0000000000409f28>] pstate: 20000000
[ 135.010478] sp : 0000fffff985b500
[ 135.010697] x29: 0000fffff985b500 x28: 0000000000000000
[ 135.010978] x27: 0000000000000000 x26: 0000000000000000
[ 135.011175] x25: 0000000000000000 x24: 0000000000000000
[ 135.011475] x23: 0000000000000000 x22: 0000000000000000
[ 135.011672] x21: 0000000000403658 x20: 0000000000000000
[ 135.011865] x19: 0000fffff985bedf x18: 0000000000000006
[ 135.015117] x17: 0000ffff95c06380 x16: 0000000000450960
[ 135.015403] x15: 00000000fffffffa x14: 0000000000000000
[ 135.015604] x13: 0000000000000000 x12: 0000000000000000
[ 135.015802] x11: 0000c5aecf2bd040 x10: 0000000000000000
[ 135.016028] x9 : 0000000000000000 x8 : 0000000000000000
[ 135.017560] x7 : 0000ca57d075d120 x6 : 0000ffff8f5a3ff0
[ 135.017784] x5 : 0000000000000040 x4 : 0000000000000000
[ 135.017982] x3 : 0000ffff8f41c000 x2 : 0000000000296a80
[ 135.018194] x1 : 0000ffff8f0db040 x0 : 0000ffff8f41c000
Segmentation fault

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.