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

Bu sayfada, NNAPI'nin uygulama geliştiricileri tarafından geniş çapta benimsenmesine olanak sağlamak amacıyla Sinir Ağları API'si (NNAPI) sürücülerini uygulamaya yönelik en iyi uygulamalar açıklanmaktadır.

Başlatma sürelerini kısa tutun

Sürücünüz ilk kullanımda bir modelin ağırlıklarını dönüştürüyorsa sürücünün derleme önbelleğe almayı desteklediğinden emin olun; bu, uygulama başlatıldığında derleme için kullanılan süreyi azaltır. Başlatma süreleri çok uzunsa uygulamalar donanım hızlandırmayı kullanmaktan kaçınabileceğinden bu önemlidir. Örneğin, bazı uygulamalar 100 MB'tan fazla ağırlığa sahiptir ve uygulama her başlatıldığında bunları dönüştürmek israftır.

Minimum gecikmeyi azaltın

Modellerin donanım hızlandırmasını kullandığından emin olmak için sürücülerdeki gecikmeyi en aza indirmek önemlidir. Çoğu uygulama, birden çok kez yürütülen küçük modeller kullanır ve bir iş yükünü yürütmek için gereken minimum gecikme süresi çok yüksekse (birkaç milisaniye gibi), modeller iş yükünü donanım kullanmak yerine yalnızca bir veya iki milisaniye süren CPU üzerinde çalıştırabilir. ivmeler. Pahalı iş parçacığı senkronizasyonuna dikkat edin.

NN HAL SchedTune grubunu kullanma

Android 11 veya sonraki sürümlerden itibaren AOSP, önceden tanımlanmış top-app grubu içindeki aynı işlem uygulamasına benzer şekilde, işlemler arası NN HAL işlemlerinin büyük çekirdekler kullanmasına olanak tanıyan özel bir NN HAL SchedTune grubu içerir. Bu SchedTune grubunun kullanılması, özellikle küçük modeller için sürücü yükünü azaltır.

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

writepid /dev/stune/nnapi-hal/tasks