forked from flagos-ai/FlagGems
-
Notifications
You must be signed in to change notification settings - Fork 3
63 lines (56 loc) · 2.29 KB
/
Copy pathprobe-node.yaml
File metadata and controls
63 lines (56 loc) · 2.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
name: "probe node"
# Manually probe a self-hosted runner's environment (driver / CUDA / OS) so we
# can pick the correct backend profile for it (e.g. nvidia-cuda133 vs
# nvidia-cuda128). Needs only bash on the runner.
on:
workflow_dispatch:
inputs:
runner:
description: "Self-hosted runner label to probe (e.g. h100, a100, h20)"
required: true
default: "h100"
permissions:
contents: read
jobs:
probe:
runs-on: ${{ inputs.runner }}
steps:
- name: Probe node environment
shell: bash
run: |
{
echo "## Node probe: \`${{ inputs.runner }}\`"
echo '```'
echo "uname: $(uname -a)"
echo "python3: $(python3 --version 2>&1)"
echo
echo "=== container / virtualization ==="
if [ -f /.dockerenv ]; then
echo "container: yes (/.dockerenv present)"
elif grep -qaE 'docker|containerd|kubepods|lxc' /proc/1/cgroup 2>/dev/null; then
echo "container: yes (cgroup: $(grep -aE 'docker|containerd|kubepods|lxc' /proc/1/cgroup | head -1))"
else
echo "container: no / undetected"
fi
echo "systemd-detect-virt: $(systemd-detect-virt 2>/dev/null || echo 'n/a')"
echo "pid1: $(cat /proc/1/comm 2>/dev/null || echo '?')"
echo
echo "=== host memory / cgroup limit ==="
free -h 2>/dev/null || echo "free: not found"
for f in /sys/fs/cgroup/memory.max /sys/fs/cgroup/memory/memory.limit_in_bytes; do
[ -r "$f" ] && echo "cgroup mem limit ($f): $(cat "$f")"
done
echo
echo "=== nvidia-smi ==="
nvidia-smi 2>&1 || echo "nvidia-smi: not found"
echo
echo "=== GPU memory (total / used / free, MiB) ==="
nvidia-smi --query-gpu=index,name,memory.total,memory.used,memory.free \
--format=csv,noheader 2>&1 || echo "nvidia-smi query: not found"
echo
echo "=== nvcc --version ==="
nvcc --version 2>&1 || echo "nvcc: not found"
echo
echo "=== /usr/local/cuda* ==="
ls -d /usr/local/cuda* 2>/dev/null || echo "no /usr/local/cuda*"
} | tee -a "$GITHUB_STEP_SUMMARY"