توضّح هذه الصفحة أفضل الممارسات لتنفيذ برامج تشغيل Neural Networks API (NNAPI) للسماح باعتماد NNAPI على نطاق واسع من قِبل مطوّري التطبيقات.
إبقاء أوقات بدء التشغيل قصيرة
إذا كان برنامج التشغيل يحوّل أوزان نموذج عند الاستخدام الأول، تأكَّد من أنّه يتوافق مع ميزة التخزين المؤقت للترجمة، ما يقلل من الوقت المستغرَق في عملية الترجمة عند بدء تشغيل التطبيق. وهذا مهم لأنّ التطبيقات قد تتجنّب استخدام الأجهزة. سرعة التشغيل إذا كانت أوقات بدء التشغيل طويلة جدًا. على سبيل المثال، تمتلك بعض التطبيقات أكثر من 100 ميغابايت من الأوزان وتحويلها في كل مرة عمليات الإطلاق مضيعة للوقت.
تقليل وقت الاستجابة
ولضمان استخدام النماذج لتسريع الأجهزة، من المهم تقليل الحد الأدنى من وقت الاستجابة في برامج التشغيل. تستخدم العديد من التطبيقات نماذج صغيرة يتم تنفيذها عدة مرات وإذا كان الحد الأدنى لوقت الاستجابة لتنفيذ عبء العمل كبيرًا للغاية، قد تستغرق النماذج في بعض الملي ثانية مثلاً عبء العمل على وحدة المعالجة المركزية (CPU)، يستغرق واحدًا أو اثنين من المللي ثانية، بدلاً من باستخدام تسريع الأجهزة. يجب توخّي الحذر من مزامنة سلاسل المحادثات المكلفة.
استخدام مجموعة NN HAL SchedTune
بدءًا من Android 11 أو الإصدارات الأحدث، يتضمّن AOSP مجموعة
NN HAL
SchedTune
مخصّصة تسمح لعمليات NN HAL بين العمليات باستخدام معالجات أساسية
كبيرة، على غرار تنفيذ العملية نفسها ضمن مجموعة top-app
cgroup المحدّدة مسبقًا. يؤدي استخدام مجموعة
SchedTune هذه إلى تقليل النفقات العامة للسائق، خاصةً في النماذج الصغيرة.
لاستخدام مجموعة SchedTune، أضف السطر التالي إلى ملف init.rc
عملية NN HAL:
writepid /dev/stune/nnapi-hal/tasks