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

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

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

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

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

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

ใช้กลุ่ม NN HAL SchedTune

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

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

writepid /dev/stune/nnapi-hal/tasks