← back to Exo
t
8d9e3b88d34c155f6f307b9ec87121afef98d32f · 2024-12-11 17:52:07 +0000 · Alex Cheema
Files touched
M .github/bootstrap.shM .github/workflows/bench_job.yml
Diff
commit 8d9e3b88d34c155f6f307b9ec87121afef98d32f
Author: Alex Cheema <alexcheema123@gmail.com>
Date: Wed Dec 11 17:52:07 2024 +0000
t
---
.github/bootstrap.sh | 30 +++++++++++++++++++++++++-----
.github/workflows/bench_job.yml | 27 +++++++++++++++++++++++++++
2 files changed, 52 insertions(+), 5 deletions(-)
diff --git a/.github/bootstrap.sh b/.github/bootstrap.sh
index 13ec5b2d..2edb65e0 100755
--- a/.github/bootstrap.sh
+++ b/.github/bootstrap.sh
@@ -27,7 +27,7 @@ REPO="exo-explore/exo"
# Add sudoers configuration
log "Configuring sudo access..."
-SUDOERS_CONTENT="$(whoami) ALL=(ALL) NOPASSWD: /usr/sbin/tccutil, /bin/launchctl, /usr/bin/tee /Library/LaunchDaemons/*, /usr/bin/sqlite3, /usr/libexec/ApplicationFirewall/socketfilterfw, /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart, /opt/homebrew/bin/brew, /usr/local/bin/brew, /usr/bin/xcode-select, /usr/bin/chown, /bin/mkdir, /usr/bin/touch, /usr/sbin/softwareupdate, /usr/sbin/sysctl, /usr/bin/pmset, /usr/sbin/powermetrics, /usr/bin/nice, /usr/bin/renice, /usr/bin/ionice"
+SUDOERS_CONTENT="$(whoami) ALL=(ALL) NOPASSWD: /usr/sbin/tccutil, /bin/launchctl, /usr/bin/tee /Library/LaunchDaemons/*, /usr/bin/sqlite3, /usr/libexec/ApplicationFirewall/socketfilterfw, /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart, /opt/homebrew/bin/brew, /usr/local/bin/brew, /usr/bin/xcode-select, /usr/bin/chown, /bin/mkdir, /usr/bin/touch, /usr/sbin/softwareupdate, /usr/sbin/sysctl, /usr/bin/pmset, /usr/sbin/powermetrics, /usr/bin/nice, /usr/bin/renice, /usr/bin/ionice, /bin/rm, /bin/chmod"
echo "$SUDOERS_CONTENT" | sudo tee /etc/sudoers.d/github-runner > /dev/null
sudo chmod 440 /etc/sudoers.d/github-runner
@@ -195,16 +195,36 @@ sudo tee /Library/LaunchDaemons/com.github.runner.plist > /dev/null << EOF
<integer>0</integer>
<key>ThrottleInterval</key>
<integer>0</integer>
- <key>StandardOutPath</key>
- <string>${RUNNER_DIR}/stdout.log</string>
- <key>StandardErrorPath</key>
- <string>${RUNNER_DIR}/stderr.log</string>
+ <key>LowPriorityIO</key>
+ <false/>
+ <key>MaterializeDataless</key>
+ <true/>
+ <key>HardResourceLimits</key>
+ <dict>
+ <key>NumberOfFiles</key>
+ <integer>524288</integer>
+ <key>MemoryLock</key>
+ <integer>-1</integer>
+ </dict>
+ <key>SoftResourceLimits</key>
+ <dict>
+ <key>NumberOfFiles</key>
+ <integer>524288</integer>
+ <key>MemoryLock</key>
+ <integer>-1</integer>
+ </dict>
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/usr/local/bin:/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
<key>MLX_USE_GPU</key>
<string>1</string>
+ <key>OBJC_DEBUG_MISSING_POOLS</key>
+ <string>NO</string>
+ <key>METAL_DEBUG_ERROR_MODE</key>
+ <string>0</string>
+ <key>METAL_DEVICE_WRAPPER_TYPE</key>
+ <string>1</string>
</dict>
</dict>
</plist>
diff --git a/.github/workflows/bench_job.yml b/.github/workflows/bench_job.yml
index 4b42fc61..f48c14bb 100644
--- a/.github/workflows/bench_job.yml
+++ b/.github/workflows/bench_job.yml
@@ -35,6 +35,11 @@ jobs:
HARDWARE_CONFIG: ${{ inputs.config }}
model: ${{ inputs.model }}
steps:
+ - name: Cleanup workspace
+ run: |
+ sudo rm -rf "$GITHUB_WORKSPACE"
+ sudo mkdir -p "$GITHUB_WORKSPACE"
+ sudo chown -R $(whoami):$(id -g) "$GITHUB_WORKSPACE"
- uses: actions/checkout@v4
- name: Install dependencies
run: |
@@ -79,6 +84,28 @@ jobs:
sysctl iogpu
sysctl kern.memorystatus_purge_on_warning
sysctl kern.memorystatus_purge_on_critical
+ - name: Configure process limits
+ run: |
+ # Increase resource limits
+ sudo launchctl limit maxfiles 524288 524288
+ ulimit -n 524288
+
+ # Disable core dumps
+ ulimit -c 0
+
+ # Set max locked memory to unlimited
+ ulimit -l unlimited
+
+ # Set process priority class
+ sudo chrt -f -p 99 $$
+
+ # Disable memory compression
+ sudo nvram boot-args="vm_compressor=1"
+
+ # Set Metal environment variables
+ export METAL_DEVICE_WRAPPER_TYPE=1
+ export METAL_DEBUG_ERROR_MODE=0
+ export OBJC_DEBUG_MISSING_POOLS=NO
- name: Run exo
env:
aws_access_key_id: ${{ secrets.S3_EXO_BENCHMARKS_AWS_ACCESS_KEY_ID }}
← 9dd33d37 t
·
back to Exo
·
t 1dbe11ca →