مجموعه CtsNpuManagerMoblyTestCases سازگاری دستگاه با سرویس NpuManager را که در اندروید ۱۷ (سطح API ۳۷) اضافه شده است، تأیید میکند. این آزمایشهای مبتنی بر Mobly، اولویتبندی بار کاری NPU را ارزیابی میکنند، اطمینان حاصل میکنند که بارهای کاری NPU برنامه در پیشزمینه اولویت بالاتری نسبت به بارهای کاری پسزمینه دریافت میکنند و کنترل دسترسی NPU را اعتبارسنجی میکنند.
پیکربندی تست
پارامترهای پیشفرض جهانی برای این مجموعه تست برای دستگاههای مرجع بهینه شدهاند. از آنجا که قابلیتهای سختافزار NPU میتواند در دستگاههای مختلف متفاوت باشد، پارامترهای پیکربندی تست را تنظیم کنید تا از اجرای صحیح تستها روی سختافزار خود اطمینان حاصل کنید.
چرا تنظیم لازم است
هسته اصلی آزمون اولویتبندی test_foreground_app_finishes_first بر اساس شرایط رقابتی است و ارزیابی میکند که آیا برنامه پیشزمینه استنتاجهای خود را قبل از برنامه پسزمینه به پایان میرساند یا خیر. برای اطمینان از اینکه آزمون به طور قابل اعتمادی الزامات پایداری خود را برای گذراندن دو از سه اجرا برآورده میکند، این پارامترها را طوری پیکربندی کنید که با سرعتهای NPU خاص دستگاه شما مطابقت داشته باشند.
فایل پیکربندی در درخت کد اندروید در آدرس packages/modules/NpuManager/tests/cts/mobly_config.yaml قرار دارد.
پارامترهای قابل تنظیم
هنگام تنظیم تستها برای دستگاه خود، پارامترهای زیر را در فایل YAML تنظیم کنید. تمام مقادیر عددی باید بزرگتر از صفر باشند و تأخیر پیشزمینه (foreground delay) به طور خاص باید حداقل 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