mrj-crom commited on
Commit
289258c
·
verified ·
1 Parent(s): 9fa5ab2

sync: scripts/benchmark_fuse_vs_raw.sh

Browse files
Files changed (1) hide show
  1. scripts/benchmark_fuse_vs_raw.sh +54 -0
scripts/benchmark_fuse_vs_raw.sh ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env bash
2
+ # Telemetria SRE: Benchmark FUSE mmap() vs Leitura Crua NVMe
3
+ set -e
4
+
5
+ DIR_BASE="/home/j/Área de trabalho/crompressor-ia"
6
+ BIN_LLAMA="/home/j/Área de trabalho/crompressor/pesquisa/ia_llm/102-native_llm_humble_pc/bin/llama-cli"
7
+ MODEL_RAW="$DIR_BASE/models/qwen2.5-crom-dna.gguf"
8
+ MODEL_FUSE="$DIR_BASE/mnt_crom/qwen2.5-crom-dna.gguf"
9
+
10
+ if [ ! -f "$BIN_LLAMA" ]; then
11
+ echo "[ERRO] Motor nativo (llama-cli) não encontrado no diretorio."
12
+ exit 1
13
+ fi
14
+
15
+ echo "=========================================="
16
+ echo " 🏎️ BENCHMARK CROM: FUSE vs DISK RAW"
17
+ echo "=========================================="
18
+
19
+ test_inference() {
20
+ local model_path=$1
21
+ local mode=$2
22
+ echo "------------------------------------------------"
23
+ echo " Iniciando Teste ($mode)"
24
+ echo " Arquivo alvo: $model_path"
25
+ echo " Coletando telemetria psutil (RSS & Latência)..."
26
+
27
+ # Rodar e medir tempo
28
+ /usr/bin/time -v "$BIN_LLAMA" -m "$model_path" -p "Cálculo Físico: Qual a velocidade da luz em km/s?" --threads 2 -c 512 -n 32 --log-disable > /tmp/crom_bench_${mode}.log 2>&1
29
+
30
+ # Extrair metricas do log de time -v
31
+ local max_rss=$(grep "Maximum resident set size" /tmp/crom_bench_${mode}.log | awk '{print $6}')
32
+ local page_faults=$(grep "Major (requiring I/O) page faults" /tmp/crom_bench_${mode}.log | awk '{print $6}')
33
+ local elapsed=$(grep "Elapsed (wall clock) time" /tmp/crom_bench_${mode}.log | awk '{print $8}')
34
+
35
+ echo " Resultado SRE ($mode):"
36
+ echo " ⏰ Tempo de Parede : $elapsed"
37
+ echo " 🚀 Maximum RSS : $((max_rss / 1024)) MB"
38
+ echo " ⚠️ Major PageFaults: $page_faults"
39
+ }
40
+
41
+ # 1. Teste FUSE
42
+ if [ ! -f "$MODEL_FUSE" ]; then
43
+ echo "[AVISO] Modelo não montado no FUSE. Rode scripts/montar_fuse_modelo.sh primeiro."
44
+ echo "Abortando Benchmark FUSE..."
45
+ else
46
+ test_inference "$MODEL_FUSE" "FUSE_MMAP_ZERO_COPY"
47
+ fi
48
+
49
+ # 2. Teste RAW
50
+ test_inference "$MODEL_RAW" "DISK_RAW_SSD"
51
+
52
+ echo "------------------------------------------------"
53
+ echo " Conclusão: O Modo FUSE deve mostrar RSS idêntico ou levemente inferior,"
54
+ echo " sem degradação do tempo de inferência (Tempo Constante HNSW O(1))."