运行 NPU 管理器 Mobly 测试

CtsNpuManagerMoblyTestCases 套件用于验证设备与 Android 17(API 级别 37)中添加的 NpuManager 服务的兼容性。这些基于 Mobly 的测试评估 NPU 工作负载优先级,确保前台应用 NPU 工作负载的优先级高于后台应用 NPU 工作负载,并验证 NPU 访问控制。

测试配置

此测试套件的全局默认参数已针对参考设备进行了优化。由于 NPU 硬件功能可能因设备而异,因此请调整测试配置参数,以确保测试在您的硬件上正常运行。

为什么需要进行调整

优先级测试 test_foreground_app_finishes_first 的核心是利用竞态条件,通过评估前台应用是否在后台应用之前完成推理来判断优先级。为了确保测试可靠地满足稳定性要求(即在三次运行中通过两次),请配置这些参数以匹配设备的特定 NPU 速度。

配置文件位于 Android 源代码树中的 packages/modules/NpuManager/tests/cts/mobly_config.yaml

可配置的参数

在为设备调整测试时,请调整 YAML 文件中的以下参数。所有数值都必须大于零,并且前台延迟时间必须至少为 0.5 seconds(默认值)。

  • foreground_delay_seconds

    • 说明:在后台应用触发推理之前,为其提供的抢先时间(以秒为单位)。序列如下:后台应用开始推理 -> [测试等待 foreground_delay_seconds] -> 前台应用开始推理。
    • 默认值0.5
    • 调整指南:延迟时间越长,后台应用在开始处理推理之前可用的时间就越长。前台应用应在大致完成后台应用一半的工作负载时开始推理。
  • foreground_test_num_iterations_per_thread

    • 说明:每个线程针对前台和后台应用执行 test_foreground_app_finishes_first 测试的连续推理循环次数。
    • 默认值30
  • foreground_test_num_threads

    • 说明:为前台应用和后台应用运行 test_foreground_app_finishes_first 测试而同时生成的并发线程数。
    • 默认值4

运行测试

配置并连接设备后,使用标准 CTS Tradefed 命令运行该套件。

如需使用 CTS Tradefed 运行模块,请执行以下操作:

cts-tradefed run cts -m CtsNpuManagerMoblyTestCases