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.

[参考译文] AM5728:OpenCV OpenCL 卸载

Guru**** 2524460 points
Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/907003/am5728-opencv-opencl-offload

器件型号:AM5728
Thread 中讨论的其他器件:SYSBIOS

你(们)好

我使用 的是 ti-processor-sdk-linux-am57xx-EVM-04.03.00.05、其中包括 OpenCL-1.1.14.10-r0.0和 OpenCV/3.1+gitAUTO746+9b88e8cINC-R3

我已经阅读了 TI OpenCV wiki、并获得了类似的数据:

当 OpenCL 关闭时、对于1080p JPEG 图像、Canny 的成本为 145ms;当 OpenCL 打开时、Canny 的成本为17ms。

当我在同一程序中连续处理两张相同的图片时、时间会变得奇怪

OpenCL 打开:fisrt 进程: 11ms、第二个进程:0.58ms;我尝试更多的映像进程、其他始终为0.5+ms

Q1:为什么会出现这样的奇怪现象?

我使用 OE 创建一个文件系统、其中包括 dra7-dsp1-fw.xe66.OpenCL-monitor 和 dra7-dsp2-fw.xe66.OpenCL-monitor、它在状态下正常工作。上述数据基于这两个固件测试

当我使用 SDK 软件包随附的文件系统时、DSP 监控器固件在 OpenCL 关闭但 OpenCL 打开时工作正常、DSP 将崩溃。

root@am57xx-EVM:~# cat /sys/kernel/debug/remoteproc/remoteproc2/trace0
[0.000]      0xfec00000处20个资源条目
[0.000]      使用主机在61上注册 rpmsg-proto:rpmsg-proto 服务
[74.241]     A0=0x1 A1=0xffc78f4
[74.241]     A2=0x0 A3=0x437f0000
[74.241]     A4=0x0 A5=0x0
[74.241]     A6=0x0 A7=0x0
[74.241]     A8=0x0 A9=0xa2fe4b88
[74.241]     A10=0x1d31bdc0 A11=0x80dbde00
[74.241]     A12=0x808000 A13=0x808124
[74.241]     A14=0x88 A15=0x0
[74.241]     A16=0x77f A17=0x5fc90c0e
[74.241]     A18=0x5fc9100d A19=0x5fc90ffe
[74.241]     A20=0x780 A21=0x440
[74.241]     A22=0x1800144 A23=0x1800140
[74.241]     A24=0x180010c A25=0x20
[74.241]     A26=0xfef26060 A27=0x0
[74.241]     A28=0x88 A29=0x90
[74.241]     A30=0x0 A31=0x808120
[74.241]     B0=0x0 B1=0x1
[74.241]     B2=0xffffff9 B3=0x808090
[74.241]     B4=0x0 B5=0x437f0000
[74.241]     B6=0x437f0000 B7=0x1d31bdc0
[74.241]     B8=0x1ee95f80 B9=0xffffffff
[74.241]     B10=0x90 B11=0x0
[74.241]     B12=0x808128 B13=0xa25f0000
[74.241]     B14=0x0 B15=0x802668
[74.241]     B16=0x805d36 B17=0x77f
[74.241]     B18=0x437 B19=0x400
[74.241]     B20=0x5fc90ffe B21=0xff
[74.241]     B22=0x5fc9100d B23=0x0
[74.241]     B24=0x1fa3ff B25=0x20
[74.241]     B26=0x400 B27=0x50f
[74.241]     B28=0x400 B29=0x50f
[74.241]     B30=0x510 B31=0xfedfcb60
[74.241]     NTSR=0x1000f
[74.241]     ITSR=0xd
[74.241]     IRP=0xfec21090
[74.241]     SSR=0x0
[74.241]     AMR=0x0
[74.241]     RILC = 0x800080
[74.241]     ILC = 0x0
     [74.241] 0x809440上的异常
[74.241]     EFR=0x2 NRP=0x809440
[74.241]     内部异常:IERR=0x2
[74.241]     提取数据包异常
[74.241]     [t=0x0007da0b] ti.sysbios.family.c64p.exception:error:line 256:                                                                                                                                                              e_exceptionMax:PC = 0x00809440、sp = 0x00802668。
[74.241]     ti.sysbios.family.c64p.exception:第256行:e_exceptionMax:PC = 0                                                                                                                                                             x00809440、sp = 0x00802668。
[74.241]     xdc.runtime.Error.raise:终止执行
root@am57xx-EVM:~#

Q2:为什么在 OpenCL 打开时 SDK DSP 监控器固件会崩溃?  您可以重复使用吗?

如果您有任何想法、请告诉我。

谢谢。

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

    请参阅此链接

    https://processors.wiki.ti.com/index.php/OpenCV

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

    大家好、Ramprasad

    感谢您的回复。

    我读过这个链接,没有找到与我描述的现象有关的描述。 您能说明哪一章吗?

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

    CY、

    对于 Q1:此处可能涉及两个问题:

    -         第一帧的额外内核源编译时间

    -         第一帧的额外内核程序加载时间

    请进一步访问 http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components_OpenCV.html 以了解更多详细信息

    对于 Q2:请确认默认的 SDK 工作正常、在给定您从 Q1获取的数据的情况下、情况似乎是这样。 如果您尝试使用 Yocto 重建 SDK、请确保同时重建 OpenCV 或任何其他也可以使用 OpenCL 的软件包。 崩溃可能是由过时的预编译 OpenCL 内核与新构建的 OpenCL DSP 监视器之间的不匹配引起的。

    此致、

    Dave