แนวทางปฏิบัติแนะนำในการใช้งานไดรเวอร์ NNAPI

หน้านี้อธิบายแนวทางปฏิบัติแนะนำในการใช้ไดรเวอร์ Neural Networks API (NNAPI) เพื่อให้นักพัฒนาแอปนำ NNAPI ไปใช้ในวงกว้าง

ใช้เวลาในการเริ่มต้นระบบให้สั้น

หากไดรเวอร์เปลี่ยนน้ำหนักของโมเดลเมื่อใช้งานครั้งแรก ให้ตรวจดูว่าไดรเวอร์รองรับการแคชการคอมไพล์ ซึ่งจะลดเวลาที่ใช้ในการคอมไพล์เมื่อแอปเริ่มทำงาน ขั้นตอนนี้มีความสำคัญเนื่องจากแอปอาจหลีกเลี่ยงการใช้การเร่งฮาร์ดแวร์ หากเวลาเริ่มต้นนานเกินไป เช่น แอปบางแอปมีน้ำหนักมากกว่า 100 MB และการแปลงรูปแบบเหล่านี้ทุกครั้งที่เปิดแอปนั้นสิ้นเปลืองทรัพยากร

ลดเวลาในการตอบสนองให้น้อยที่สุด

คุณต้องลดเวลาในการตอบสนองขั้นต่ำในไดรเวอร์เพื่อให้โมเดลใช้การเร่งด้วยฮาร์ดแวร์ แอปจำนวนมากใช้โมเดลขนาดเล็กที่มีการเรียกใช้หลายครั้ง และหากเวลาในการตอบสนองต่ำที่สุดในการดำเนินการภาระงานสูงเกินไป เช่น ไม่กี่มิลลิวินาที โมเดลอาจเรียกใช้ภาระงานบน CPU ซึ่งใช้เวลาเพียง 1 หรือ 2 มิลลิวินาที แทนที่จะใช้การเร่งฮาร์ดแวร์ ระวังการซิงค์เธรดที่สิ้นเปลืองทรัพยากร

ใช้กลุ่ม NN HAL SchedTune

ตั้งแต่ Android 11 ขึ้นไป AOSP จะมีกลุ่ม SchedTune สำหรับ NN HAL โดยเฉพาะ ซึ่งช่วยให้กระบวนการ NN HAL ระหว่างกระบวนการต่างๆ ใช้ Big Core ได้ คล้ายกับการใช้งานกระบวนการเดียวกันภายใน top-app cgroup ที่กําหนดไว้ล่วงหน้า การใช้กลุ่ม StchedTune นี้ช่วยลดค่าใช้จ่ายให้กับผู้ขับ โดยเฉพาะอย่างยิ่งสำหรับรถรุ่นขนาดเล็ก

หากต้องการใช้กลุ่ม SchedTune ให้เพิ่มบรรทัดต่อไปนี้ลงในไฟล์ init.rc ของกระบวนการ NN HAL

writepid /dev/stune/nnapi-hal/tasks