การค้นหาและการกำหนดอุปกรณ์

ใน Android 10 Neural Networks API (NNAPI) เปิดตัวฟังก์ชันที่ช่วยให้ไลบรารีและแอปเฟรมเวิร์กแมชชีนเลิร์นนิงรับข้อมูลเกี่ยวกับอุปกรณ์ที่มีอยู่และระบุอุปกรณ์ที่จะทำโมเดล การให้ข้อมูลเกี่ยวกับอุปกรณ์ ที่พร้อมใช้งานจะช่วยให้แอปรับไดรเวอร์เวอร์ชันเดียวกับที่พบบนอุปกรณ์ได้ เพื่อหลีกเลี่ยงความไม่เข้ากันที่ทราบ การที่แอปสามารถระบุอุปกรณ์ที่จะดำเนินการในส่วนต่างๆ ของโมเดลได้ จะเพิ่มประสิทธิภาพให้กับผลิตภัณฑ์ที่ใช้กับผลิตภัณฑ์นั้นๆ ได้

ต้องมีการสนับสนุนการค้นหาและการกำหนดอุปกรณ์สำหรับการติดตั้งใช้งาน NN HAL 1.2

การใช้งาน

หากต้องการรองรับฟีเจอร์การค้นหาและกำหนดอุปกรณ์ใน NNAPI ให้ใช้ getType และ getVersionString ใน IDevice.hal เพื่ออนุญาตให้เฟรมเวิร์กรับประเภทอุปกรณ์และเวอร์ชันของไดรเวอร์

สำหรับอุปกรณ์แต่ละเครื่อง ให้ระบุประเภทเป็นหนึ่งในหมวดหมู่ต่อไปนี้ตามที่ระบุไว้ใน DeviceType ใน types.hal

  • OTHER: อุปกรณ์ที่ไม่อยู่ในหมวดหมู่อื่นๆ รวมถึงอินเทอร์เฟซที่แตกต่างกันซึ่งเป็นอินเทอร์เฟซ IDevice รายการเดียวที่จัดการอุปกรณ์หลายเครื่อง โดยอาจเป็นอุปกรณ์หลายประเภท ไดรเวอร์ที่มีอินเทอร์เฟซแตกต่างกันควรแสดงอินเทอร์เฟซ IDevice ที่แยกต่างหากซึ่งสอดคล้องกับอุปกรณ์แต่ละเครื่อง เพื่อให้แอปพลิเคชันเลือกจากอุปกรณ์เหล่านั้นได้
  • CPU: CPU 1 แกนหรือหลายแกน
  • GPU: GPU ที่เรียกใช้โมเดล NNAPI และเร่งความเร็ว API สำหรับกราฟิกได้ เช่น OpenGL ES และ Vulkan
  • ACCELERATOR: หน่วยประมวลผลระบบประสาท (NPU) โดยเฉพาะ

ติดตั้งใช้งาน getVersionString ใน IDevice.hal เพื่อรับสตริงเวอร์ชันของการใช้งานอุปกรณ์ เมธอดนี้ต้องแสดงผลสตริงที่มนุษย์อ่านได้ รูปแบบของสตริงจะเจาะจงผู้ให้บริการ สตริงเวอร์ชันต้องไม่ซ้ำกันสำหรับไดรเวอร์เวอร์ชันใหม่แต่ละเวอร์ชัน

ชื่อของอินเทอร์เฟซ IDevice ต้องเป็นไปตามรูปแบบ {VENDOR}-{DEVICE_NAME}