---
# System prepended metadata

title: 【Doc】DX-M1 Thermal Test
tags: [AI_Chip]

---


---

### 如何進行 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)

