From 4ac9863353a63423d533dbb5855d5d1b8dcc66c1 Mon Sep 17 00:00:00 2001 From: Mikhail Chusavitin Date: Mon, 17 Aug 2026 10:59:49 +0300 Subject: [PATCH] fix(webui): keep ramp-up burns as a single multi-GPU task buildNvidiaTaskSet only treated ParallelGPUs as a reason to keep all selected GPUs in one task, so ramp-up (StaggerGPUStart) fell through to per-model task splitting. When that split left a single GPU in a task, resolveNvidiaRampPlan silently returned StaggerSeconds=0, making the ramp-up toggle a no-op. Co-Authored-By: Claude Sonnet 5 --- audit/internal/webui/api.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/audit/internal/webui/api.go b/audit/internal/webui/api.go index 1c21425..dcf1ae0 100644 --- a/audit/internal/webui/api.go +++ b/audit/internal/webui/api.go @@ -267,9 +267,9 @@ func formatSplitTaskName(baseName, selectionLabel string) string { } func buildNvidiaTaskSet(target string, priority int, createdAt time.Time, params taskParams, baseName string, appRef *app.App, idPrefix string) ([]*Task, error) { - if !shouldSplitHomogeneousNvidiaTarget(target) || params.ParallelGPUs { - // Parallel mode (or non-splittable target): one task for all selected GPUs. - if params.ParallelGPUs && shouldSplitHomogeneousNvidiaTarget(target) { + if !shouldSplitHomogeneousNvidiaTarget(target) || params.ParallelGPUs || params.StaggerGPUStart { + // Parallel mode, ramp-up mode (or non-splittable target): one task for all selected GPUs. + if (params.ParallelGPUs || params.StaggerGPUStart) && shouldSplitHomogeneousNvidiaTarget(target) { // Resolve the selected GPU indices so ExcludeGPUIndices is applied. gpus, err := apiListNvidiaGPUs(appRef) if err != nil {