CtsNpuManagerMoblyTestCases 모음은 Android 17 (API 수준 37)에 추가된 NpuManager 서비스와의 기기 호환성을 확인합니다. 이러한 Mobly 기반 테스트는 NPU 워크로드 우선순위를 평가하고, 포그라운드 앱 NPU 워크로드가 백그라운드 앱보다 높은 우선순위를 갖도록 하며, NPU 액세스 제어를 검증합니다.
테스트 구성
이 테스트 모음의 전역 기본 매개변수는 참조 기기에 최적화되어 있습니다. NPU 하드웨어 기능은 기기마다 다를 수 있으므로 테스트가 하드웨어에서 올바르게 실행되도록 테스트 구성 매개변수를 조정하세요.
튜닝이 필요한 이유
우선순위 지정 테스트 test_foreground_app_finishes_first의 핵심은 포그라운드 앱이 백그라운드 앱보다 먼저 추론을 완료하는지 평가하여 경합 상태에 의존합니다. 테스트가 세 번의 실행 중 두 번을 통과하는 안정성 요구사항을 안정적으로 충족하도록 기기의 특정 NPU 속도에 맞게 이러한 매개변수를 구성하세요.
구성 파일은 Android 소스 트리에서 packages/modules/NpuManager/tests/cts/mobly_config.yaml에 있습니다.
구성 가능한 매개변수
기기 테스트를 조정할 때는 YAML 파일 내에서 다음 파라미터를 조정하세요. 모든 숫자 값은 0보다 커야 하며 특히 포그라운드 지연은 기본값인 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