61 lines
2.2 KiB
Python
61 lines
2.2 KiB
Python
"""Diagnose: why is KSampler on CPU?"""
|
|
import paramiko
|
|
|
|
k = paramiko.Ed25519Key.from_private_key_file(r'C:\Users\fabia\.ssh\id_ed25519')
|
|
c = paramiko.SSHClient()
|
|
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
c.connect('192.168.178.150', username='fabian', pkey=k, timeout=10)
|
|
sftp = c.open_sftp()
|
|
|
|
print("=== LOG (meaningful) ===")
|
|
with sftp.open('/tmp/comfyui.log', 'r') as f:
|
|
log = f.read().decode(errors='replace')
|
|
for line in log.split('\n'):
|
|
s = line.strip()
|
|
if not s or 'FETCH' in s or 'startup tasks' in s or 'DEPRECATION' in s:
|
|
continue
|
|
print(s)
|
|
|
|
print("\n=== LAUNCHER ===")
|
|
for p in ['/tmp/run_comfyui.sh', '/home/fabian/start_comfyui.sh']:
|
|
try:
|
|
with sftp.open(p, 'r') as f:
|
|
print(f"--- {p} ---")
|
|
print(f.read().decode())
|
|
break
|
|
except: pass
|
|
|
|
print("\n=== PROCESS ===")
|
|
chan = c.get_transport().open_session()
|
|
chan.settimeout(10)
|
|
chan.exec_command('/bin/bash -c "ps aux | grep main.py | grep -v grep"')
|
|
o = b""
|
|
while True:
|
|
try:
|
|
ch = chan.recv(65536)
|
|
if not ch: break
|
|
o += ch
|
|
except: break
|
|
chan.close()
|
|
print(o.decode(errors='replace'))
|
|
|
|
print("=== GPU SPEED TEST ===")
|
|
ts = '#!/bin/bash\nexport HSA_OVERRIDE_GFX_VERSION=10.1.0\nexport HIP_VISIBLE_DEVICES=0\nexport HSA_ENABLE_SDMA=0\nsource ~/comfyui-env/bin/activate\npython3 -c "\nimport torch,time\nprint(\"CUDA:\",torch.cuda.is_available())\nif torch.cuda.is_available():\n print(\"Dev:\",torch.cuda.get_device_name(0))\n x=torch.randn(2048,2048,device=\"cuda\",dtype=torch.float16)\n torch.cuda.synchronize()\n t=time.time()\n for _ in range(10): y=x@x\n torch.cuda.synchronize()\n gt=time.time()-t\n x2=torch.randn(2048,2048,dtype=torch.float16)\n t=time.time()\n for _ in range(10): y=x2@x2\n ct=time.time()-t\n print(f\"GPU:{gt:.3f}s CPU:{ct:.3f}s Ratio:{ct/gt:.1f}x\")\n"\n'
|
|
with sftp.open('/tmp/gtest.sh', 'w') as f:
|
|
f.write(ts)
|
|
sftp.close()
|
|
chan = c.get_transport().open_session()
|
|
chan.settimeout(60)
|
|
chan.exec_command('/bin/bash /tmp/gtest.sh')
|
|
o = b""
|
|
while True:
|
|
try:
|
|
ch = chan.recv(65536)
|
|
if not ch: break
|
|
o += ch
|
|
except: break
|
|
chan.close()
|
|
print(o.decode(errors='replace'))
|
|
|
|
c.close()
|