Uruchamianie testów Mobly Menedżera NPU

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 naforeground_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.
  • 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_first w przypadku aplikacji działającej na pierwszym planie i w tle.
    • Domyślnie: 30
  • foreground_test_num_threads

    • Opis: liczba równoczesnych wątków utworzonych w celu równoczesnego uruchamiania wnioskowania w test_foreground_app_finishes_first teście zarówno w przypadku aplikacji działającej na pierwszym planie, jak i w tle.
    • Domyślnie: 4

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