חבילת CtsNpuManagerMoblyTestCases מאמתת את התאימות של המכשיר לשירות NpuManager, שנוסף ב-Android 17 (רמת API 37). הבדיקות האלה מבוססות על Mobly ומעריכות את העדיפות של עומסי עבודה של NPU, מוודאות שעומסי עבודה של NPU באפליקציות שפועלות ברקע מקבלים עדיפות גבוהה יותר מאלה שפועלות ברקע, ומאמתות את בקרת הגישה של NPU.
הגדרות אישיות לבדיקה
פרמטרי ברירת המחדל הגלובליים של חבילת הבדיקות הזו מותאמים למכשירי הפניה. יכולות החומרה של NPU משתנות ממכשיר למכשיר, לכן צריך להתאים את פרמטרים של הגדרת הבדיקה כדי לוודא שהבדיקות יפעלו בצורה תקינה בחומרה שלכם.
למה צריך לבצע אופטימיזציה
הבדיקה של סדר העדיפויות מבוססת על מצב מירוץ, שבו נבדק אם האפליקציה שפועלת בחזית מסיימת את ההסקות שלה לפני האפליקציה שפועלת ברקע. כדי לוודא שהבדיקה עומדת בדרישת היציבות שלה, כלומר עוברת שניים מתוך שלושה ניסיונות, צריך להגדיר את הפרמטרים האלה כך שיתאימו למהירויות הספציפיות של ה-NPU במכשיר.test_foreground_app_finishes_first
קובץ ההגדרות נמצא בעץ המקור של Android במיקום packages/modules/NpuManager/tests/cts/mobly_config.yaml.
פרמטרים שניתן להגדיר
כשמכווננים את הבדיקות למכשיר, משנים את הפרמטרים הבאים בקובץ ה-YAML. כל הערכים המספריים צריכים להיות גדולים מאפס, וההשהיה של האפליקציה בחזית צריכה להיות לפחות 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