এই পৃষ্ঠায়, অ্যাপ ডেভেলপারদের মধ্যে NNAPI-এর ব্যাপক ব্যবহার নিশ্চিত করতে, নিউরাল নেটওয়ার্ক API (NNAPI) ড্রাইভার প্রয়োগ করার পেশাদার পদ্ধতি বর্ণনা করা হয়েছে।
স্টার্ট-আপের সময় কম রাখুন
আপনার ড্রাইভার প্রথমবার ব্যবহারের সময় মডেলের ওয়েট ট্রান্সফর্ম করলে, ড্রাইভার যাতে কম্পাইলেশন ক্যাশিং সাপোর্ট করে তা নিশ্চিত করুন। এটি অ্যাপ চালু হওয়ার সময় কম্পাইলেশনের জন্য প্রয়োজনীয় সময় কমায়। এটি গুরুত্বপূর্ণ কারণ স্টার্ট-আপের সময় খুব বেশি হলে অ্যাপ হার্ডওয়্যার অ্যাক্সিলারেশন ব্যবহার করা এড়িয়ে যেতে পারে। যেমন, কিছু অ্যাপের ওজন ১০০ MB-এর বেশি হয় এবং অ্যাপ লঞ্চ করার সময় প্রতিবার এগুলি ট্রান্সফর্ম করা অর্থের অপচয়।
ন্যূনতম লেটেন্সি কমানো
মডেল যাতে হার্ডওয়্যার অ্যাক্সিলারেশন ব্যবহার করে তা নিশ্চিত করতে, ড্রাইভারদের মধ্যে ন্যূনতম লেটেন্সি কমানো গুরুত্বপূর্ণ। অনেক অ্যাপ ছোট মডেল ব্যবহার করে যা একাধিকবার এক্সিকিউট করা হয় এবং কোনও ওয়ার্কলোড এক্সিকিউট করার ন্যূনতম লেটেন্সি খুব বেশি হলে, যেমন কয়েক মিলি সেকেন্ড, মডেলটি সিপিইউতে ওয়ার্কলোড রান করতে পারে, যা হার্ডওয়্যার অ্যাক্সিলারেশন ব্যবহার করার পরিবর্তে মাত্র এক বা দুই মিলি সেকেন্ড সময় নেয়। থ্রেড সিঙ্ক্রোনাইজেশনের খরচ সম্পর্কে সতর্ক থাকুন।
NN HAL SchedTune গ্রুপ ব্যবহার করুন
Android 11 বা তার পরবর্তী যেকোনও ভার্সনে, AOSP-তে একটি ডেডিকেটেড
NN HAL
SchedTune
গ্রুপ অন্তর্ভুক্ত থাকে যা ইন্টারপ্রসেস NN HAL প্রসেসকে বড়
কোর ব্যবহার করার অনুমতি দেয়। এটি আগে থেকে নির্ধারিত
top-app cgroup-এর মধ্যে একই প্রসেস ইমপ্লিমেন্টেশনের মতো। এই
SchedTune গ্রুপ ব্যবহার করলে ড্রাইভার ওভারহেড কমে যায়, বিশেষ করে ছোট মডেলের ক্ষেত্রে।
SchedTune গ্রুপ ব্যবহার করতে, NN HAL প্রসেসের init.rc ফাইলে নিম্নলিখিত লাইনটি যোগ করুন:
writepid /dev/stune/nnapi-hal/tasks