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 antarmukaIDevice
tunggal yang mengelola beberapa perangkat, mungkin dari jenis yang berbeda. Driver dengan antarmuka heterogen juga harus mengekspos antarmukaIDevice
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}
.