@@ -300,7 +300,8 @@ def run(self) -> BenchmarkResult:
300300 _print_model_info (
301301 self ._model .io_config ,
302302 task = self ._model .task or self .config .task ,
303- device = self ._model .device ,
303+ req_device = self .config .device ,
304+ act_device = self ._model .device ,
304305 ep_name = self ._model .ep_name ,
305306 )
306307
@@ -755,6 +756,12 @@ def _perf_modules(
755756# Report Generation
756757# =============================================================================
757758
759+ def _device_string (req_device : str , act_device : str , ep_name : EPName | None ) -> str :
760+ device_str = f"{ req_device } ({ act_device } )" if req_device != act_device else act_device
761+ if ep_name :
762+ device_str = f"{ device_str } / { ep_name } "
763+ return device_str
764+
758765
759766def display_console_report (result : BenchmarkResult , console : Console ) -> None :
760767 """Display benchmark results in formatted console output."""
@@ -763,9 +770,7 @@ def display_console_report(result: BenchmarkResult, console: Console) -> None:
763770
764771 req_device = result .config .device
765772 act_device = result .actual_device
766- device_str = f"{ req_device } ({ act_device } )" if req_device != act_device else act_device
767- if result .actual_ep :
768- device_str = f"{ device_str } / { result .actual_ep } "
773+ device_str = _device_string (req_device , act_device , result .actual_ep )
769774 console .print (f"[dim]Device:[/dim] { device_str } " )
770775
771776 # TODO: show resolved precision once WinMLPreTrainedModel.precision
@@ -885,13 +890,14 @@ def _print_model_info(
885890 io_config : dict ,
886891 * ,
887892 task : str | None = None ,
888- device : str = "auto" ,
893+ req_device : str = "auto" ,
894+ act_device : str = "auto" ,
889895 ep_name : EPName | None = None ,
890896) -> None :
891897 """Print model I/O metadata before the benchmark starts."""
892898 console = Console (stderr = True )
893899 console .print ()
894- device_line = f" { device } / { ep_name } " if ep_name else device
900+ device_line = _device_string ( req_device , act_device , ep_name )
895901 console .print (f"[dim]Device:[/dim] { device_line } " )
896902 if task :
897903 console .print (f"[dim]Task:[/dim] { task } " )
@@ -1011,7 +1017,7 @@ def _run_onnx_benchmark(
10111017 session .compile ()
10121018
10131019 # Print model info before benchmark starts
1014- _print_model_info (io_cfg , device = session .device , ep_name = session .ep_name )
1020+ _print_model_info (io_cfg , req_device = device , act_device = session .device , ep_name = session .ep_name )
10151021
10161022 # Run benchmark
10171023 total_iterations = warmup + iterations
@@ -1044,7 +1050,7 @@ def _run_onnx_benchmark(
10441050 total_iterations = total_iterations ,
10451051 warmup = warmup ,
10461052 model_id = str (onnx_path .name ),
1047- device = device ,
1053+ device = session . device or device ,
10481054 )
10491055 hw_metrics = hw .to_dict ()
10501056 else :
0 commit comments