Bu sayfada, uygulama geliştiricilerin NNAPI'yi yaygın olarak kullanabilmesi için Neural Networks API (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 özellik, bir uygulama başlatıldığında derleme için kullanılan süreyi kısaltır. Başlatma süreleri çok uzunsa uygulamalar donanım hızlandırmayı kullanmaktan kaçınabileceğinden bu önemlidir. Örneğin, bazı uygulamaların ağırlıkları 100 MB'tan fazladır ve bu ağırlıkları uygulama her başlatıldığında dönüştürmek gereksizdir.
Minimum gecikmeyi azaltma
Modellerin donanım hızlandırmayı kullanmasını sağlamak için sürücülerdeki minimum gecikmeyi azaltmak önemlidir. Birçok uygulama, birden çok kez yürütülen küçük modeller kullanır. Bir iş yükünü yürütmek için gereken minimum gecikme süresi çok yüksekse (ör. birkaç milisaniye), modeller donanım hızlandırmalarını kullanmak yerine iş yükünü yalnızca bir veya iki milisaniye süren CPU'da çalıştırabilir. Maliyetli iş parçacığı senkronizasyonuna dikkat edin.
NN HAL SchedTune grubunu kullanma
Android 11 veya sonraki sürümlerde AOSP, süreçler arası NN HAL işlemlerinin büyük çekirdekleri kullanmasına olanak tanıyan özel bir NN HAL SchedTune grubu içerir. Bu, önceden tanımlanmış top-app
cgroup içindeki aynı süreçli uygulamaya benzer. Bu SchedTune grubunu kullanmak, özellikle küçük modellerde sürücü yükünü azaltır.
SchedTune grubunu kullanmak için NN HAL sürecinin init.rc
dosyasına aşağıdaki satırı ekleyin:
writepid /dev/stune/nnapi-hal/tasks