Penemuan dan penetapan perangkat

Di Android 10, Neural Networks API (NNAPI) memperkenalkan fungsi yang memungkinkan pustaka framework machine learning dan aplikasi mendapatkan informasi tentang perangkat yang tersedia dan menentukan perangkat mana yang akan digunakan untuk mengeksekusi model. Memberikan informasi tentang perangkat yang tersedia memungkinkan aplikasi mendapatkan versi driver yang tepat yang ditemukan pada perangkat untuk menghindari ketidakcocokan yang diketahui. Dengan memberikan aplikasi kemampuan untuk menentukan perangkat mana yang akan menjalankan bagian model yang berbeda, aplikasi dapat dioptimalkan untuk produk tempat aplikasi tersebut diterapkan.

Dukungan untuk penemuan dan penetapan perangkat diperlukan untuk implementasi NN HAL 1.2.

Penerapan

Untuk mendukung fitur penemuan dan penetapan perangkat di NNAPI, implementasikan getType dan getVersionString di IDevice.hal untuk memungkinkan kerangka kerja mendapatkan jenis perangkat dan versi driver.

Untuk setiap perangkat, tentukan jenisnya sebagai salah satu kategori berikut seperti yang ditentukan dalam DeviceType di types.hal .

  • OTHER : Perangkat yang tidak termasuk dalam kategori lainnya, termasuk antarmuka heterogen, yang merupakan antarmuka IDevice tunggal yang mengelola beberapa perangkat, mungkin dari jenis yang berbeda. Driver dengan antarmuka heterogen juga harus mengekspos antarmuka IDevice terpisah yang sesuai dengan masing-masing perangkat untuk memungkinkan aplikasi memilih dari perangkat tersebut.
  • CPU : CPU inti tunggal atau multiinti.
  • GPU : GPU yang dapat menjalankan model NNAPI dan mempercepat API grafis seperti OpenGL ES dan Vulkan.
  • ACCELERATOR : Unit pemrosesan saraf (NPU) khusus.

Terapkan getVersionString di IDevice.hal untuk mendapatkan string versi implementasi perangkat. Metode ini harus mengembalikan string yang dapat dibaca manusia. Format stringnya spesifik untuk vendor. String versi harus berbeda untuk setiap versi baru driver.

Nama antarmuka IDevice harus mengikuti format {VENDOR}-{DEVICE_NAME} .