Vitis-Tutorials icon indicating copy to clipboard operation
Vitis-Tutorials copied to clipboard

VCK190 02-gmio example hangs after first run on petalinux (version 2023.2)

Open ipapal opened this issue 10 months ago • 5 comments

Hello,

I'm trying the AIE Feature Tutorial 02-using-gmio targeting the Versal VCK190 board, with version 2023.2 (both Vitis toolchain and Petalinux). In the first run of the application on petalinux it runs correctly (the execution finishes, the profiling happens and AIE GMIO PASSED! message is printed as expected. However, when I try to run again the same application, the execution hangs in the step GMIO::malloc completed. The specific message is the following:

versal-rootfs-common-20232:/run/media/mmcblk0p1# sudo ./host.exe a.xclbin 1024
Initializing ADF API...
[12067.380489] zocl-drm axi:zyxclmm_drm: zocl_create_client: created KDS client for pid(742), ret: 0
[12067.389657] zocl-drm axi:zyxclmm_drm: zocl_destroy_client: client exits pid(742)
[12067.397384] zocl-drm axi:zyxclmm_drm: zocl_create_client: created KDS client for pid(742), ret: 0
XAIEFAL: INFO: Resource group Avail is created.
XAIEFAL: INFO: Resource group Static is created.
XAIEFAL: INFO: Resource group Generic is created.
[12067.414420] [drm] Exists xclbin 8b42e040-dd65-2bdd-e88d-4f33d02ec05a to slot 0
[12067.460307] [drm] bitstream 8b42e040-dd65-2bdd-e88d-4f33d02ec05a locked, ref=1
[12067.467600] zocl-drm axi:zyxclmm_drm:  ffff000001bf4810 kds_add_context: Client pid(742) add context Domain(65535) CU(0xffff) shared(true)
[12067.487293] zocl-drm axi:zyxclmm_drm:  ffff000001bf4810 kds_del_context: Client pid(742) del context Domain(65535) CU(0xffff)
ITERATION:1024
GMIO::malloc completed

The only way to exit this is with Ctrl+C, where it simply exists the application. The only way to re-run the application is through rebooting the device. Note that this behavior is observed in both the perf_gmio and the single_gmio examples provided. Is there any solution available, in order to be able to rerun the same application without reseting? I have also tried "reseting" the board, through xbutil reset ...., but this also didn't solve my problem.

PS: What I have also observed, is that petalinux reads the available RAM capacity equal to ~1.6GB, which is far less than the 8GB expected capacity (with older petalinux version - 2021.1 I'm correctly seeing 8GB available. Perhaps this is correlated with the above problem?

Thanks

ipapal avatar Feb 05 '25 16:02 ipapal

Hi @ipapal, We do not support the rerunning of the application. Also, the application uses "graph.end", due to this usage the graph cannot be started again, reboot is needed.

Thanks Anusheel

AnusheelXilinx avatar Mar 06 '25 14:03 AnusheelXilinx

Thank you for the response @AnusheelXilinx . Regarding the problem of reading lower RAM capacity than the expected in petalinux? Should I close this issue and open a new one?

ipapal avatar Mar 06 '25 15:03 ipapal

Hi @ipapal, Please check if you are seeing the PetaLinux issue in the first run. If yes, can you test the latest branch and tools?

Thanks Anusheel

AnusheelXilinx avatar Mar 06 '25 15:03 AnusheelXilinx

Hi @AnusheelXilinx , this appears to be a general issue with PetaLinux. I'm observing the same behavior with the prebuilt PetaLinux image (version 2023.2), regardless of the project I build. It seems the prebuilt image may have been configured differently than expected. Interestingly, with an older PetaLinux version (2021.2), the RAM capacity is detected correctly.

Would it be better to stop using AMD’s prebuilt images and build a custom platform instead? Unfortunately, I don’t have access to the latest Vitis/Vivado versions. I could try using PetaLinux 2024.2, but mixing tool versions might not be ideal.

ipapal avatar Mar 06 '25 15:03 ipapal

@AlphaBu can you take a look at this issue? Thanks.

allyzhou avatar Mar 25 '25 03:03 allyzhou