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

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

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

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

ลดเวลาในการตอบสนองขั้นต่ำ

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

ใช้กลุ่ม 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