גילוי והקצאת מכשיר

באנדרואיד 10, ה- Neural Networks API (NNAPI) מציג פונקציות המאפשרות לספריות ואפליקציות למידת מכונה לקבל מידע על המכשירים הזמינים ולציין באילו מכשירים להפעיל מודל. אספקת מידע על המכשירים הזמינים מאפשרת לאפליקציות לקבל את הגרסה המדויקת של מנהלי ההתקן שנמצאו במכשיר כדי למנוע חוסר תאימות ידוע. על ידי מתן אפשרות לאפליקציות לציין אילו מכשירים יבצעו חלקים שונים של דגם, ניתן לבצע אופטימיזציה של אפליקציות למוצר שבו הן נפרסות.

נדרשת תמיכה בגילוי והקצאת מכשירים עבור יישומי NN HAL 1.2.

יישום

כדי לתמוך בתכונות הגילוי וההקצאה של המכשיר ב-NNAPI, הטמיע getType ו- getVersionString ב- IDevice.hal כדי לאפשר למסגרת לקבל את סוג ההתקן וגרסת מנהל ההתקן.

עבור כל התקן, ציין את הסוג כאחת מהקטגוריות הבאות כפי שצוין ב- DeviceType ב- types.hal .

  • OTHER : מכשיר שאינו נכנס לאף אחת מהקטגוריות האחרות, כולל ממשק הטרוגני, שהוא ממשק IDevice יחיד המנהל מספר מכשירים, אולי מסוגים שונים. מנהל התקן עם ממשק הטרוגני צריך גם לחשוף ממשקי IDevice נפרדים התואמים להתקנים בודדים כדי לאפשר לאפליקציה לבחור מבין התקנים אלה.
  • CPU : מעבד ליבה בודדת או רב ליבות.
  • GPU : GPU שיכול להריץ דגמי NNAPI ולהאיץ ממשקי API גרפיים כגון OpenGL ES ו-Vulkan.
  • ACCELERATOR : יחידת עיבוד עצבית ייעודית (NPU).

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

השם של ממשק IDevice חייב להיות בפורמט {VENDOR}-{DEVICE_NAME} .