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 dieksekusi. Menyediakan informasi tentang perangkat yang tersedia memungkinkan aplikasi mendapatkan versi driver yang tepat yang ditemukan 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 penerapan NN HAL 1.2.
Implementasi
Untuk mendukung fitur penemuan dan penetapan perangkat di NNAPI, terapkan
getType
dan
getVersionString
di IDevice.hal
untuk memungkinkan framework mendapatkan jenis perangkat dan versi
driver.
Untuk setiap perangkat, tentukan jenisnya sebagai salah satu kategori berikut seperti
yang ditentukan di
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 setiap perangkat 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
: Neural processing unit (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}
.