Di Android 10, Neural Networks API (NNAPI) memperkenalkan fungsi yang memungkinkan library framework machine learning dan aplikasi mendapatkan informasi tentang perangkat yang tersedia dan menentukan perangkat mana yang akan menjalankan model. Menyediakan informasi tentang perangkat yang tersedia memungkinkan aplikasi mendapatkan versi driver yang tepat yang terdapat di perangkat untuk menghindari ketidakcocokan umum. Dengan memberikan kemampuan kepada aplikasi untuk menentukan perangkat mana yang akan menjalankan berbagai bagian model, aplikasi dapat dioptimalkan untuk produk tempat aplikasi di-deploy.
Dukungan untuk penemuan dan penetapan perangkat diperlukan untuk penerapan NN HAL 1.2.
Penerapan
Untuk mendukung fitur penemuan dan penetapan perangkat di NNAPI, terapkan
getType
dan
getVersionString
di IDevice.hal agar framework dapat 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 satu antarmukaIDeviceyang mengelola beberapa perangkat, yang mungkin memiliki jenis yang berbeda. Driver dengan antarmuka heterogen juga harus mengekspos antarmukaIDeviceterpisah yang sesuai dengan perangkat individual agar aplikasi dapat 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 neural (NPU) khusus.
Terapkan
getVersionString
di IDevice.hal untuk mendapatkan string versi penerapan perangkat.
Metode ini harus menampilkan string yang dapat dibaca manusia. Format string bersifat khusus vendor. String versi harus berbeda untuk setiap versi driver baru.
Nama antarmuka IDevice harus mengikuti format {VENDOR}-{DEVICE_NAME}.