Di Android 10, Neural Networks API (NNAPI) memperkenalkan fungsi yang memungkinkan library dan aplikasi framework machine learning mendapatkan informasi tentang perangkat yang tersedia dan menentukan perangkat tempat model akan dijalankan. Menyediakan informasi tentang perangkat yang tersedia memungkinkan aplikasi mendapatkan versi driver tepat yang terdapat di perangkat untuk menghindari ketidakcocokan umum. Dengan memberi aplikasi kemampuan untuk menentukan perangkat mana yang akan mengeksekusi berbagai bagian model, aplikasi dapat dioptimalkan untuk produk tempat aplikasi di-deploy.
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 mengizinkan framework mendapatkan jenis perangkat dan versi
driver.
Untuk setiap perangkat, tentukan jenis sebagai salah satu kategori berikut seperti
yang ditentukan dalam
DeviceType
di
types.hal
.
OTHER
: Perangkat yang tidak termasuk dalam kategori lain, termasuk antarmuka heterogen, yaitu antarmukaIDevice
tunggal yang mengelola beberapa perangkat, mungkin dari berbagai jenis. Drive dengan antarmuka heterogen juga harus menampilkan antarmukaIDevice
terpisah yang sesuai dengan perangkat individual agar aplikasi dapat memilih dari perangkat tersebut.CPU
: CPU dengan satu 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 dari implementasi perangkat.
Metode ini harus menampilkan string yang dapat dibaca manusia. Format {i>string<i} bersifat
spesifik per vendor. String versi harus berbeda untuk setiap versi
driver.
Nama antarmuka IDevice
harus mengikuti format
{VENDOR}-{DEVICE_NAME}
.