i.MX 8M PLUS PEVK nnshark profiler error

cancel
Showing results for 
Search instead for 
Did you mean: 

i.MX 8M PLUS PEVK nnshark profiler error

567 Views
Gustaf1
Contributor I

Hi, I have been going through the machine learning user guide (https://www.nxp.com/docs/en/user-guide/IMX-MACHINE-LEARNING-UG.pdf), i'm at the point where I wanna test the profiling tool for the imx 8m plus pevk board while running object detection inference on a video file as source. When running the inference on the video file without any profiling on, it works as expected. However after enabling the profiling the video on the waylandsink freezes after a few frames. The profiling was enabled according to the machine learning user guide:
edit u-boot editenv mmcargs to add

galcore.gpuProfiler=1 galcore.powerManagement=0

 then, after ssh into the board from my desktop, export the following

export GST_DEBUG="GST_TRACER:7"
export GST_TRACERS="live"
export GST_TRACERS_PWR_SERVER_IP=192.168.1.99

 In a terminal on the dekstop (after installing the power measurement tool https://github.com/NXPmicro/pmt) running:

user@localhost:pmt# python3 main.py server -b imx8mpevkpwra0 -p 65432

I then run my gstreamer pipeline. For debugging convenience I have reproduce the same error I get with the really long nerual network pipeline with the simple following pipeline:

GST_DEBUG_NO_COLOR=1 GST_DEBUG_FILE=gst-debug-minExamplevid.log GST_DEBUG=2 gst-launch-1.0 filesrc location=vtest.m4v ! decodebin ! waylandsink

 The error logs along with the video file can be found in the .zip attachment.

The behavior I find is that in the end both running with or without the profiler enabled I get the same warnings/errors in the logged error file. But when the inference and video seemingly works fine as long as the profiler is not enabled. When the profiler is enabled the video and inference freezes after a few frames into the video file. To me it seems weird that despite the warnings in the log it can run fine as long as the profiler is not running on top of it, any thoughts as to why this is the case?

Here are the first few lines of the error log (essentially they are repeated for every new call in the pipeline)

0:00:00.109785515 30986 0xaaab0952b100 WARN basesrc gstbasesrc.c:3688:gst_base_src_start_complete:<filesrc0> pad not activated yet
0:00:00.159472392 30986 0xffff88062700 WARN aiurdemux aiurdemux.c:3397:aiurdemux_send_stream_newsegment: Pad video: Send newseg 0:00:00.000000000 first buffer 0:00:00.000000000
0:00:00.834948029 30986 0xffff88062c60 WARN v4l2 gstv4l2object.c:2126:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git

0:00:00.835062907 30986 0xffff88062c60 WARN v4l2 gstv4l2object.c:3156:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:sink> Unsupported field type for H264@1x1: 0
0:00:00.835158160 30986 0xffff88062c60 WARN v4l2 gstv4l2object.c:3166:gst_v4l2_object_get_nearest_size:<v4l2h264dec0:sink> Unable to try format: Inappropriate ioctl for device
0:00:00.835186535 30986 0xffff88062c60 WARN v4l2 gstv4l2object.c:3042:gst_v4l2_object_probe_caps_for_format:<v4l2h264dec0:sink> Could not probe minimum capture size for pixelformat H264
0:00:00.835213411 30986 0xffff88062c60 WARN v4l2 gstv4l2object.c:2126:gst_v4l2_object_get_interlace_mode: Driver bug detected - check driver with v4l2-compliance from http://git.linuxtv.org/v4l-utils.git

I have run v4l2-compliance but don't really know how to use/decipher this information. I am new to this forum and have a little hard time navigating but I have searched for a potential solution or guidance among the published topics and can't seem to find one. If I may have missed one please let me know.

In the attached .zip file you will find the video file I used, the debug log outputs when using the profiler and when not using it, along with the output from running the v4l2-compliance command.

 

Question 2)

While on the topic of the profiler, the profiler works great for a short while when running the camera inference example given in the sane machine learning user guide. After anything from 30 seconds to 10 minutes the server side of the profiler looses connection to the board and simple flood the terminal with the message:
WARNING:root:Can't get ack after write!

Anyone happens to know the cause of this connection failure or if there is a command to help debug it?

Edit: I forgot to add that I have tried running the profiler on several different video files as a source such as m4v, mkv, yuv, avi, webm, along with different encodings such as h264 and matroska.

 

Thank you,

Gustaf

0 Kudos
0 Replies