38 lines
1.3 KiB
Bash
38 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
SESSION="${GENIEHIVE_TMUX_SESSION:-geniehive-p40}"
|
|
STATUS_CMD="$ROOT/scripts/tmux_session_status.sh"
|
|
|
|
GPU0_CMD="$ROOT/scripts/p40_triple_gpu0.sh"
|
|
GPU1_CMD="$ROOT/scripts/p40_triple_gpu1.sh"
|
|
CPU_CMD="$ROOT/scripts/p40_triple_cpu.sh"
|
|
|
|
if command -v tmux >/dev/null 2>&1; then
|
|
if tmux has-session -t "$SESSION" 2>/dev/null; then
|
|
echo "tmux session already exists: $SESSION"
|
|
echo "Inspect panes with: bash '$STATUS_CMD' '$SESSION'"
|
|
exit 1
|
|
fi
|
|
|
|
tmux new-session -d -s "$SESSION" "cd '$ROOT' && bash '$GPU0_CMD'"
|
|
tmux split-window -h -t "$SESSION:0" "cd '$ROOT' && bash '$GPU1_CMD'"
|
|
tmux split-window -v -t "$SESSION:0" "cd '$ROOT' && bash '$CPU_CMD'"
|
|
tmux set-option -t "$SESSION:0" remain-on-exit on >/dev/null
|
|
tmux select-pane -t "$SESSION:0.0" -T gpu0 >/dev/null
|
|
tmux select-pane -t "$SESSION:0.1" -T gpu1 >/dev/null
|
|
tmux select-pane -t "$SESSION:0.2" -T cpu >/dev/null
|
|
tmux select-layout -t "$SESSION" tiled >/dev/null
|
|
echo "Started tmux session: $SESSION"
|
|
echo "Inspect panes with: bash '$STATUS_CMD' '$SESSION'"
|
|
echo "Attach manually only if needed: tmux attach -t $SESSION"
|
|
exit 0
|
|
fi
|
|
|
|
echo "tmux not found. Run these in three shells:"
|
|
echo
|
|
echo "bash '$GPU0_CMD'"
|
|
echo "bash '$GPU1_CMD'"
|
|
echo "bash '$CPU_CMD'"
|