Closed RayAdas-GA-17 closed 11 months ago
在acl_demo_app.cpp后边加了一点输出。
除了程序创建的这些thread,ACL里面的东西也会创建一些内部的线程。 建议你用debug模式编译程序再用GDB调试一下 https://github.com/lenLRX/Atlas_ACL_E2E_Demo/blob/master/CMakeLists.txt#L32
看看视频跑完了之后还有哪些acl_demo_app的线程没有退出,挂在哪里了
好像是主线程卡在了Py_FinalizeEx();
你确认一下编译的时候链接的是3.9的还是系统本身3.6版本的
---原始邮件--- 发件人: @.> 发送时间: 2023年11月14日(周二) 上午9:49 收件人: @.>; 抄送: @.**@.>; 主题: Re: [lenLRX/Atlas_ACL_E2E_Demo] 程序无法结束的问题 (Issue #62)
好像是主线程卡在了Py_FinalizeEx();
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>
3.9的 CMakeLists.txt
set(ACL_PATH /home/HwHiAiUser/Ascend/ascend-toolkit/latest)
include_directories( /usr/local/Ascend/include # for peripheral_api.h ${ACL_PATH}/include # acl hearders
# /usr/local/lib/python3.6/dist-packages/numpy/core/include/ # for pip installed numpy headers
/home/HwHiAiUser/miniconda3/envs/torch/include/python3.9
/home/HwHiAiUser/miniconda3/envs/torch/lib/python3.9/site-packages/numpy/core/include
${CMAKE_SOURCE_DIR}/src
${CMAKE_SOURCE_DIR}/bytetrack_csrc/include
${FREETYPE_INCLUDE_DIRS})
set(DEMO_DEP_LIBS ascendcl acl_dvpp runtime pthread opencv_core opencv_imgproc opencv_videoio opencv_imgcodecs avformat avutil avcodec
/home/HwHiAiUser/miniconda3/envs/torch/lib/libpython3.9.so
${FREETYPE_LIBRARIES})
版本是Python 3.9.18
看起来可能卡在了GIL上,不知道你是否改了其他代码,还是单纯的只是换了Python版本,
另外需要用ldd检查一下运行时使用的库版本是3.6还是3.9,不过估计不是这个问题
---原始邮件--- 发件人: @.> 发送时间: 2023年11月14日(周二) 上午9:59 收件人: @.>; 抄送: @.**@.>; 主题: Re: [lenLRX/Atlas_ACL_E2E_Demo] 程序无法结束的问题 (Issue #62)
版本是Python 3.9.18
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>
单纯的换了python版本,用自带的3.6的版本就不会卡住,用conda里面的3.9的就不行。
但是在另一块板子上用conda base下的3.9.1也不会卡住
实在不行就把Py_FinalizeEx注释掉试试
去掉这个函数就可以了。非常感谢!
利用自带的python3.6编译时,程序正常结束。但是当利用conda中的环境编译时,视频可以正常输出,但是程序却无法终止。ctrl+c也不管用。 这是gdb的信息。