Bộ CtsNpuManagerMoblyTestCases xác minh khả năng tương thích của thiết bị với dịch vụ NpuManager, được thêm vào Android 17 (API cấp 37). Các kiểm thử dựa trên Mobly này đánh giá mức độ ưu tiên của khối lượng công việc NPU, đảm bảo khối lượng công việc NPU của ứng dụng ở nền trước nhận được mức độ ưu tiên cao hơn so với khối lượng công việc ở nền sau và xác thực quyền kiểm soát truy cập NPU.
Cấu hình kiểm tra
Các tham số mặc định chung cho bộ kiểm thử này được tối ưu hoá cho các thiết bị tham chiếu. Vì khả năng phần cứng NPU có thể khác nhau giữa các thiết bị, hãy điều chỉnh các tham số cấu hình kiểm thử để đảm bảo các kiểm thử chạy đúng cách trên phần cứng của bạn.
Lý do cần điều chỉnh
Phần cốt lõi của kiểm thử ưu tiên test_foreground_app_finishes_first dựa vào một điều kiện xung đột bằng cách đánh giá xem ứng dụng ở nền trước có hoàn tất các suy luận của mình trước ứng dụng ở nền sau hay không. Để đảm bảo kiểm thử đáp ứng một cách đáng tin cậy yêu cầu về độ ổn định để vượt qua 2 trong 3 lần chạy, hãy định cấu hình các tham số này cho phù hợp với tốc độ NPU cụ thể của thiết bị.
Tệp cấu hình nằm trong cây nguồn Android tại packages/modules/NpuManager/tests/cts/mobly_config.yaml.
Tham số có thể định cấu hình
Khi điều chỉnh các kiểm thử cho thiết bị, hãy điều chỉnh các tham số sau trong tệp YAML. Tất cả các giá trị bằng số phải lớn hơn 0 và độ trễ ở nền trước phải ít nhất là 0.5 seconds, giá trị mặc định.
foreground_delay_seconds- Mô tả: Thời gian khởi động tính bằng giây được cấp cho ứng dụng nền trước khi ứng dụng nền kích hoạt suy luận. Trình tự là: Ứng dụng chạy ở chế độ nền bắt đầu suy luận -> [thử nghiệm chờ
foreground_delay_seconds] -> ứng dụng chạy ở chế độ nền trước bắt đầu suy luận. - Mặc định:
0.5 - Hướng dẫn điều chỉnh: Độ trễ lớn hơn sẽ giúp ứng dụng chạy ở chế độ nền có thêm thời gian để xử lý các suy luận trước khi ứng dụng chạy ở chế độ nền trước bắt đầu. Ứng dụng trên nền trước sẽ bắt đầu suy luận khi khối lượng công việc của ứng dụng trên nền sau gần như đã hoàn tất một nửa.
- Mô tả: Thời gian khởi động tính bằng giây được cấp cho ứng dụng nền trước khi ứng dụng nền kích hoạt suy luận. Trình tự là: Ứng dụng chạy ở chế độ nền bắt đầu suy luận -> [thử nghiệm chờ
foreground_test_num_iterations_per_thread- Mô tả: Số vòng lặp suy luận liên tiếp mà mỗi luồng riêng lẻ thực thi cho kiểm thử
test_foreground_app_finishes_firstđối với cả ứng dụng nền trước và nền sau. - Mặc định:
30
- Mô tả: Số vòng lặp suy luận liên tiếp mà mỗi luồng riêng lẻ thực thi cho kiểm thử
foreground_test_num_threads- Mô tả: Số lượng luồng đồng thời được tạo để chạy các suy luận đồng thời cho kiểm thử
test_foreground_app_finishes_firstcho cả ứng dụng ở nền trước và nền sau. - Mặc định:
4
- Mô tả: Số lượng luồng đồng thời được tạo để chạy các suy luận đồng thời cho kiểm thử
Chạy kiểm thử
Sau khi thiết bị được định cấu hình và kết nối, hãy chạy bộ kiểm thử bằng các lệnh Tradefed CTS tiêu chuẩn.
Cách chạy mô-đun bằng CTS Tradefed:
cts-tradefed run cts -m CtsNpuManagerMoblyTestCases