← back to Exo
a
63da9fc19438944737696562c6b357bf6562aee6 · 2024-12-11 18:30:02 +0000 · Alex Cheema
Files touched
Diff
commit 63da9fc19438944737696562c6b357bf6562aee6
Author: Alex Cheema <alexcheema123@gmail.com>
Date: Wed Dec 11 18:30:02 2024 +0000
a
---
.github/bootstrap.sh | 75 +++++++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 68 insertions(+), 7 deletions(-)
diff --git a/.github/bootstrap.sh b/.github/bootstrap.sh
index b63a4010..be7c58ca 100755
--- a/.github/bootstrap.sh
+++ b/.github/bootstrap.sh
@@ -168,15 +168,38 @@ log "Configuring runner with labels: $CUSTOM_LABELS"
# Set optimal performance settings
log "Configuring system for optimal performance..."
-sudo pmset -a gpuswitch 2 # Force discrete GPU if available
+
+# Force high performance mode and disable all power saving
+sudo pmset -a gpuswitch 2 # Force discrete GPU
sudo pmset -a lowpowermode 0 # Disable low power mode
sudo pmset -a hibernatemode 0 # Disable hibernation
sudo pmset -a standby 0 # Disable standby
sudo pmset -a autopoweroff 0 # Disable auto power off
-
-# Set Metal performance mode
-defaults write com.apple.MetalPerformanceShadersGraph MTLGPUFamilyMac2 -bool true
-defaults write com.apple.MetalPerformanceShadersGraph MTLCaptureEnabled -bool false
+sudo pmset -a powernap 0 # Disable power nap
+sudo pmset -a sleep 0 # Disable sleep
+sudo pmset -a disksleep 0 # Disable disk sleep
+sudo pmset -a powermode 1 # Force high performance mode
+sudo pmset -a lessbright 0 # Disable auto-brightness
+sudo pmset -a halfdim 0 # Disable display dimming
+sudo pmset -a acwake 0 # Disable wake on AC
+sudo pmset -a lidwake 0 # Disable wake on lid open
+sudo pmset -a proximitywake 0 # Disable wake on proximity
+
+# Disable Metal validation and debugging
+defaults write com.apple.CoreML MPSEnableGPUValidation -bool false
+defaults write com.apple.CoreML MPSEnableMetalValidation -bool false
+defaults write com.apple.CoreML MPSEnableGPUDebug -bool false
+defaults write com.apple.Metal GPUDebug -bool false
+defaults write com.apple.Metal GPUValidation -bool false
+defaults write com.apple.Metal MetalValidation -bool false
+defaults write com.apple.Metal MetalCaptureEnabled -bool false
+defaults write com.apple.Metal MTLValidationBehavior -string "Default"
+defaults write com.apple.Metal EnableMTLDebugLayer -bool false
+defaults write com.apple.Metal MTLDebugLevel -int 0
+
+# Create temporary directory for MPS cache with appropriate permissions
+sudo mkdir -p /tmp/mps_cache
+sudo chmod 777 /tmp/mps_cache
# Create and load launch daemon
log "Creating LaunchDaemon service..."
@@ -216,9 +239,11 @@ sudo tee /Library/LaunchDaemons/com.github.runner.plist > /dev/null << EOF
<key>CPUUsageLimit</key>
<integer>0</integer>
<key>SchedulingPolicy</key>
- <string>RR</string>
+ <string>FIFO</string>
<key>ThreadPriority</key>
<integer>1</integer>
+ <key>ThreadPolicy</key>
+ <string>STANDARD</string>
<!-- Memory Management -->
<key>SoftResourceLimits</key>
@@ -231,6 +256,8 @@ sudo tee /Library/LaunchDaemons/com.github.runner.plist > /dev/null << EOF
<integer>2048</integer>
<key>CPU</key>
<integer>-1</integer>
+ <key>MemoryLimit</key>
+ <integer>0</integer>
</dict>
<key>HardResourceLimits</key>
<dict>
@@ -242,6 +269,8 @@ sudo tee /Library/LaunchDaemons/com.github.runner.plist > /dev/null << EOF
<integer>2048</integer>
<key>CPU</key>
<integer>-1</integer>
+ <key>MemoryLimit</key>
+ <integer>0</integer>
</dict>
<!-- QoS Settings -->
@@ -266,6 +295,10 @@ sudo tee /Library/LaunchDaemons/com.github.runner.plist > /dev/null << EOF
<string>1</string>
<key>MLX_PLACEMENT_POLICY</key>
<string>metal</string>
+ <key>MLX_METAL_VALIDATION</key>
+ <string>0</string>
+ <key>MLX_METAL_DEBUG</key>
+ <string>0</string>
<!-- Metal Settings -->
<key>OBJC_DEBUG_MISSING_POOLS</key>
<string>NO</string>
@@ -281,10 +314,38 @@ sudo tee /Library/LaunchDaemons/com.github.runner.plist > /dev/null << EOF
<string>0</string>
<key>METAL_MAX_COMMAND_QUEUES</key>
<string>1024</string>
+ <key>METAL_DEVICE_PRIORITY</key>
+ <string>high</string>
+ <key>METAL_VALIDATION_ENABLED</key>
+ <string>0</string>
+ <key>METAL_PERFORMANCE_HUD</key>
+ <string>0</string>
+ <key>METAL_FORCE_PERFORMANCE_MODE</key>
+ <string>1</string>
+ <key>METAL_ENABLE_VALIDATION_LAYER</key>
+ <string>0</string>
<!-- Process Priority -->
<key>PYTHON_CPU_AFFINITY</key>
- <string>-1</string> <!-- Use all cores -->
+ <string>-1</string>
+ <key>MPS_PREFETCH_ENABLED</key>
+ <string>1</string>
+ <key>MPS_CACHE_DIRECTORY</key>
+ <string>/tmp/mps_cache</string>
+ <key>PYTORCH_ENABLE_MPS_FALLBACK</key>
+ <string>0</string>
+ <key>DISABLE_METAL_VALIDATION</key>
+ <string>1</string>
</dict>
+
+ <!-- Additional Process Controls -->
+ <key>EnableTransactions</key>
+ <true/>
+ <key>EnablePressuredExit</key>
+ <false/>
+ <key>PriorityModifier</key>
+ <integer>20</integer>
+ <key>LegacyTimers</key>
+ <false/>
</dict>
</plist>
EOF
← 7c0c5ef7 ttttttt
·
back to Exo
·
t d6c2146d →