एनएनएपीआई ड्राइवर को लागू करने के सबसे सही तरीके

इस पेज पर, न्यूरल नेटवर्क एपीआई (एनएनएपीआई) के ड्राइवर को लागू करने के सबसे सही तरीकों के बारे में बताया गया है. इससे ऐप्लिकेशन डेवलपर, एनएनएपीआई को बड़े पैमाने पर इस्तेमाल कर पाएंगे.

स्टार्टअप समय कम रखें

अगर आपका ड्राइवर पहली बार इस्तेमाल करने पर मॉडल के वेट में बदलाव करता है, तो पक्का करें कि ड्राइवर की डिवाइस पर कैश मेमोरी को सेव करने की सुविधा काम करती हो. इससे, ऐप्लिकेशन के शुरू होने पर, कंपाइलेशन में लगने वाला समय कम हो जाता है. यह ज़रूरी है, क्योंकि अगर ऐप्लिकेशन चालू होने में ज़्यादा समय लगता है, तो हो सकता है कि ऐप्लिकेशन हार्डवेयर से तेज़ी लाने की सुविधा का इस्तेमाल न करे. उदाहरण के लिए, कुछ ऐप्लिकेशन का वज़न 100 एमबी से ज़्यादा होता है. इसलिए, ऐप्लिकेशन के हर बार लॉन्च होने पर उसे पूरी तरह बदलने में कोई दिक्कत नहीं होती.

इंतज़ार का समय कम करें

यह पक्का करने के लिए कि मॉडल, हार्डवेयर से तेज़ी लाने की सुविधा का इस्तेमाल करें, ड्राइवर की तरफ़ से होने वाली देरी को कम करना ज़रूरी है. कई ऐप्लिकेशन छोटे मॉडल का इस्तेमाल करते हैं जिन्हें कई बार चलाया जाता है और अगर वर्कलोड को पूरा करने में कम से कम इंतज़ार का समय बहुत ज़्यादा हो, जैसे कि कुछ मिलीसेकंड. तो मॉडल हार्डवेयर से तेज़ी लाने के बजाय, सीपीयू पर ही वर्कलोड को चला सकते हैं. इसमें सिर्फ़ एक या दो मिलीसेकंड लगते हैं. महंगे थ्रेड सिंक करने से सावधान रहें.

NN HAL SchedTune ग्रुप का इस्तेमाल करें

Android 11 या उसके बाद वाले वर्शन के लिए, एओएसपी में एक खास NN HAL SchedTune ग्रुप शामिल है. यह इंटरप्रोसेस NN HAL प्रोसेस को बिग कोर्स का इस्तेमाल करने की अनुमति देता है. यह पहले से तय top-app cgroup में लागू की गई प्रोसेस की तरह ही है. इस SpedTune ग्रुप का इस्तेमाल करने से, ड्राइवर का ओवरहेड कम हो जाता है, खासकर छोटे मॉडल के लिए.

SchedTune ग्रुप का इस्तेमाल करने के लिए, NN HAL प्रोसेस की init.rc फ़ाइल में यह लाइन जोड़ें:

writepid /dev/stune/nnapi-hal/tasks