From e306250da7e701feb69092a440df0493395285d7 Mon Sep 17 00:00:00 2001 From: Mikhail Chusavitin Date: Thu, 16 Apr 2026 10:00:03 +0300 Subject: [PATCH] Disable fp64/fp4 in mixed gpu burn --- iso/builder/bee-gpu-stress.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/iso/builder/bee-gpu-stress.c b/iso/builder/bee-gpu-stress.c index 5160034..2bc377e 100644 --- a/iso/builder/bee-gpu-stress.c +++ b/iso/builder/bee-gpu-stress.c @@ -713,6 +713,19 @@ static const struct profile_desc k_profiles[] = { #define PROFILE_COUNT ((int)(sizeof(k_profiles) / sizeof(k_profiles[0]))) +static int profile_allowed_for_run(const struct profile_desc *desc, int cc, const char *precision_filter) { + if (!(desc->enabled && cc >= desc->min_cc)) { + return 0; + } + if (precision_filter != NULL) { + return strcmp(desc->block_label, precision_filter) == 0; + } + /* Mixed/all phases intentionally exclude fp64/fp4 for now: both paths are + * unstable on the current benchmark fleet and can abort the whole mixed + * pass after earlier phases already collected useful telemetry. */ + return strcmp(desc->block_label, "fp64") != 0 && strcmp(desc->block_label, "fp4") != 0; +} + static int load_cublaslt(struct cublaslt_api *api) { memset(api, 0, sizeof(*api)); api->lib = dlopen("libcublasLt.so.13", RTLD_NOW | RTLD_LOCAL); @@ -1222,8 +1235,7 @@ static int run_cublaslt_stress(struct cuda_api *cuda, /* Count profiles matching the filter (for deciding what to run). */ for (size_t i = 0; i < sizeof(k_profiles) / sizeof(k_profiles[0]); i++) { - if (k_profiles[i].enabled && cc >= k_profiles[i].min_cc && - (precision_filter == NULL || strcmp(k_profiles[i].block_label, precision_filter) == 0)) { + if (profile_allowed_for_run(&k_profiles[i], cc, precision_filter)) { planned++; } } @@ -1240,7 +1252,7 @@ static int run_cublaslt_stress(struct cuda_api *cuda, * profiles matching precision_filter. */ int planned_total = 0; for (size_t i = 0; i < sizeof(k_profiles) / sizeof(k_profiles[0]); i++) { - if (k_profiles[i].enabled && cc >= k_profiles[i].min_cc) { + if (profile_allowed_for_run(&k_profiles[i], cc, precision_filter)) { planned_total++; } } @@ -1310,10 +1322,10 @@ static int run_cublaslt_stress(struct cuda_api *cuda, desc->min_cc); continue; } - if (precision_filter != NULL && strcmp(desc->block_label, precision_filter) != 0) { + if (!profile_allowed_for_run(desc, cc, precision_filter)) { append_detail(report->details, sizeof(report->details), - "%s=SKIPPED precision_filter\n", + "%s=SKIPPED benchmark_disabled\n", desc->name); continue; }