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