From cbc3074fda9e5dfdedc3d40aa2e4d29604617016 Mon Sep 17 00:00:00 2001 From: Sarthak Date: Sun, 13 Sep 2026 23:31:50 +0000 Subject: [PATCH 1/2] Revert "feat: added p90 step time logic for GEMM and HBM tail latencies (#129)" This reverts commit 77c6deeb797f89af286692010b932e81b394c68c. --- Ironwood/src/benchmark_hbm.py | 14 ++-------- Ironwood/src/benchmark_utils.py | 45 +++------------------------------ 2 files changed, 6 insertions(+), 53 deletions(-) diff --git a/Ironwood/src/benchmark_hbm.py b/Ironwood/src/benchmark_hbm.py index 6601ca8e..f72f7684 100644 --- a/Ironwood/src/benchmark_hbm.py +++ b/Ironwood/src/benchmark_hbm.py @@ -89,18 +89,8 @@ def single_device_hbm_copy_calculate_metrics( ) print( f"Tensor size: {tensor_size_bytes / 1024**2} MB, " - f"time taken (p10): " - f"{time_statistics.statistics["p10"]:.4f} ms, " - f"time taken (median): " - f"{time_statistics.statistics["p50"]:.4f} ms, " - f"time taken (p90): " - f"{time_statistics.statistics["p90"]:.4f} ms, " - f"bandwidth (p10): " - f"{statistics.statistics["p10"]:.3f} GB/s, " - f"bandwidth (median): " - f"{statistics.statistics["p50"]:.3f} GB/s, " - f"bandwidth (p90): " - f"{statistics.statistics["p90"]:.3f} GB/s" + f"time taken (median): {time_statistics.statistics["p50"]:.4f} ms, " + f"bandwidth (median): {statistics.statistics["p50"]:.3f} GB/s" ) print() # Gather the metrics to report. diff --git a/Ironwood/src/benchmark_utils.py b/Ironwood/src/benchmark_utils.py index 4dd4d440..f39b7116 100644 --- a/Ironwood/src/benchmark_utils.py +++ b/Ironwood/src/benchmark_utils.py @@ -858,7 +858,6 @@ def _calculate_statistics(self) -> Dict[str, float]: if not self.metrics_list: return {} # Return an empty dict if metrics_list is empty return { - "p10": np.percentile(self.metrics_list, 10), "p50": np.percentile(self.metrics_list, 50), "p90": np.percentile(self.metrics_list, 90), "p95": np.percentile(self.metrics_list, 95), @@ -1289,34 +1288,15 @@ def unified_flops_metrics( dtype_prefix = f"[{dtype}] " if dtype is not None else "" print( f"{dtype_prefix}" - f"Total floating-point ops: {total_flops}, " - f"Step Time (p10): " - f"{average_time_ms_statistics.statistics["p10"]:.2f}, " - f"Step Time (median): " + f"Total floating-point ops: {total_flops}, Step Time (median): " f"{average_time_ms_statistics.statistics["p50"]:.2f}, " - f"Step Time (p90): " - f"{average_time_ms_statistics.statistics["p90"]:.2f}, " - f"Throughput (p10): " - f"{tflops_per_sec_statistics.statistics["p10"]:.2f}" - f" TFLOP / second / device, " f"Throughput (median): " f"{tflops_per_sec_statistics.statistics["p50"]:.2f}" f" TFLOP / second / device, " - f"Throughput (p90): " - f"{tflops_per_sec_statistics.statistics["p90"]:.2f}" - f" TFLOP / second / device, " - f"TotalThroughput (p10): " - f"{tflops_per_sec_all_devices_statistics.statistics["p10"]:.2f} " - f"TFLOP / second, " f"TotalThroughput (median): " f"{tflops_per_sec_all_devices_statistics.statistics["p50"]:.2f} " f"TFLOP / second, " - f"TotalThroughput (p90): " - f"{tflops_per_sec_all_devices_statistics.statistics["p90"]:.2f} " - f"TFLOP / second, " - f"MFU (p10): {mfu_statistics.statistics["p10"]:.2%}, " - f"MFU (median): {mfu_statistics.statistics["p50"]:.2%}, " - f"MFU (p90): {mfu_statistics.statistics["p90"]:.2%}" + f"MFU: {mfu_statistics.statistics["p50"]:.2%}" ) # Gather the metrics to report. @@ -1393,30 +1373,13 @@ def unified_bytes_metrics( type_prefix = f"[d={dtype}] " print( f"{type_prefix}" - f"Total bytes: {total_bytes}, " - f"Step Time (p10): " - f"{average_time_ms_statistics.statistics["p10"]:.2f}, " - f"Step Time (median): " + f"Total bytes: {total_bytes}, Step Time (median): " f"{average_time_ms_statistics.statistics["p50"]:.2f}, " - f"Step Time (p90): " - f"{average_time_ms_statistics.statistics["p90"]:.2f}, " - f"Throughput (p10): " - f"{gigabytes_per_sec_statistics.statistics["p10"]:.2f} " - f"GBytes / second / device, " - f"Throughput (median): " + f"Throughput (median):" f"{gigabytes_per_sec_statistics.statistics["p50"]:.2f} " f"GBytes / second / device, " - f"Throughput (p90): " - f"{gigabytes_per_sec_statistics.statistics["p90"]:.2f} " - f"GBytes / second / device, " - f"TotalThroughput (p10): " - f"{gigabytes_per_sec_all_devices_statistics.statistics["p10"]:.2f} " - f"GBytes / second, " f"TotalThroughput (median): " f"{gigabytes_per_sec_all_devices_statistics.statistics["p50"]:.2f} " - f"GBytes / second, " - f"TotalThroughput (p90): " - f"{gigabytes_per_sec_all_devices_statistics.statistics["p90"]:.2f} " f"GBytes / second" ) print() From 6f6f9f43d61245e967a6a4d684b007036e40a5fd Mon Sep 17 00:00:00 2001 From: Sarthak Date: Mon, 14 Sep 2026 05:29:27 +0000 Subject: [PATCH 2/2] ci: install pylint in pylint style check workflow --- .github/workflows/pylint.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pylint.yml b/.github/workflows/pylint.yml index b26d6d73..3a3df8bf 100644 --- a/.github/workflows/pylint.yml +++ b/.github/workflows/pylint.yml @@ -20,6 +20,7 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip + pip install pylint if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - name: Run Pylint