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.

[参考译文] AM62A7:edgeai-tidl-tools 示例性能结果故障

Guru**** 2933120 points

Other Parts Discussed in Thread: AM62A7

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1645922/am62a7-edgeai-tidl-tools-examples-perf-result-failure

器件型号: AM62A7

您好团队:

我们使用带有 AM62A7 和 2GB RAM 的定制电路板。 我们的固件基于 SDK11 版本。

我们正在尝试执行 edgeai-tidl-tools 示例(rel_11_01 分支)、并获得以下执行结果:

FuncPass:9.
FUNC 失败:0

Perf Pass:2.
Perf 失败:7.

它表明,性能的结果不是根据 ti batchmark。 请查找附加的日志、了解使用该日志生成的示例执行和测试报告 (test_report_am62a.csv)。

您能告诉我们这些失败的原因吗? 如何解决?

boot.log

 mem.log

examples_logs.txt

 test_report_am62a.csv 

谢谢、
Hitesh

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

    嗨、Hitesh、

    我在日志中看不到任何功能错误--这很好。 您看到的是模型性能比预期值慢。

    预期的性能来自 EVM、它默认以 3733MT/s 的速度运行 DDR、以 850MHz 的速度运行 C7x。 DDR 通常对运行时有很大影响(例如,您可以使用 k3conf 工具查看时钟速度)

    • `k3conf dump processors`查看 C7x 性能
    • `k3conf 转储时钟| grep DDR`(请参阅 DEV_DDR32SS0_DDRSS_DDR_PLL_CLK) 、以获得实际 DDR MT/s 速率的 1/4)

    您可能会注意到、某些模型也  比目标速度快。  对于单个模型、模型性能在不同版本之间波动、我想检查模型性能目标上次更新的时间。 您使用的是 edgeai-tidl-tools 的哪个版本/标签? 11_01_06?

    我认为这不是问题、很可能是旧 SDK 的性能目标、该 SDK 的性能稍高、但 TIDL 中的功能要少得多。 尽管如此、我们还是要确保没有需要关注的问题。 至少、所有车型的性能都在我的预期范围内

    BR、
    Reese

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

    尊敬的 Reese:

    我检查了平台时钟、它们是否符合预期的 EVM 配置。

    • C7x 频率:850MHz
    • DDR PLL 时钟:933MHz(~3733MT/s 有效 DDR 速率)

    请找到以下命令供您参考:

    ~μ s

     # k3conf dump processors
    |---------------------------------------------------------------------------------------------------|
    | VERSION INFO |
    |---------------------------------------------------------------------------------------------------|
    | K3CONF | (version 0.3-nogit built Fri Jul 18 05:03:57 UTC 2025) |
    | SoC | AM62Ax SR1.0 |
    | SoC identifiers | [0x4a7db566] 0x253ed Func-Safe Secure 'U' Grade -40°C to 105°C AMB Package |
    | SYSFW | ABI: 4.0 (firmware version 0x000b '11.1.5--v11.01.05 (Fancy Rat))') |
    | DM ABI Info | 3.0 |
    | DM F/w rev | 11.1.2 |
    | DM Component rev | RM/PM HAL:'v11.01.02' SCI_SERV:'MSDK.11.01.00.16-dirty' |
    | F/w Capabilities | 0x1f7: GEN DEEP_SLP MCU_ONLY PART_IO DM_MGD_LPM IO+DDR_RET IO_ISO DM-SPLT |
    |---------------------------------------------------------------------------------------------------|
    
    |-----------------------------------------------------------------------------------------|
    | Device ID | Processor ID | Processor Name | Processor State | Processor Frequency |
    |-----------------------------------------------------------------------------------------|
    | 121 | 1 | WKUP_R5FSS0_CORE0 | DEVICE_STATE_ON | 800000000 |
    | 9 | 3 | MCU_R5FSS0_CORE0 | DEVICE_STATE_ON | 800000000 |
    | 208 | 4 | C7X256V0_C7XV_CORE_0 | DEVICE_STATE_ON | 850000000 |
    | 135 | 32 | A53SS0_CORE_0 | DEVICE_STATE_ON | 1250000000 |
    | 136 | 33 | A53SS0_CORE_1 | DEVICE_STATE_ON | 1250000000 |
    | 137 | 34 | A53SS0_CORE_2 | DEVICE_STATE_ON | 1250000000 |
    | 138 | 35 | A53SS0_CORE_3 | DEVICE_STATE_ON | 1250000000 |
    | 225 | 128 | HSM0 | DEVICE_STATE_ON | 500000000 |
    |-----------------------------------------------------------------------------------------|

    ~ # k3conf dump clock | grep DDR
    | F/w Capabilities | 0x1f7: GEN DEEP_SLP MCU_ONLY PART_IO DM_MGD_LPM IO+DDR_RET IO_ISO DM-SPLT      |
    |   157     |    24    | DEV_BOARD0_DDR0_CK0_IN                                                                              | CLK_STATE_READY     | 250000000       |
    |   157     |    25    | DEV_BOARD0_DDR0_CK0_N_IN                                                                            | CLK_STATE_READY     | 0               |
    |   157     |    27    | DEV_BOARD0_DDR0_CK0_OUT                                                                             | CLK_STATE_READY     | 0               |
    |   170     |     0    | DEV_DDR32SS0_DDR_PLL_DIVH_CLK4_OBSCLK_OUT_CLK                                                       | CLK_STATE_READY     | 0               |
    |   170     |     1    | DEV_DDR32SS0_DDRSS_DDR_PLL_CLK                                                                      | CLK_STATE_READY     | 933000000       |
    |   170     |     2    | DEV_DDR32SS0_DDRSS_TCK                                                                              | CLK_STATE_READY     | 0               |
    |   170     |     3    | DEV_DDR32SS0_PLL_CTRL_CLK                                                                           | CLK_STATE_READY     | 500000000       |
    |   228     |    14    | DEV_OBSCLK0_MUX_SEL_DEV_VD_CLK_PARENT_SAM62A_DDR_WRAP_MAIN_0_DDR_PLL_DIVH_CLK4_OBSCLK_OUT_CLK       | CLK_STATE_READY     | 0               |
    

    我们通过以下链接对 edgeai-tidl-tools 使用 11_01 分支:

    https://github.com/TexasInstruments/edgeai-tidl-tools/tree/rel_11_01

    指向提交 ID f73a576f5610a5011b83de05c9e30081c895b752 处的 11_01_07

    谢谢、

    Hitesh

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

    尊敬的 Reese:

    此外、我们还想澄清有关 VDD 内核电压和 CPU 内核频率的一点。

    当 VDD 内核电压设置为 0.85V 时、CPU 内核支持的最大频率为 1.4GHz。 但是、在我们的例子中、我们将 VDD 内核电压配置为 0.75V、这会将最大 CPU 内核频率限制为 1.25GHz。

    您能否确认此更改是否会降低 edgeai-tidl-tools 示例执行性能?

    谢谢、
    Hitesh

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

    尊敬的 Reese:

    对此主题进行任何更新?

    谢谢。

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

    尊敬的 Jay / Hitesh:  

    我的道歉,我的电脑重置,而我完成了我的答复,我没有意识到它没有提交。 我不得不返回我这边运行的数据。  

    850MHz 将是我们用于 C7x 的频率、用于 A53 的频率为 1.4GHz。 由于 CPU 频率较低、可能会略有不同、但会很小。 我看到您还参考了 933MHz DDR PLL、相当于 3733MT/s DDR

    当我在我这边运行等效测试时、性能超出了你的水平

    Perf Pass: 7
    Perf Fail: 2

    从实际数据(标称值为 DDR RW 带宽)可以看出、我这边的利用率更高。 我估计 EVM 上的 DDR 利用率较高、这就是导致性能差距的原因。

    • 这是有问题的、因为您设置了相同的 DDR 速度(我不是此问题的专家)
    • DDR 带宽是 NPU 性能中最常见的瓶颈

    根据本主题  TDA4VM:如何在当前 SDK 和 SDK 文档上测试 DDR 带宽基准测试[1]、我想知道此处是否有明显的差距可以解释性能差异

    [1] https://software-dl.ti.com/processor-sdk-linux/esd/AM62AX/11_01_07_05/exports/docs/devices/AM62AX/linux/Linux_Performance_Guide 

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

    您好、

    我在执行 edgeai-tidl-tools 示例期间尝试使用 perf_stat 命令检查 RAM 带宽、并观察到它没有增加到超过 1600MB/s

    此外、还使用提供的链路执行 DDR 带宽基准测试。 请查找所附的日志以供您参考。

    如果日志提供了有关此问题的任何结论、请告知我们。

    e2e.ti.com/.../runltp.txt

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

    尊敬的 Jay:  

    与我自己的打印输出和 Linux_Performance_Guide .html 中的数据相比、LTP 结果看起来在可接受的范围内

    我已在执行 edgeai-tidl-tools 示例期间尝试使用 perf_stat 命令检查 RAM 带宽、并观察到带宽没有增加到超过 1600MB/s。

    当您测量此值时、是否正在运行该 edgeai-tidl-tools 脚本以测试 9 个模型? 我相信这只是运行 1 次迭代的模型、因此没有持续的负载。

    如果为 edgeai-gst-apps 运行示例流水线、例如:

    cd /opt/edgeai-gst-apps
    ./apps_python/app_edgeai.py configs/object_detection.yaml

    这是否仍然是您看到的最大 DDR 负载? 也可以使用“stream“实用程序来设置持续的 DDR 负载

    根据结果、我可能需要在此处重新分配给 DDR 专家

    但是、仅为级别设置、您名义上处于可接受的性能范围 (+–20%) 内、并且功能不会受到影响。 有些模型比目标延迟快

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

    尊敬的 Reese:

    测量此值时、是否正在运行 edgeai-tidl-tools 脚本来测试 9 个模型? 我相信这只是运行 1 次迭代的模型,所以没有持续的负载。[/报价]

    是的、 它正在运行 edgeai-tidl-tools 脚本以测试 9 个模型。 是、为 1 次迭代运行模型

    cd /opt/edgeai-gst-apps
    ./apps_python/app_edgeai.py configs/object_detection.yaml

    由于封装依赖于其他封装、我们无法在器件上运行此驱动程序。  

    但是、只是为了进行级别设置、您名义上处于可接受的性能范围内 (+–20%)、并且功能不会受到影响。 某些模型比目标延迟

    我们能否得出结论:时序与基准测试结果相比的变化在这里不是问题、性能很好、因为它在+–20%范围内?

    此致、

    Jay

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

    尊敬的 Jay:

    由于软件包对其他软件包的依赖关系、我们无法在设备上运行此软件包。  

    [/报价]

    我懂了。 是、这取决于其他多个软件包、因此我了解它是否在您的环境中无法运行。 使用标准实用程序来放置负载(如“stream“)是强制提高 DDR 负载的可以选择的替代方法(然后使用 perf_stats 实用程序进行测量、您可能必须安装附加依赖项 (edgeai-app-utils) 来进行构建。  

    [引述 userid=“603086“ url=“~/support/processors-group/processors/f/processors-forum/1645922/am62a7-edgeai-tidl-tools-examples-perf-result-failure/6380540

    我们能否得出结论:时序与基准测试结果相比的变化在这里不是问题、性能很好、因为它在+–20%范围内?

    [/报价]

    是的、我认为这已经足够了。 您看到的差异很可能是由电路板上的 DDR 性能与 EVM 上的 DDR 性能造成的