Skip to content

Commit c239a53

Browse files
authored
reduce sleep during memcomp measurement, handle unicode in input (openvinotoolkit#1792)
* reduce mem consumption sleep accroding to CVS-162348 * handle non-utf as input prompt during logging CVS-140549
1 parent c32e948 commit c239a53

File tree

3 files changed

+15
-10
lines changed

3 files changed

+15
-10
lines changed

tools/llm_bench/llm_bench_utils/memory_profile.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def collect_memory_consumption(self):
5454
self.g_event.clear()
5555
self.g_end_collect_mem = False
5656
break
57-
time.sleep(500 / 1000)
57+
time.sleep(0.0001)
5858

5959
def start_collect_memory_consumption(self):
6060
"""Start collect."""

tools/llm_bench/llm_bench_utils/metrics_print.py

+12-7
Original file line numberDiff line numberDiff line change
@@ -81,14 +81,19 @@ def print_generated(iter_num, warm_up=False, generated=None, prompt_idx=-1):
8181
iter_str = 'warm-up'
8282
prefix = f'[{iter_str}][P{prompt_idx}]'
8383
if generated is not None:
84+
print_unicode(f'{prefix} Generated: {generated}', '{prefix} Unable print generated')
85+
86+
87+
def print_unicode(text, on_error="Unable print", loglevel="info"):
88+
log_fn = getattr(log, loglevel)
89+
try:
90+
log_fn(text)
91+
except (UnicodeError, UnicodeEncodeError, UnicodeDecodeError):
8492
try:
85-
log.info(f'{prefix} Generated: {generated}')
86-
except (UnicodeError, UnicodeEncodeError, UnicodeDecodeError):
87-
try:
88-
utf8_generated = generated.encode(encoding="utf-8", errors="replace").decode()
89-
log.info(f'{prefix} Generated: {utf8_generated}')
90-
except Exception:
91-
log.warning(f'{prefix} Unable print generated')
93+
utf8_text = text.encode(encoding="utf-8", errors="replace").decode()
94+
log_fn(utf8_text)
95+
except Exception:
96+
log.warning(on_error)
9297

9398

9499
def print_stable_diffusion_infer_latency(iter_str, iter_data, stable_diffusion, prompt_idx=-1):

tools/llm_bench/task/text_generation.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -518,7 +518,7 @@ def run_text_generation_benchmark(model_path, framework, device, tokens_len, str
518518
for idx, input_text in enumerate(text_list):
519519
p_idx = prompt_idx_list[idx]
520520
if num == 0:
521-
log.info(f'[warm-up][P{p_idx}] Input text: {input_text}')
521+
metrics_print.print_unicode(f'[warm-up][P{p_idx}] Input text: {input_text}', f'[warm-up][P{p_idx}] Unable print input text')
522522
iter_timestamp[num][p_idx]['start'] = datetime.datetime.now().isoformat()
523523
text_gen_fn(input_text, num, model, tokenizer, args, iter_data_list, md5_list,
524524
p_idx, bench_hook, tokens_len, streaming, model_precision, proc_id, mem_consumption)
@@ -530,7 +530,7 @@ def run_text_generation_benchmark(model_path, framework, device, tokens_len, str
530530
p_idx = prompt_idx_list[idx]
531531
for num in range(num_iters + 1):
532532
if num == 0:
533-
log.info(f'[warm-up][P{p_idx}] Input text: {input_text}')
533+
metrics_print.print_unicode(f'[warm-up][P{p_idx}] Input text: {input_text}', f'[warm-up][P{p_idx}] Unable print input text')
534534
iter_timestamp[num][p_idx]['start'] = datetime.datetime.now().isoformat()
535535
text_gen_fn(input_text, num, model, tokenizer, args, iter_data_list, md5_list,
536536
prompt_idx_list[idx], bench_hook, model_precision, proc_id, mem_consumption)

0 commit comments

Comments
 (0)