שיטות עבודה מומלצות ליישום מנהלי התקן NNAPI

דף זה מתאר שיטות עבודה מומלצות להטמעת מנהלי התקנים של Neural Networks API (NNAPI) כדי לאפשר אימוץ רחב של NNAPI על ידי מפתחי אפליקציות.

הקפידו על זמני הפעלה קצרים

אם מנהל ההתקן שלך משנה את משקלו של דגם בשימוש הראשון, ודא שהנהג תומך במטמון קומפילציה, מה שמפחית את הזמן המשמש להידור בעת הפעלת אפליקציה. זה חשוב מכיוון שאפליקציות עשויות להימנע משימוש בהאצת חומרה אם זמני ההפעלה ארוכים מדי. לדוגמה, לאפליקציות מסוימות יש יותר מ-100 מגה-בייט של משקלים, והפיכתם בכל פעם שהאפליקציה מופעלת היא בזבזנית.

הפחת זמן אחזור מינימלי

כדי להבטיח שדגמים משתמשים בהאצת חומרה, חשוב להפחית את זמן ההשהיה המינימלי במנהלי התקנים. אפליקציות רבות משתמשות בדגמים קטנים המופעלים מספר פעמים ואם ההשהיה המינימלית לביצוע עומס עבודה גבוהה מדי, כגון כמה אלפיות שניות, מודלים עשויים להפעיל את עומס העבודה על המעבד, אשר לוקח רק אלפית שניות או שתיים, במקום להשתמש בחומרה תאוצות. היזהר מסנכרון חוטים יקר.

השתמש בקבוצת NN HAL SchedTune

מאנדרואיד 11 ומעלה, AOSP כולל קבוצת NN HAL SchedTune ייעודית המאפשרת לתהליכי NN HAL בין-תהליכים להשתמש בליבות גדולות, בדומה להטמעה באותו תהליך בתוך cgroup top-app המוגדרת מראש. שימוש בקבוצת SchedTune זו מפחית את תקרת הנהג, במיוחד עבור דגמים קטנים.

כדי להשתמש בקבוצת SchedTune, הוסף את השורה הבאה לקובץ init.rc של תהליך NN HAL:

writepid /dev/stune/nnapi-hal/tasks