Chạy các kiểm thử NPU Manager Mobly

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.
  • 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
  • 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_first cho cả ứng dụng ở nền trước và nền sau.
    • Mặc định: 4

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