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.

[参考译文] Linux/TMDSEVM572X:LINALG 库的 OpenCL 问题

Guru**** 2943400 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/671993/linux-tmdsevm572x-opencl-problems-with-linalg-library

器件型号:TMDSEVM572X

工具/软件:Linux

为了将 cblas 计算转移到 DSP、我们成功地使用了静态 LINALG 库而不是 openblas 来在 EVM572X 中将 caffe 交叉编译到 ARM、但在执行 caffe 示例应用 ssd_detect (对象检测示例)时、我们只得到以下错误:

TIOCL 致命错误:内部错误:队列数(1)与计算单元数(2)不匹配

 调用 cblas 函数时出现此错误。 这是 一个 OpenCL 问题、但我不知道如何解决。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您使用的是哪个版本的 Processor SDK? 您是否能够从 EVM 文件系统(/usr/share/ti/examples/linalg)成功运行 linalg 示例?

    谢谢、
    Ajay
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Ajay:
    感谢您的回复。
    我们发现用于编译 Caffe 的 Processor SDK 版本与我们在电路板上使用的文件系统版本不同。
    我们使它保持不变。 linalg 示例可以成功运行,但在运行 ssd_detect 应用程序时,我们遇到了麻烦问题:

    IPC_START:LAD_CONNECT ()失败:4.
    ssd_detect:/oe/bld/build-CORTEX_1/arago-tmp-external-linaro-toolchain/work/am57xx_evm-linux-gnueabi/opencl/1.1.14.9-r0.0/git/host/src/core/dsp/tal/mbox_impl_msgq.cpp:87:MboxMsgQ::MboxMsgQ (Coal:DSPDevice*):断言`s状态=IPC_S_SUCCESS ||状态=IPC_S_ALREADYSETUP'失败。
    已中止(转储内核)

    当咖啡因卷积层调用 cblas 函数时发生。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是否可以尝试重新启动 EVM 上的 IPC 守护程序?

    -> root@am57xx-evm:~ pkill lad_DRA

    ->@â~ am57xx-EVM: â#/usr/bin/lad_dra7xx

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Ajay:

    重新启动 IPC 守护程序后,IPC 问题已解决,但出现 MMU 故障,运行 ssd_detect 应用程序时,我们得到以下信息:

    [606.678143] OMAP-hwmod:mu0_dsp2:_wait_target_disable 失败
    [606.684031] OMAP-IMU 41501000.MMU:41501000.MMU:版本3.0
    [606.690054] OMAP-IMU 41500.MMU:41500.MMU:3.0版
    [606.703060] OMAP-hwmod:mu0_dsp1:_wait_target_disable 失败
    [606.708938] OMAP-iommu 40d01000.MMU:40d01000.MMU:版本3.0
    [606.714836] OMAP-iommu 40d020.MMU:40d020.MMU:版本3.0
    [606.78966] OMAP-iommu 40d01000.MMU:IOMMU 故障:DA 0xf0000000标志0x0
    [606.796519] remoteproc remoteproc2:在40800000.dsp 中检测到崩溃:类型 mmufault
    [606.804037] OMAP-iommu 40d01000.MMU:40d01000.MMU:errs:0x00000002 da:0xf0000000 PgD:0xd35b3c00 * PgD:px00000000
    [606.814216] remoteproc remoteproc2:处理40800000.dsp 中的 crash #1
    [606.820706] remoteproc remoteproc2:恢复40800000.dsp
    Recvfrom 失败:链接已断开(67)
    [606.836559] OMAP-hwmod:mu1_dsp1:_wait_target_disable 失败
    rpmsgThreadFxn:FD 14上的 transportGet 失败、返回-20
    [606.849028] omap_hwmod:mu0_dsp1:_wait_target_disable 失败
    TIOCL 致命错误:与 DSP 的通信已丢失(可能是由于 MMU 故障)。 请稍候、DSP 已复位、运行时尝试终止。 如果运行另一个 OpenCL 应用程序失败、则可能需要重新启动。 有关故障信息、请参阅内核日志。
    [606.85492] remoteproc remoteproc2:已停止远程处理器40800000.dsp
    [606.867346] remoteproc remoteproc2:为40800000.dsp 加电
    [606.898467] remoteproc remoteproc2:引导 FW 映像 dra7-dsp1-fw.xe66、大小为19467560
    [606.913445] OMAP-hwmod:mu0_dsp1:_wait_target_disable 失败
    [606.919331] OMAP-iommu 40d01000.MMU:40d01000.MMU:版本3.0
    [606.925255] OMAP-iommu 40d020.MMU:40d020.MMU:版本3.0
    [606.945810] virtio_rpmsg_bus virtio2:rpmsg 主机处于联机状态
    [606.951380] remoteproc remoteproc2:registered virtio2 (类型7)
    [606.957328] remoteproc remoteproc2:远程处理器40800000.dsp 现已启动
    [606.966820] virtio_rpmsg_bus virtio2:创建通道 rpmsg-proto addr 0x3D
    [607.883900] OMAP-hwmod:mu1_dsp1:_wait_target_disable 失败
    [607.896700] omap_hwmod:mu0_dsp1:_wait_target_disable 失败
    [607.902618] remoteproc remoteproc2:已停止远程处理器40800000.dsp
    [607.909584] remoteproc remoteproc2:发布了40800000。dsp
    [607.915696] OMAP-rproc 40800000.dsp:分配的保留存储器节点 dsp1_CMA@99000000
    [607.923660] remoteproc remoteproc2:可提供40800000.dsp
    [607.953673] remoteproc remoteproc2:为40800000.dsp 加电
    [607.959392] remoteproc remoteproc2:引导 FW 映像 dra7-dsp1-fw.xe66、大小为19467560
    [607.974448] omap_hwmod:mu0_dsp1:_wait_target_disable 失败
    [607.980339] OMAP-IMU 40d01000.MMU:40d01000.MMU:版本3.0
    [607.986275] OMAP-IMU 40d020.MMU:40d020.MMU:3.0版
    [608.005655] virtio_rpmsg_bus virtio2:rpmsg 主机处于联机状态
    [608.011246] remoteproc remoteproc2:注册的 virtio2 (类型7)
    [608.017205] remoteproc remoteproc2:远程处理器40800000.dsp 现已启动
    [608.033158] virtio_rpmsg_bus virtio2:创建通道 rpmsg-proto addr 0x3D
    [608.054517] OMAP-hwmod:mu1_dsp2:_wait_target_disable 失败
    [608.067563] OMAP_hwmod:mu0_dsp2:_wait_target_disable 失败
    [608.073675] remoteproc remoteproc3:已停止远程处理器41000000.dsp
    [608.087903] remoteproc remoteproc3:发布41000000.dsp
    [608.094150] OMAP-rproc 41000000.dsp:分配的保留存储器节点 dsp2_cma@9f000000
    [608.102207] remoteproc remoteproc3:41000000.dsp 现已推出
    [608.125986] remoteproc remoteproc3:为41000000.dsp 加电
    [608.131724] remoteproc remoteproc3:引导 FW 映像 dra7-dsp2-fw.xe66、大小为19467560
    [608.146417] omap_hwmod:mu0_dsp2:_wait_target_disable 失败
    [608.152302] OMAP-iommu 41501000.MMU:41501000.MMU:版本3.0
    [608.158239] OMAP-IMU 41500.MMU:41500.MMU:3.0版
    [608.173827] virtio_rpmsg_bus virtio3:rpmsg 主机处于联机状态
    [608.176445] virtio_rpmsg_bus virtio3:创建通道 rpmsg-proto addr 0x3D
    [608.186479] remoteproc remoteproc3:registered virtio3 (类型7)
    [608.192463] remoteproc remoteproc3:远程处理器41000000.dsp 现已启动

    我已检查内核日志、但未看到任何 MMU 故障信息。