בדף הזה מתוארות שיטות מומלצות להטמעת ממשק API של רשתות נוירונים (NNAPI) כדי לאפשר למפתחי אפליקציות להשתמש ב-NNAPI באופן נרחב.
זמני הפעלה קצרים
אם הנהג מבצע טרנספורמציה של המשקלים של מודל בשימוש הראשון, חשוב לוודא שהוא תומך בשמירת הידור במטמון, כדי לקצר את זמן ההידור בזמן הפעלת האפליקציה. הפעולה הזו חשובה כי אפליקציות עשויות להימנע משימוש בחומרה האצה אם זמני ההפעלה ארוכים מדי. לדוגמה, בחלק מהאפליקציות יש יותר מ-100MB של משקולות וממירים אותם בכל פעם שהאפליקציה זה בזבוז.
הפחתת זמן האחזור המינימלי
כדי להבטיח שהמודלים משתמשים בהאצת חומרה, חשוב להפחית זמן אחזור מינימלי במנהלי התקנים. אפליקציות רבות משתמשות במודלים קטנים מספר פעמים, ואם זמן האחזור המינימלי לביצוע עומס עבודה גבוה מדי, כמו כמה אלפיות שנייה, מודלים יכולים להריץ את עומס העבודה על המעבד (CPU), נמשך אלפיות שנייה או שתיים, באמצעות שיפורי מהירות באמצעות חומרה. חשוב להיזהר מסנכרון של שרשורים יקרים.
שימוש בקבוצת NN HAL SchedTune
ב-Android מגרסה 11 ואילך, AOSP כולל
NN HAL
SchedTune
שמאפשרת לבצע בין עיבוד מתהליכי NN HAL לשימוש ב-Big
ליבות, בדומה להטמעה באותו תהליך בתוך המודל
top-app
cgroup. שימוש בטיוטה הזו
קבוצת SchedTune מפחיתה את התקורה של הנהגים, במיוחד בדגמים קטנים.
כדי להשתמש בקבוצה SchedTune, מוסיפים את השורה הבאה לקובץ init.rc
של תהליך NN HAL:
writepid /dev/stune/nnapi-hal/tasks