(self,
summary_dict: dict,
title="Summary")
| 1369 | return f"{self.model_config.name}-{self.gpu_config.name}-{self.dtype_config.name}-tp{self.parallelism_config.tp_size}-pp{self.parallelism_config.pp_size}-dp{self.parallelism_config.dp_size}-sp{self.parallelism_config.sp_size}-fe{round(self.flops_efficiency, 2)}-ep{self.parallelism_config.ep_size}-hbme{round(self.hbm_memory_efficiency, 2)}" |
| 1370 | |
| 1371 | def get_readable_summary_dict(self, |
| 1372 | summary_dict: dict, |
| 1373 | title="Summary") -> str: |
| 1374 | log_str = f"\n{title.center(PRINT_LINE_WIDTH, '-')}\n" |
| 1375 | for key, value in summary_dict.items(): |
| 1376 | if "num_tokens" in key or "num_params" in key or "num_active_params" in key or "flops" in key: |
| 1377 | log_str += f"{key}: {_num_to_string(value, divisor=1000)}\n" |
| 1378 | elif "gpu_hours" == key: |
| 1379 | log_str += f"{key}: {int(value)}\n" if value else "" |
| 1380 | elif "memory" in key and "efficiency" not in key: |
| 1381 | log_str += f"{key}: {_num_to_string(value)}B\n" |
| 1382 | elif "latency" in key: |
| 1383 | log_str += f"{key}: {_latency_to_string(value)}\n" |
| 1384 | else: |
| 1385 | log_str += f"{key}: {value}\n" |
| 1386 | log_str += f"{'-' * PRINT_LINE_WIDTH}\n" |
| 1387 | return log_str |
| 1388 | |
| 1389 | def output_summary_dict( |
| 1390 | self, |
no test coverage detected