Alex Cheema 7 months ago
parent
commit
378975813c
1 changed files with 27 additions and 18 deletions
  1. 27 18
      .github/workflows/bench_job.yml

+ 27 - 18
.github/workflows/bench_job.yml

@@ -54,27 +54,31 @@ jobs:
           pip install boto3==1.35.76
       - name: Configure system
         run: |
-          # Check initial CPU state
-          echo "Initial CPU state:"
-          sysctl machdep.cpu || true
-          sysctl hw.cpufamily || true
-          sysctl hw.cputype || true
-          sysctl hw.logicalcpu || true
-          sysctl hw.physicalcpu || true
+          # Disable all power management and performance throttling
+          sudo pmset -a lessbright 0
+          sudo pmset -a disablesleep 1
+          sudo pmset -a sleep 0
+          sudo pmset -a hibernatemode 0
+          sudo pmset -a autopoweroff 0
+          sudo pmset -a standby 0
+          sudo pmset -a powernap 0
+          sudo pmset -a proximitywake 0
+          sudo pmset -a tcpkeepalive 1
+          sudo pmset -a powermode 0
+          sudo pmset -a gpuswitch 2
           
-          # Apply MLX optimizations
+          # Optimize GPU memory allocation
+          sudo sysctl -w kern.memorystatus_purge_on_warning=0
+          sudo sysctl -w kern.memorystatus_purge_on_critical=0
+
           ./configure_mlx.sh
-          
-          # Disable CPU throttling (correct syntax for M-series Macs)
-          sudo pmset -a powermode 0 2>/dev/null || echo "Failed to set power mode"
-          sudo pmset -a gpuswitch 2 2>/dev/null || echo "Failed to set GPU mode"
-          
+
           # Check final state
-          echo "Final CPU state:"
-          sysctl machdep.cpu || true
-          pmset -g thermals || true
-          pmset -g || true
+          echo "Final system state:"
+          pmset -g
           sysctl iogpu
+          sysctl kern.memorystatus_purge_on_warning
+          sysctl kern.memorystatus_purge_on_critical
       - name: Run exo
         env:
           aws_access_key_id: ${{ secrets.S3_EXO_BENCHMARKS_AWS_ACCESS_KEY_ID }}
@@ -106,7 +110,12 @@ jobs:
           which .venv/bin/exo
 
           echo "Starting exo daemon..."
-          .venv/bin/exo --node-id="${MY_NODE_ID}" --node-id-filter="${ALL_NODE_IDS}" --interface-type-filter="Ethernet" --chatgpt-api-port 52415 > output1.log 2>&1 &
+          # Start exo with high priority
+          sudo nice -n -20 .venv/bin/exo \
+            --node-id="${MY_NODE_ID}" \
+            --node-id-filter="${ALL_NODE_IDS}" \
+            --interface-type-filter="Ethernet" \
+            --chatgpt-api-port 52415 > output1.log 2>&1 &
           PID1=$!
           echo "Exo process started with PID: $PID1"
           tail -f output1.log &