تتحقّق مجموعة CtsNpuManagerMoblyTestCases من توافق الجهاز مع خدمة NpuManager التي تمت إضافتها في Android 17 (المستوى 37 لواجهة برمجة التطبيقات). تُقيّم هذه الاختبارات المستندة إلى Mobly تحديد أولويات عبء عمل وحدة المعالجة العصبية، وتضمن حصول أحمال عمل وحدة المعالجة العصبية للتطبيقات التي تعمل في المقدّمة على أولوية أعلى من تلك التي تعمل في الخلفية، كما تتحقّق من صحة عناصر التحكّم في الوصول إلى وحدة المعالجة العصبية.
إعدادات الاختبار
تم تحسين المَعلمات التلقائية العامة لمجموعة الاختبار هذه لتناسب الأجهزة المرجعية. بما أنّ إمكانات أجهزة وحدة المعالجة العصبية (NPU) يمكن أن تختلف باختلاف الأجهزة، يجب تعديل مَعلمات إعداد الاختبار لضمان تشغيل الاختبارات بشكل سليم على جهازك.
سبب ضرورة الضبط
يعتمد اختبار تحديد الأولوية الأساسي test_foreground_app_finishes_first
على حالة سباق من خلال تقييم ما إذا كان التطبيق الذي يعمل في المقدّمة ينهي
عمليات الاستدلال قبل التطبيق الذي يعمل في الخلفية. ولضمان استيفاء الاختبار
لمتطلبات الثبات بشكل موثوق عند اجتيازه مرتين من ثلاث مرات، اضبط هذه
المَعلمات لتتطابق مع سرعات وحدة المعالجة العصبية المحددة لجهازك.
يقع ملف الإعداد في شجرة مصدر Android في
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