Skip to content

Commit 887f0b0

Browse files
authored
Merge pull request #2 from navdeep-G/main
Optimize memory parsing logic in parse_memory_from_output()
2 parents ac479c7 + 13306d8 commit 887f0b0

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

scripts/quick_compare.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -55,26 +55,26 @@ def create_temp_prompt_file(prompt, min_length=200):
5555
def parse_memory_from_output(output):
5656
"""Parse memory usage metrics from llama.cpp output"""
5757
try:
58-
# Parse KV cache size
59-
kv_cache_match = re.search(r'KV cache elements: (\d+).* (\d+(\.\d+)?) MiB', output, re.MULTILINE)
60-
if kv_cache_match:
61-
kv_cache_mb = float(kv_cache_match.group(2))
62-
else:
63-
kv_cache_mb = None
58+
# Look for KV cache memory usage
59+
kv_cache_mb = None
60+
kv_match = re.search(r'KV cache elements: \d+.*?(\d+(?:\.\d+)?) MiB', output, re.MULTILINE)
61+
if kv_match:
62+
kv_cache_mb = float(kv_match.group(1))
63+
64+
# Look for VRAM usage (try multiple patterns)
65+
vram_mb = None
66+
patterns = [
67+
r'VRAM usage: (\d+(?:\.\d+)?) MiB',
68+
r'GPU memory used: \d+ bytes = (\d+(?:\.\d+)?) MB'
69+
]
70+
for pattern in patterns:
71+
match = re.search(pattern, output, re.MULTILINE)
72+
if match:
73+
vram_mb = float(match.group(1))
74+
break
6475

65-
# Parse total VRAM usage
66-
vram_match = re.search(r'VRAM usage: (\d+(\.\d+)?) MiB', output, re.MULTILINE)
67-
if vram_match:
68-
vram_mb = float(vram_match.group(1))
69-
else:
70-
# Alternative pattern
71-
vram_match = re.search(r'GPU memory used: (\d+) bytes = (\d+(\.\d+)?) MB', output, re.MULTILINE)
72-
if vram_match:
73-
vram_mb = float(vram_match.group(2))
74-
else:
75-
vram_mb = None
76-
7776
return kv_cache_mb, vram_mb
77+
7878
except Exception as e:
7979
print_color(RED, f"Error parsing memory metrics: {e}")
8080
return None, None

0 commit comments

Comments
 (0)