CtsNpuManagerMoblyTestCases স্যুটটি অ্যান্ড্রয়েড ১৭ (এপিআই লেভেল ৩৭)-এ যুক্ত হওয়া NpuManager সার্ভিসের সাথে ডিভাইসের সামঞ্জস্যতা যাচাই করে। এই Mobly-ভিত্তিক টেস্টগুলো NPU ওয়ার্কলোডের অগ্রাধিকার মূল্যায়ন করে, ফোরগ্রাউন্ড অ্যাপের NPU ওয়ার্কলোডগুলো ব্যাকগ্রাউন্ডেরগুলোর চেয়ে বেশি অগ্রাধিকার পায় তা নিশ্চিত করে এবং NPU অ্যাক্সেস কন্ট্রোল যাচাই করে।
পরীক্ষার কনফিগারেশন
এই টেস্ট স্যুটের গ্লোবাল ডিফল্ট প্যারামিটারগুলো রেফারেন্স ডিভাইসের জন্য অপ্টিমাইজ করা হয়েছে। যেহেতু বিভিন্ন ডিভাইসে NPU হার্ডওয়্যারের সক্ষমতা ভিন্ন হতে পারে, তাই আপনার হার্ডওয়্যারে টেস্টগুলো সঠিকভাবে চলে তা নিশ্চিত করতে টেস্ট কনফিগারেশন প্যারামিটারগুলো অ্যাডজাস্ট করুন।
কেন টিউনিং প্রয়োজন
প্রায়োরিটাইজেশন টেস্ট test_foreground_app_finishes_first এর মূল ভিত্তি হলো একটি রেস কন্ডিশন, যা মূল্যায়ন করে যে ফোরগ্রাউন্ড অ্যাপটি ব্যাকগ্রাউন্ড অ্যাপের আগে তার ইনফারেন্স শেষ করে কি না। টেস্টটি যাতে তিনটি রানের মধ্যে দুটিতে পাস করার স্থিতিশীলতার শর্ত নির্ভরযোগ্যভাবে পূরণ করে, তা নিশ্চিত করতে আপনার ডিভাইসের নির্দিষ্ট NPU স্পিডের সাথে মিলিয়ে এই প্যারামিটারগুলো কনফিগার করুন।
কনফিগারেশন ফাইলটি অ্যান্ড্রয়েড সোর্স ট্রিতে packages/modules/NpuManager/tests/cts/mobly_config.yaml ঠিকানায় অবস্থিত।
কনফিগারযোগ্য প্যারামিটার
আপনার ডিভাইসের জন্য পরীক্ষাগুলো টিউন করার সময়, YAML ফাইলের মধ্যে নিম্নলিখিত প্যারামিটারগুলো অ্যাডজাস্ট করুন। সমস্ত সাংখ্যিক মান অবশ্যই শূন্যের চেয়ে বড় হতে হবে এবং বিশেষ করে ফোরগ্রাউন্ড ডিলে অবশ্যই ডিফল্ট মান অনুযায়ী কমপক্ষে 0.5 seconds হতে হবে।
foreground_delay_seconds- বিবরণ: ফোরগ্রাউন্ড অ্যাপ তার ইনফারেন্স শুরু করার আগে ব্যাকগ্রাউন্ড অ্যাপকে দেওয়া সেকেন্ডের অগ্রিম সময়। ক্রমটি হলো: ব্যাকগ্রাউন্ড অ্যাপ ইনফারেন্স শুরু করে -> [টেস্টটি
foreground_delay_secondsসময় অপেক্ষা করে] -> ফোরগ্রাউন্ড অ্যাপ ইনফারেন্স শুরু করে। - ডিফল্ট:
0.5 - টিউনিং নির্দেশিকা: বেশি বিলম্বের ফলে ফোরগ্রাউন্ড অ্যাপ শুরু হওয়ার আগে ব্যাকগ্রাউন্ড অ্যাপটি অনুমানগুলো প্রক্রিয়া করার জন্য আরও বেশি সময় পায়। ব্যাকগ্রাউন্ড অ্যাপের কাজের চাপ প্রায় অর্ধেক সম্পন্ন হলে ফোরগ্রাউন্ড অ্যাপটির তার অনুমানগুলো শুরু করা উচিত।
- বিবরণ: ফোরগ্রাউন্ড অ্যাপ তার ইনফারেন্স শুরু করার আগে ব্যাকগ্রাউন্ড অ্যাপকে দেওয়া সেকেন্ডের অগ্রিম সময়। ক্রমটি হলো: ব্যাকগ্রাউন্ড অ্যাপ ইনফারেন্স শুরু করে -> [টেস্টটি
foreground_test_num_iterations_per_thread- বিবরণ: ফোরগ্রাউন্ড এবং ব্যাকগ্রাউন্ড উভয় অ্যাপের জন্য
test_foreground_app_finishes_firstটেস্টটি সম্পাদনে প্রতিটি স্বতন্ত্র থ্রেড দ্বারা নির্বাহিত ধারাবাহিক ইনফারেন্স লুপের সংখ্যা। - ডিফল্ট:
30
- বিবরণ: ফোরগ্রাউন্ড এবং ব্যাকগ্রাউন্ড উভয় অ্যাপের জন্য
foreground_test_num_threads- বিবরণ: ফোরগ্রাউন্ড এবং ব্যাকগ্রাউন্ড উভয় অ্যাপের জন্য
test_foreground_app_finishes_firstটেস্টটি একযোগে ইনফারেন্স চালানোর জন্য তৈরি হওয়া কনকারেন্ট থ্রেডের সংখ্যা। - ডিফল্ট:
4
- বিবরণ: ফোরগ্রাউন্ড এবং ব্যাকগ্রাউন্ড উভয় অ্যাপের জন্য
পরীক্ষাগুলো চালান
আপনার ডিভাইসটি কনফিগার এবং সংযুক্ত করার পরে, স্ট্যান্ডার্ড CTS Tradefed কমান্ড ব্যবহার করে স্যুটটি চালান।
CTS Tradefed ব্যবহার করে মডিউলটি চালাতে:
cts-tradefed run cts -m CtsNpuManagerMoblyTestCases