Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Praktik Terbaik Penerapan Pengemudi NNAPI

Halaman ini menjelaskan praktik terbaik untuk mengimplementasikan driver Neural Networks API (NNAPI) untuk memungkinkan adopsi NNAPI secara luas oleh developer aplikasi.

Mempersingkat waktu startup

Jika driver Anda mengubah bobot model pada penggunaan pertama, pastikan driver mendukung caching kompilasi, yang mengurangi waktu yang digunakan untuk kompilasi saat aplikasi dimulai. Ini penting karena aplikasi mungkin menghindari penggunaan akselerasi perangkat keras jika waktu mulai terlalu lama. Misalnya, beberapa aplikasi memiliki bobot lebih dari 100 MB dan mengubahnya setiap kali aplikasi diluncurkan akan sia-sia.

Mengurangi latensi minimal

Untuk memastikan bahwa model menggunakan akselerasi hardware, penting untuk mengurangi latensi minimal pada driver. Banyak aplikasi menggunakan model kecil yang dijalankan beberapa kali dan jika latensi minimal untuk mengeksekusi beban kerja terlalu tinggi, seperti beberapa milidetik, model mungkin menjalankan beban kerja pada CPU, yang hanya membutuhkan satu atau dua milidetik, daripada menggunakan perangkat keras akselerasi. Hati-hati dengan sinkronisasi utas yang mahal.

Menggunakan grup NN HAL SchedTune

Dari Android 11 atau lebih tinggi, AOSP menyertakan grup NN HAL SchedTune khusus yang memungkinkan proses NN HAL interproses menggunakan inti besar, mirip dengan implementasi proses yang sama dalam cgroup top-app telah ditentukan sebelumnya. Menggunakan grup SchedTune ini mengurangi overhead driver, terutama untuk model kecil.

Untuk menggunakan grup SchedTune, tambahkan baris berikut ke file init.rc dari proses NN HAL:

writepid /dev/stune/nnapi-hal/tasks