Translate user-facing runtime output to English, machine prefixes preserved, + CLI output test (#67, #85)
* feat: standardize runtime output in English * test: cover English CLI output
This commit is contained in:
+7
-7
@@ -15,24 +15,24 @@ NGEN="${2:-64}"
|
||||
cd "$CODE"
|
||||
|
||||
# 0) sanity: il modello deve stare su ext4, non su 9p/Windows
|
||||
case "$DIR" in /mnt/*) echo "ERRORE: $DIR e' su /mnt (9p/Windows). Mettilo su ext4."; exit 1;; esac
|
||||
case "$DIR" in /mnt/*) echo "ERROR: $DIR is on /mnt (9p/Windows). Move it to ext4."; exit 1;; esac
|
||||
|
||||
# 1) se un rsync di spostamento e' ancora vivo, aspettalo
|
||||
while pgrep -f "rsync.*glm52_i4" >/dev/null 2>&1; do
|
||||
echo "[1/4] attendo lo spostamento su ext4... ($(du -sh "$DIR" 2>/dev/null | cut -f1))"; sleep 20
|
||||
echo "[1/4] waiting for the move to ext4... ($(du -sh "$DIR" 2>/dev/null | cut -f1))"; sleep 20
|
||||
done
|
||||
echo "[1/4] spostamento completato: $(du -sh "$DIR" | cut -f1), shard $(ls "$DIR"/*.safetensors 2>/dev/null | wc -l)"
|
||||
echo "[1/4] move complete: $(du -sh "$DIR" | cut -f1), shards $(ls "$DIR"/*.safetensors 2>/dev/null | wc -l)"
|
||||
|
||||
# 2) riprende+completa la conversione (ripartibile: salta gli shard gia' fatti)
|
||||
echo "[2/4] conversione (riprende da dove era): output -> $DIR"
|
||||
echo "[2/4] conversion (resumes where it stopped): output -> $DIR"
|
||||
python3 tools/convert_fp8_to_int4.py --repo "$REPO" --outdir "$DIR" --ebits 4 --io-bits 8
|
||||
|
||||
# 3) il motore richiede tokenizer.json + config.json nella dir del modello
|
||||
for f in config.json tokenizer.json; do
|
||||
[ -f "$DIR/$f" ] || { echo "ERRORE: manca $DIR/$f"; exit 1; }
|
||||
[ -f "$DIR/$f" ] || { echo "ERROR: missing $DIR/$f"; exit 1; }
|
||||
done
|
||||
echo "[3/4] compilo il motore"; make -s glm
|
||||
echo "[3/4] building the engine"; make -s glm
|
||||
|
||||
# 4) generazione reale, con auto-cap dal budget RAM e heartbeat RSS su stderr
|
||||
echo "[4/4] genero (RAM_GB=$RAM_GB, NGEN=$NGEN)"; echo "------"
|
||||
echo "[4/4] generating (RAM_GB=$RAM_GB, NGEN=$NGEN)"; echo "------"
|
||||
SNAP="$DIR" RAM_GB="$RAM_GB" PROMPT="$PROMPT" NGEN="$NGEN" ./glm 64
|
||||
|
||||
@@ -13,7 +13,7 @@ STALL_S=180 # secondi senza crescita del download -> riavvio
|
||||
CONVLOG=/tmp/convert_supervised.log
|
||||
|
||||
exec 9>"$DIR/.supervisor.lock"
|
||||
flock -n 9 || { echo "supervisore gia' attivo, esco"; exit 1; }
|
||||
flock -n 9 || { echo "a supervisor is already running; exiting"; exit 1; }
|
||||
|
||||
log(){ echo "[$(date +%H:%M:%S)] $*"; }
|
||||
|
||||
@@ -21,16 +21,16 @@ start_conv(){
|
||||
cd "$CODE"
|
||||
nohup python3 tools/convert_fp8_to_int4.py --repo zai-org/GLM-5.2-FP8 \
|
||||
--outdir "$DIR" --ebits 4 --io-bits 8 >> "$CONVLOG" 2>&1 &
|
||||
log "convertitore avviato (PID $!)"
|
||||
log "converter started (PID $!)"
|
||||
}
|
||||
|
||||
last_size=-1; stall=0
|
||||
while :; do
|
||||
done_n=$(ls "$DIR"/out-*.safetensors 2>/dev/null | wc -l)
|
||||
if [ "$done_n" -ge "$TOTAL" ]; then log "FATTO: $done_n/$TOTAL shard. Esco."; pkill -f convert_fp8 2>/dev/null; exit 0; fi
|
||||
if [ "$done_n" -ge "$TOTAL" ]; then log "DONE: $done_n/$TOTAL shards. Exiting."; pkill -f convert_fp8 2>/dev/null; exit 0; fi
|
||||
|
||||
if ! pgrep -f convert_fp8 >/dev/null; then
|
||||
log "convertitore non attivo ($done_n/$TOTAL): lo avvio"
|
||||
log "converter is not running ($done_n/$TOTAL): starting it"
|
||||
start_conv; last_size=-1; stall=0; sleep 20; continue
|
||||
fi
|
||||
|
||||
@@ -40,12 +40,12 @@ while :; do
|
||||
if [ "$size" = "$last_size" ]; then
|
||||
stall=$((stall+30))
|
||||
if [ "$stall" -ge "$STALL_S" ]; then
|
||||
log "download FERMO da ${stall}s a $((size/1000000)) MB ($done_n/$TOTAL): riavvio il convertitore"
|
||||
log "download stalled for ${stall}s at $((size/1000000)) MB ($done_n/$TOTAL): restarting the converter"
|
||||
pkill -f convert_fp8; sleep 5
|
||||
start_conv; last_size=-1; stall=0
|
||||
fi
|
||||
else
|
||||
[ "$last_size" -ge 0 ] && [ "$stall" -ge 60 ] && log "download ripreso ($((size/1000000)) MB)"
|
||||
[ "$last_size" -ge 0 ] && [ "$stall" -ge 60 ] && log "download resumed ($((size/1000000)) MB)"
|
||||
last_size=$size; stall=0
|
||||
fi
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user