NNAPI sürücüsü uygulamasına yönelik en iyi uygulamalar

Bu sayfada, Neural Networks API'sini (NNAPI) uygulamak için en iyi uygulamalar açıklanmaktadır uygulama geliştiriciler tarafından NNAPI'nin geniş bir şekilde benimsenmesine olanak tanıyan sürücüler arasındadır.

Başlatma sürelerini kısa tutun

Sürücünüz bir modelin ağırlıklarını ilk kullanımda dönüştürüyorsa sürücüsü, derlemeleri önbelleğe almayı desteklediğinden derleme için harcanan süreyi kısaltır izin verilmez. Uygulamalar donanım kullanmaktan kaçınabileceğinden bu önemlidir başlangıç süreleri çok uzunsa hızlanma. Örneğin, bazı uygulamalarda 100 MB'tan fazla ağırlık ve uygulama her seferinde bunları dönüştürme zaman kaybına neden olur.

Minimum gecikmeyi azaltın

Modellerin donanım hızlandırmayı kullanmasını sağlamak için, hızın azaltılması Sürücülerde minimum gecikme. Birçok uygulama, çalıştırılan küçük modeller kullanır Bir iş yükünü yürütmek için gereken minimum gecikme çok fazlaysa, Örneğin modeller, iş yükünü CPU üzerinde çalıştırabilir. Bu da bir veya iki milisaniye sürer. devreye girer. Yüksek maliyetli ileti dizisi senkronizasyonuna dikkat edin.

NN HAL SchedTune grubunu kullanma

Android 11 veya sonraki sürümlerde AOSP'de özel bir NN HAL Programlı işlemler arası NN HAL işlemlerinin büyük e-postalarda kullanılabilmesini önceden tanımlanmış programdaki aynı süreçte uygulamaya benzer. top-app cgroup. Bunu kullanma SchedTune grubu, özellikle küçük modeller için sürücü ek yükünü azaltır.

SchedTune grubunu kullanmak için aşağıdaki satırı init.rc dosyasına ekleyin NN HAL süreci:

writepid /dev/stune/nnapi-hal/tasks