Zestaw CtsNpuManagerMoblyTestCases weryfikuje zgodność urządzenia z usługą NpuManager dodaną w Androidzie 17 (poziom interfejsu API 37). Te testy oparte na Mobly oceniają priorytetyzację zadań NPU, zapewniają, że zadania NPU aplikacji działającej na pierwszym planie mają wyższy priorytet niż zadania działające w tle, i weryfikują kontrolę dostępu do NPU.
Testowanie konfiguracji
Globalne parametry domyślne tego pakietu testów są zoptymalizowane pod kątem urządzeń referencyjnych. Możliwości sprzętowe NPU mogą się różnić w zależności od urządzenia, dlatego dostosuj parametry konfiguracji testu, aby mieć pewność, że testy będą prawidłowo działać na Twoim sprzęcie.
Dlaczego dostrajanie jest konieczne
Podstawą testu priorytetówtest_foreground_app_finishes_firstjest warunek wyścigu, który polega na sprawdzeniu, czy aplikacja na pierwszym planie zakończy wnioskowanie przed aplikacją w tle. Aby test niezawodnie spełniał wymagania dotyczące stabilności i przechodził 2 z 3 wykonań, skonfiguruj te parametry tak, aby odpowiadały szybkościom NPU na Twoim urządzeniu.
Plik konfiguracji znajduje się w drzewie źródłowym Androida w lokalizacji packages/modules/NpuManager/tests/cts/mobly_config.yaml.
Konfigurowalne parametry
Podczas dostosowywania testów do urządzenia zmień w pliku YAML te parametry: Wszystkie wartości liczbowe muszą być większe od zera, a opóźnienie na pierwszym planie musi wynosić co najmniej 0.5 seconds, czyli wartość domyślną.
foreground_delay_seconds- Opis: przewaga w sekundach, jaką ma aplikacja działająca w tle, zanim aplikacja na pierwszym planie wywoła wnioskowanie. Kolejność jest następująca: aplikacja w tle rozpoczyna wnioskowanie –> [test czeka na
foreground_delay_seconds] –> aplikacja na pierwszym planie rozpoczyna wnioskowanie. - Domyślnie:
0.5 - Wskazówki dotyczące dostrajania: większe opóźnienie daje aplikacji działającej w tle więcej czasu na przetworzenie wniosków, zanim uruchomi się aplikacja działająca na pierwszym planie. Aplikacja na pierwszym planie powinna rozpocząć wnioskowanie mniej więcej w połowie pracy aplikacji w tle.
- Opis: przewaga w sekundach, jaką ma aplikacja działająca w tle, zanim aplikacja na pierwszym planie wywoła wnioskowanie. Kolejność jest następująca: aplikacja w tle rozpoczyna wnioskowanie –> [test czeka na
foreground_test_num_iterations_per_thread- Opis: liczba kolejnych pętli wnioskowania, które każdy wątek wykonuje w ramach testu
test_foreground_app_finishes_firstw przypadku aplikacji działającej na pierwszym planie i w tle. - Domyślnie:
30
- Opis: liczba kolejnych pętli wnioskowania, które każdy wątek wykonuje w ramach testu
foreground_test_num_threads- Opis: liczba równoczesnych wątków utworzonych w celu równoczesnego uruchamiania wnioskowania w
test_foreground_app_finishes_firstteście zarówno w przypadku aplikacji działającej na pierwszym planie, jak i w tle. - Domyślnie:
4
- Opis: liczba równoczesnych wątków utworzonych w celu równoczesnego uruchamiania wnioskowania w
Przeprowadzanie testów
Po skonfigurowaniu i podłączeniu urządzenia uruchom pakiet za pomocą standardowych poleceń CTS Tradefed.
Aby uruchomić moduł za pomocą CTS Tradefed:
cts-tradefed run cts -m CtsNpuManagerMoblyTestCases