Esegui i test Mobly di NPU Manager

La suite CtsNpuManagerMoblyTestCases verifica la compatibilità del dispositivo con il servizio NpuManager, aggiunto in Android 17 (livello API 37). Questi test basati su Mobly valutano la definizione delle priorità dei carichi di lavoro della NPU, assicurano che i carichi di lavoro della NPU dell'app in primo piano ricevano una priorità più alta rispetto a quelli in background e convalidano il controllo dell'accesso alla NPU.

Testa la configurazione

I parametri predefiniti globali per questa suite di test sono ottimizzati per i dispositivi di riferimento. Poiché le funzionalità hardware della NPU possono variare a seconda dei dispositivi, regola i parametri di configurazione del test per assicurarti che i test vengano eseguiti correttamente sull'hardware.

Perché è necessaria la messa a punto

Il fulcro del test di assegnazione della priorità test_foreground_app_finishes_first si basa su una condizione di competizione valutando se l'app in primo piano termina le sue inferenze prima dell'app in background. Per garantire che il test soddisfi in modo affidabile il requisito di stabilità per superare due esecuzioni su tre, configura questi parametri in modo che corrispondano alle velocità specifiche della NPU del tuo dispositivo.

Il file di configurazione si trova nella struttura ad albero dei sorgenti di Android in packages/modules/NpuManager/tests/cts/mobly_config.yaml.

Parametri configurabili

Quando esegui la messa a punto dei test per il tuo dispositivo, modifica i seguenti parametri all'interno del file YAML. Tutti i valori numerici devono essere maggiori di zero e il ritardo in primo piano in particolare deve essere almeno 0.5 seconds, il valore predefinito.

  • foreground_delay_seconds

    • Descrizione:l'anticipo in secondi concesso all'app in background prima che l'app in primo piano attivi l'inferenza. La sequenza è: L'app in background inizia le inferenze -> [il test attende foreground_delay_seconds] -> l'app in primo piano inizia le inferenze.
    • Valore predefinito: 0.5
    • Indicazioni per la regolazione:un ritardo maggiore offre all'app in background più tempo per elaborare le inferenze prima dell'avvio dell'app in primo piano. L'app in primo piano deve iniziare le sue inferenze circa a metà del carico di lavoro dell'app in background.
  • foreground_test_num_iterations_per_thread

    • Descrizione:il numero di cicli di inferenza consecutivi che ogni singolo thread esegue per il test test_foreground_app_finishes_first sia per l'app in primo piano che per quella in background.
    • Valore predefinito: 30
  • foreground_test_num_threads

    • Descrizione: il numero di thread simultanei generati per eseguire inferenze simultaneamente per il test test_foreground_app_finishes_first sia per l'app in primo piano che per quella in background.
    • Valore predefinito: 4

Esegui i test

Dopo aver configurato e connesso il dispositivo, esegui la suite utilizzando i comandi CTS Tradefed standard.

Per eseguire il modulo utilizzando CTS Tradefed:

cts-tradefed run cts -m CtsNpuManagerMoblyTestCases