Uploaded sanitized BC250/ROCm Repository.

This commit is contained in:
Fabian
2026-08-20 00:45:43 +02:00
parent 7d2184f1e8
commit d7d22e93b3
678 changed files with 65963 additions and 1 deletions
+177
View File
@@ -0,0 +1,177 @@
#!/usr/bin/env python3
"""Create ComfyUI startup script and launch it on BC-250."""
import paramiko
import time
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('192.168.178.150', username='fabian', key_filename=r'C:\Users\fabia\.ssh\id_ed25519')
def run(cmd, timeout=120, desc=""):
if desc:
print(f"\n{'='*60}")
print(f" {desc}")
print(f"{'='*60}")
print(f"$ {cmd}")
_, stdout, stderr = ssh.exec_command(cmd, timeout=timeout)
out = stdout.read().decode()
err = stderr.read().decode()
rc = stdout.channel.recv_exit_status()
if out.strip():
lines = out.strip().split('\n')
if len(lines) > 40:
print(f" ... ({len(lines)} lines, showing last 40)")
print('\n'.join(lines[-40:]))
else:
print(out.strip())
if err.strip():
lines = err.strip().split('\n')
show = lines[-20:] if len(lines) > 20 else lines
print(f"STDERR: {chr(10).join(show)}")
print(f" Exit code: {rc}")
return rc, out, err
# ──────────────────────────────────────────────────────────
# 1. Create the startup script
# ──────────────────────────────────────────────────────────
startup_script = r'''#!/bin/bash
# ComfyUI Startup Script for AsRock BC-250 (AMD Cyan Skillfish / ROCm 7.2)
# Usage: ~/start_comfyui.sh [--listen] [--port PORT]
set -euo pipefail
# ═══════════════════════════════════════════════════════════
# BC-250 AMD GPU Environment Variables
# ═══════════════════════════════════════════════════════════
# Override gfx1013 → gfx1010 (RDNA 1.5 → RDNA 1 compat)
export HSA_OVERRIDE_GFX_VERSION=10.1.0
# Use device 0
export HIP_VISIBLE_DEVICES=0
# Disable SDMA (avoids queue errors on Cyan Skillfish)
export HSA_ENABLE_SDMA=0
# Suppress tool library warnings
export HSA_TOOLS_LIB=""
export HSA_TOOLS_REPORT_LOAD_FAILURE=0
# PyTorch / ROCm tuning
export PYTORCH_HIP_ALLOC_CONF="expandable_segments:True"
export TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1
# Avoid OOM on 14GB shared VRAM — force float16 where possible
export COMFY_PRECISION=16
# ═══════════════════════════════════════════════════════════
# Activate Virtual Environment
# ═══════════════════════════════════════════════════════════
source "$HOME/comfyui-env/bin/activate"
# ═══════════════════════════════════════════════════════════
# Launch ComfyUI
# ═══════════════════════════════════════════════════════════
cd "$HOME/ComfyUI"
echo "=========================================="
echo " ComfyUI on BC-250 (ROCm 7.2)"
echo "=========================================="
echo " GPU: AMD Cyan Skillfish (gfx1013→gfx1010)"
echo " PyTorch: $(python -c 'import torch; print(torch.__version__)')"
echo " HIP: $(python -c 'import torch; print(torch.version.hip)')"
echo " CUDA: $(python -c 'import torch; print(torch.cuda.is_available())')"
echo " Device: $(python -c 'import torch; print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else "N/A")')"
echo "=========================================="
# Default: listen on all interfaces for remote access
LISTEN_ARGS="--listen 0.0.0.0 --port 8188"
# Parse arguments (override defaults if provided)
if [ $# -gt 0 ]; then
LISTEN_ARGS="$@"
fi
echo ""
echo "Starting ComfyUI with: $LISTEN_ARGS"
echo "Access at: http://$(hostname -I | awk '{print $1}'):8188"
echo ""
exec python main.py $LISTEN_ARGS
'''
# ──────────────────────────────────────────────────────────
# 2. Create fish shell wrapper too
# ──────────────────────────────────────────────────────────
fish_script = r'''#!/usr/bin/env fish
# ComfyUI launcher for fish shell on BC-250
# BC-250 GPU env vars
set -gx HSA_OVERRIDE_GFX_VERSION 10.1.0
set -gx HIP_VISIBLE_DEVICES 0
set -gx HSA_ENABLE_SDMA 0
set -gx HSA_TOOLS_LIB ""
set -gx HSA_TOOLS_REPORT_LOAD_FAILURE 0
set -gx PYTORCH_HIP_ALLOC_CONF "expandable_segments:True"
set -gx TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL 1
# Activate venv
source $HOME/comfyui-env/bin/activate.fish
# Launch
cd $HOME/ComfyUI
echo "Starting ComfyUI on BC-250..."
python main.py --listen 0.0.0.0 --port 8188 $argv
'''
# Upload scripts
sftp = ssh.open_sftp()
with sftp.open('/home/fabian/start_comfyui.sh', 'w') as f:
f.write(startup_script)
with sftp.open('/home/fabian/start_comfyui.fish', 'w') as f:
f.write(fish_script)
sftp.close()
run("chmod +x /home/fabian/start_comfyui.sh /home/fabian/start_comfyui.fish",
desc="Make startup scripts executable")
# ──────────────────────────────────────────────────────────
# 3. Quick pre-flight check
# ──────────────────────────────────────────────────────────
run("bash -c 'source /home/fabian/comfyui-env/bin/activate && "
"export HSA_OVERRIDE_GFX_VERSION=10.1.0 && "
"export HIP_VISIBLE_DEVICES=0 && "
"export HSA_ENABLE_SDMA=0 && "
"cd /home/fabian/ComfyUI && "
"python -c \""
"import torch; "
"print(f\\\"PyTorch {torch.__version__}, HIP {torch.version.hip}, CUDA {torch.cuda.is_available()}\\\"); "
"print(f\\\"Device: {torch.cuda.get_device_name(0)}\\\"); "
"import comfy.model_management; "
"print(f\\\"ComfyUI model_management imported OK\\\"); "
"\"'",
desc="Pre-flight: PyTorch + ComfyUI import check")
# ──────────────────────────────────────────────────────────
# 4. Launch ComfyUI in background
# ──────────────────────────────────────────────────────────
run("bash -c 'pkill -f \"python main.py\" 2>/dev/null; echo killed || echo no_existing'",
desc="Kill any existing ComfyUI process")
time.sleep(2)
run("bash -c 'nohup bash /home/fabian/start_comfyui.sh > /home/fabian/comfyui.log 2>&1 & echo PID=$!'",
desc="Launch ComfyUI in background")
# Wait for startup
time.sleep(15)
run("tail -30 /home/fabian/comfyui.log 2>/dev/null", desc="ComfyUI startup log")
# Check if port is listening
time.sleep(10)
run("bash -c 'ss -tlnp | grep 8188 || echo PORT_NOT_LISTENING'",
desc="Check if port 8188 is listening")
run("tail -50 /home/fabian/comfyui.log 2>/dev/null", desc="Full startup log")
ssh.close()
print("\nDone.")