Penemuan dan Penugasan Perangkat

Di Android 10, Neural Networks API (NNAPI) memperkenalkan fungsi yang memungkinkan aplikasi dan library framework machine learning mendapatkan informasi tentang perangkat yang tersedia dan menentukan perangkat mana yang akan digunakan untuk mengeksekusi model. Memberikan informasi tentang perangkat yang tersedia memungkinkan aplikasi untuk mendapatkan versi yang tepat dari driver yang ditemukan pada perangkat untuk menghindari ketidakcocokan yang diketahui. Dengan memberi aplikasi kemampuan untuk menentukan perangkat mana yang akan mengeksekusi bagian model yang berbeda, aplikasi dapat dioptimalkan untuk produk tempat mereka 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 lain, 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 perangkat individual untuk memungkinkan aplikasi memilih dari perangkat tersebut.
  • CPU : CPU single core atau multicore.
  • GPU : GPU yang dapat menjalankan model NNAPI dan mempercepat API grafis seperti OpenGL ES dan Vulkan.
  • ACCELERATOR : Unit pemrosesan saraf khusus (NPU).

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

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