เรียกใช้การทดสอบ Mobly ของ NPU Manager

ชุดทดสอบ CtsNpuManagerMoblyTestCases จะตรวจสอบการรองรับการใช้งานบริการ NpuManager ของอุปกรณ์ ซึ่งเพิ่มเข้ามาใน Android 17 (API ระดับ 37) การทดสอบที่อิงตาม Mobly เหล่านี้จะประเมินการจัดลำดับความสำคัญของปริมาณงาน NPU, ตรวจสอบว่าปริมาณงาน NPU ของแอปที่ทำงานอยู่เบื้องหน้าได้รับความสำคัญสูงกว่าปริมาณงานของแอปที่ทำงานอยู่เบื้องหลัง และตรวจสอบการควบคุมการเข้าถึง NPU

การกำหนดค่าการทดสอบ

ระบบได้เพิ่มประสิทธิภาพพารามิเตอร์เริ่มต้นส่วนกลางสำหรับชุดทดสอบนี้ให้เหมาะกับอุปกรณ์อ้างอิง เนื่องจากความสามารถของฮาร์ดแวร์ NPU อาจแตกต่างกันไปในอุปกรณ์แต่ละเครื่อง ให้ปรับพารามิเตอร์การกำหนดค่าการทดสอบเพื่อให้การทดสอบทำงานได้อย่างถูกต้องบนฮาร์ดแวร์ของคุณ

เหตุผลที่ต้องปรับ

การทดสอบการจัดลำดับความสำคัญหลัก test_foreground_app_finishes_first อาศัยการแข่งขันโดยการประเมินว่าแอปที่ทำงานอยู่เบื้องหน้าจะทำการอนุมานเสร็จก่อนแอปที่ทำงานอยู่เบื้องหลังหรือไม่ เพื่อให้การทดสอบเป็นไปตามข้อกำหนดด้านความเสถียรในการผ่านการทดสอบ 2 ใน 3 ครั้ง ให้กำหนดค่าพารามิเตอร์เหล่านี้ให้ตรงกับความเร็ว NPU ที่เฉพาะเจาะจงของอุปกรณ์

ไฟล์การกำหนดค่าจะอยู่ในโครงสร้างแหล่งที่มาของ Android ที่ packages/modules/NpuManager/tests/cts/mobly_config.yaml

พารามิเตอร์ที่กำหนดค่าได้

เมื่อปรับการทดสอบสำหรับอุปกรณ์ ให้ปรับพารามิเตอร์ต่อไปนี้ภายในไฟล์ YAML ค่าตัวเลขทั้งหมดต้องมากกว่า 0 และการหน่วงเวลาของแอปที่ทำงานอยู่เบื้องหน้าต้องมีค่าอย่างน้อย 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