--- ### 如何進行 Thermal 測試 --- 主要將利用 run_model 程序進行模型的測試,利用 dxrt-cli 程序監控溫度. * 如何測量 * 基本做法 * 監控溫度 ``` $ ./bin/dxrt-cli -m 1 $ ./bin/dxrt-cli -m 1 > temp_m1a.log $ ./bin/dxrt-cli -m 1 2>&1 | tee log.txt ``` * 測試模組 ``` $ ./bin/run_model -m YoloV7.dxnn -l 1000 -b -f 90 $ ./bin/run_model -m YOLOV5S_1.dxnn -l 1000 -b -f 480 ``` * Note : YOLOv5s_640x640_FPS_480 , YOLOv7_640x640_FPS_90 逼近滿載性能 * 標準化流程 * vi thermal_test.sh ``` #!/bin/bash MODEL="../dx_app/assets/models/YOLOV5S_6.dxnn" FPS=480 LOOPS=1000 ROUNDS=10 echo "===== DEEPX Thermal Loop Test =====" echo "Model: $MODEL" echo "FPS: $FPS" echo "Loops per round: $LOOPS" echo "Total rounds: $ROUNDS" echo "===================================" echo "" # 記錄開始時間 TEST_START=$(date +%s) # 啟動溫度記錄 TEMP_LOG="temperature_log.txt" echo "[INFO] Starting temperature logging to $TEMP_LOG ..." ./bin/dxrt-cli -m 1 > $TEMP_LOG & TEMP_PID=$! echo "[INFO] Temperature logging PID: $TEMP_PID" echo "" for i in $(seq 1 $ROUNDS); do echo "===== Round $i / $ROUNDS =====" LOGFILE="thermal_round_${i}.log" echo "Running: $MODEL (FPS=$FPS, LOOPS=$LOOPS)" echo "Saving model log to: $LOGFILE" ./bin/run_model -m $MODEL -f $FPS -l $LOOPS | tee $LOGFILE echo "Round $i completed." echo "" done # 停止溫度記錄 echo "[INFO] Stopping temperature logging..." kill $TEMP_PID echo "[INFO] Temperature logging stopped." # 記錄結束時間 TEST_END=$(date +%s) # 計算總時間(秒) TOTAL_TIME=$((TEST_END - TEST_START)) echo "" echo "===== Thermal Test Completed =====" echo "Start time : $(date -d @$TEST_START)" echo "End time : $(date -d @$TEST_END)" echo "Total time : ${TOTAL_TIME} seconds" # 顯示格式化時間 echo "Total time (formatted): $(printf '%02d:%02d:%02d\n' $((TOTAL_TIME/3600)) $((TOTAL_TIME%3600/60)) $((TOTAL_TIME%60)))" ``` * DX-RT v2.9.5 標準化動作 * 執行 bash thermal_test.sh * 請觀察運行十次的時間,並評估測時間來修改 ROUNDS 次數 (假設 10 次運行 10秒, 則 30 分鐘則需運行 180 次 ) * 再次, 運行 bash thermal_test.sh , 且溫度資訊將會記錄至 temperature_log.txt * 透過 [Thermal_Test_Table.xsl](https://1drv.ms/x/c/f7ddb1943ac2b7e8/EeuG2Xq1llVBt7QB9smEsvUBpUaioZU4n0-RK5b31RiEjg?e=u9jEa0) 彙整資訊 (將temperature_log 複製至 excel 中 ) * 細節 * 每一瓦大約上升 19 度 * 晶片最大5W , LPDDR5 最多浪費2W , 平均花費約5W </br> </br> --- ### [【總部文件】DEEPX Integration Tool User Manual](https://1drv.ms/b/c/f7ddb1943ac2b7e8/EVOa5jkOLxFFtXVOrHFMyWMBFA_fo-ioE_k9bVnsry6JOw?e=WsEwM3) --- * 測試版本 rt2.9.5/driver1.5.0/fw2.0.5 * 測試模組 (DX_Burn_in_PGM_V1.0.3) ``` $ ./bin/run_model -m YoloV7.dxnn -l 1000 -b -f 90 $ ./bin/run_model -m YOLOV5S_1.dxnn -l 1000 -b -f 60 ``` Note. A full execution run may take up to 1 hour for 100,000 times. * 監控溫度 ``` $ ./bin/dxrt-cli -m 1 > temp_m1a.log ``` ![image](https://hackmd.io/_uploads/rJVNQ7Y3el.png) * 溫度動作 ![image](https://hackmd.io/_uploads/r16J3mVZbx.png) --- ### [【總部文件】DX-M1 M.2 Thermal Test Guide with AAEON](https://1drv.ms/b/c/f7ddb1943ac2b7e8/EQMH2Wm3a-9LrC_hge0W4k8BPCWmzokGTJcWD4gcbS02qw?e=McHznb) --- * 硬體安裝 : DX-M1 上層, 利用散熱模塊與機殼散熱 * 測試版本 rt2.9.5/driver1.5.0/fw2.0.5 * 測試模組 (DX_Burn_in_PGM_V1.0.3) ``` $ ./bin/run_model -m YoloV7.dxnn -l 1000 -b -f 90 ``` * 監控溫度 (test 30 min) ``` $ ./bin/dxrt-cli -m 1 ``` ![image](https://hackmd.io/_uploads/SyTQjmN--g.png) --- ### [【總部文件】DX-M1 M.2 Thermal Test Guide with Radxa](https://1drv.ms/b/c/f7ddb1943ac2b7e8/EQMH2Wm3a-9LrC_hge0W4k8BPCWmzokGTJcWD4gcbS02qw?e=McHznb) --- * 硬體安裝 : DX-M1 底層, 利用散熱軟墊與機殼散熱 * 測試版本 : rt2.9.5/driver1.7.0/fw2.0.5 * 測試模組 (DX_Burn_in_PGM_V1.0.3) ``` $ ./bin/run_model -m YoloV7.dxnn -l 1000 -b -f 90 ``` * 監控溫度 (test 30 min) ``` $ ./bin/dxrt-cli -m 1 ``` ![image](https://hackmd.io/_uploads/BkiIs7VZZg.png) --- ### [【客戶文件】WE-Link RSQ11 DeepX AI sytem Thermal Report ](https://1drv.ms/b/c/f7ddb1943ac2b7e8/EX2drEFxR7hAiIOwHqR_F90Bb7pzohuenBp1BWW5pIqigg?e=mPDksU) --- * 硬體安裝 : DX-M1 底層, 利用導熱銅管與機殼散熱 * 測試版本 : rt3.0.0/driver1.7.0/fw2.x.x * 測試模組 ``` $ run_model -m YOLOV5S-1.dxnn -t 16200 -f <Setting> ``` * 監控溫度 (test 1.5 to 2 hr, and rest 10 min in 4 hour) ``` $ ./bin/dxrt-cli -m 1 ``` ![image](https://hackmd.io/_uploads/BkiIs7VZZg.png) * RSQ11 * 60 FPS → 45°C * 180 FPS → 55°C * 360 FPS → 63°C * 480 FPS → 65°C --- ### 威力驗證 --- * 測試版本為 rt3.0.0 * 監控溫度 $ dxtop * 測試模組 * 滿載100% $ ./bin/run_model -m ../dx_app/assets/models/YOLOV9S.dxnn -b -l 1000 -d 0 -f 100 ![image](https://hackmd.io/_uploads/S19luzqhxe.png)