This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] [参考译文] [常见问题解答] EDGE-AI-STUDIO:由于主机 PC [AM6xA 和 TDA4x 处理器上的分段操作故障、未能在 SDK 9.x 上编译 TI 深度学习(TIDL)的所有模型]

Guru**** 2386610 points
Other Parts Discussed in Thread: AM67A, AM68A, AM69A, TDA4VM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1501466/faq-edge-ai-studio-failing-to-compile-all-models-for-ti-deep-learning-tidl-on-sdk-9-x-due-to-segmentation-fault-on-host-pc-am6xa-and-tda4x-processors

部件号:EDGE-AI-STUDIO
Thread 中讨论的其他器件:AM68AAM69A、AM67A、 TDA4VM、TDA4VLTDA4VH

工具/软件:

问题:

我正在为9.x SDK 之一(9.0、9.1、9.2)使用 edgeai-tidl-tools 编译模型。

编译时、日志中稍后出现一条消息显示 Segmentation Fault、如下所示:

Running with OTF buffer optimizations
Segmentation fault (core dumped)
Could not open /USERS_PATH/edgeai-tidl-tools/model-artifacts/cl-ort-resnet18-v1/tempDir/subgraph_0_tidl_net/perfSimInfo.bin
WARNING: [TIDL_E_DATAFLOW_INFO_NULL] Network compiler returned with error or didn't executed, this model can only be used on PC/Host emulation mode, it is not expected to work on target/EVM.

但该过程实际上并未因错误而退出、也未向用户级程序指示错误、因此我认为这可能是可以接受的。 我尝试在 PC 上运行该模型,它甚至给出了一些正确的结果。

然后、当我尝试在设备上运行模型时、会收到如下错误消息:

TIDL_RT_OVX: ERROR: Create OpenVX graph failed
TIDL_RT_OVX: ERROR: Verify OpenVX graph failed
0.73658s: VX_ZONE_ERROR:[tivxKernelTIDLCreate:907] Network version - 0x00000000, Expected version - 0x20240401
0.73817s: VX_ZONE_ERROR:[ownContextSendCmd:875] Command ack message returned failure cmd_status: -1
0.73824s: VX_ZONE_ERROR:[ownNodeKernelInit:590] Target kernel, TIVX_CMD_NODE_CREATE failed for node node_79
0.73826s: VX_ZONE_ERROR:[ownNodeKernelInit:591] Please be sure the target callbacks have been registered for this core
0.73828s: VX_ZONE_ERROR:[ownNodeKernelInit:592] If the target callbacks have been registered, please ensure no errors are occurring within the create callback of this kernel
0.73843s: VX_ZONE_ERROR:[ownGraphNodeKernelInit:608] kernel init for node 0, kernel com.ti.tidl:1:1 ... failed !!!
0.73848s: VX_ZONE_ERROR:[vxVerifyGraph:2159] Node kernel init failed
0.73868s: VX_ZONE_ERROR:[vxVerifyGraph:2213] Graph verify failed
0.73888s: VX_ZONE_ERROR:[ownGraphScheduleGraphWrapper:885] graph is not in a state required to be scheduled
0.73890s: VX_ZONE_ERROR:[vxProcessGraph:813] schedule graph failed
0.73892s: VX_ZONE_ERROR:[vxProcessGraph:818] wait graph failed
ERROR: Running TIDL graph ... Failed !!!

 

这里可能会发生什么情况? 如何进行调试或解决此问题?

受影响的器件:

  • AM62A、AM67A、AM68A、AM69A
  • TDA4VM、TDA4AL、TDA4VL、TDA4VE、TDA4AEN、TDA4AEN、 TDA4VEN、TDA4AEP、TDA4VL、TDA4VH

SDK 受影响:

  • 9.0、9.1、9.2适用于使用 edgeai-tidl-tools 存储库 的 Edge AI Linux SDK、以及使用内置 tidl_tools 的 ADAS/PSDK-RTOS SDK
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这是9.x SDK TIDL 工具的已知问题。

    原因是与主机 x86 PC 的 Linux 内核有关的系统级问题、该主机用于使用 TIDL 编译/导入模型。

    9.X TIDL 工具会受到该问题的影响、该问题会在模型编译的后期阶段导致分段故障。

    默认情况下、大多数 Linux 系统(例如 Ubuntu、我们用于主机端开发的主要 Linux 平台)已升级到6.8.0 Linux 内核或更高版本。

    • 使用`uname -r`命令检查内核
    • 例如、作为标准更新的一部分、我的计算机在2024年下半年升级到了内核6.8.0-57-generic

    这些9.x TIDL 工具已针对 Linux 内核6.5.5进行了验证。

     

    要解决或解决此问题、请考虑以下选项:

    • 将 Linux 内核降级至6.5.5
      • 这已经过验证–降低 Linux 内核的级别导致此 Segmentation Fault 停止发生
      • 这可能会影响机器的其他方面、例如图形驱动程序。
      • 虚拟机是另一种替代方法、但尚未经过验证
    • 将 SDK 升级到>9.2
      • SDK 10.0及更高版本解决了此问题–根本原因已得到修补、并包含在更新的工具更新中
      • 模型将需要重新编译
    • 如果您使用9.2 SDK、请使用 edgeai-tidl-tools 的向后兼容10_00_00_07发布/标签
      • 这需要在器件/EVM 上运行脚本来下载更新的固件和库

    有关 SDK 版本控制和 TIDL 的更多详细信息、请参阅以下常见问题解答: