Uploaded sanitized BC250/ROCm Repository.
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Try pre-built PyTorch ROCm from CachyOS repos, test 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=300, 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) > 80:
|
||||
print(f" ... ({len(lines)} lines, showing last 80)")
|
||||
print('\n'.join(lines[-80:]))
|
||||
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
|
||||
|
||||
# Check what architectures the pre-built packages support
|
||||
run("pacman -Si python-pytorch-rocm 2>&1 | head -20",
|
||||
desc="Pre-built PyTorch ROCm package info")
|
||||
|
||||
run("pacman -Si python-pytorch-opt-rocm 2>&1 | head -20",
|
||||
desc="Pre-built PyTorch Opt ROCm package info")
|
||||
|
||||
# Install the pre-built package (system-wide, venv will pick it up via --system-site-packages)
|
||||
run("sudo pacman -S --needed --noconfirm python-pytorch-rocm 2>&1 | tail -30",
|
||||
desc="Install pre-built PyTorch ROCm",
|
||||
timeout=600)
|
||||
|
||||
# Test if it works in venv
|
||||
run("""bash -c 'source ~/comfyui-env/bin/activate && \
|
||||
HSA_OVERRIDE_GFX_VERSION=10.1.0 \
|
||||
HIP_VISIBLE_DEVICES=0 \
|
||||
HSA_ENABLE_SDMA=0 \
|
||||
python3 -c "
|
||||
import torch
|
||||
print(f\\"PyTorch version: {torch.__version__}\\")
|
||||
print(f\\"HIP version: {torch.version.hip}\\")
|
||||
print(f\\"CUDA available (HIP): {torch.cuda.is_available()}\\")
|
||||
if torch.cuda.is_available():
|
||||
print(f\\"Device count: {torch.cuda.device_count()}\\")
|
||||
print(f\\"Device name: {torch.cuda.get_device_name(0)}\\")
|
||||
print(f\\"Device arch: {torch.cuda.get_device_capability(0)}\\")
|
||||
# Try a simple tensor operation on GPU
|
||||
t = torch.randn(4, 4, device=\\"cuda\\")
|
||||
print(f\\"Tensor device: {t.device}\\")
|
||||
print(f\\"Tensor sum: {t.sum().item():.4f}\\")
|
||||
# Try matmul
|
||||
a = torch.randn(64, 64, device=\\"cuda\\")
|
||||
b = torch.randn(64, 64, device=\\"cuda\\")
|
||||
c = torch.matmul(a, b)
|
||||
print(f\\"Matmul result shape: {c.shape}\\")
|
||||
print(\\"GPU COMPUTE: WORKING\\")
|
||||
else:
|
||||
print(\\"CUDA/HIP NOT AVAILABLE\\")
|
||||
" 2>&1'""",
|
||||
desc="Test PyTorch on GPU",
|
||||
timeout=120)
|
||||
|
||||
ssh.close()
|
||||
print("\nDone.")
|
||||
Reference in New Issue
Block a user