ชุดทดสอบ 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