[diffusion] fix: fix --warmup silently downgrading server-based warmup to request mode (#29514)
This commit is contained in:
@@ -726,6 +726,8 @@ class ServerArgs(DisaggServerArgsMixin):
|
||||
if mode_explicit or not legacy_explicit:
|
||||
self.warmup = self.warmup_mode != "off"
|
||||
self.server_warmup = self.warmup_mode == "server"
|
||||
elif self.warmup:
|
||||
self.server_warmup = self.server_warmup or self.warmup_mode == "server"
|
||||
|
||||
# Explicit resolutions imply warmup is on (request-based).
|
||||
if self.warmup_resolutions is not None:
|
||||
|
||||
@@ -588,6 +588,29 @@ class TestWarmupModeNormalization(unittest.TestCase):
|
||||
self.assertFalse(sa.server_warmup)
|
||||
self.assertEqual(sa.warmup_mode, "request")
|
||||
|
||||
def test_legacy_warmup_on_uses_defaulted_server_mode(self):
|
||||
# `serve --warmup` (legacy ON, mode defaulted to "server" but not
|
||||
# explicit) must resolve to server-based warmup, not silently downgrade
|
||||
# to request mode.
|
||||
sa = self._resolve(warmup_mode="server", warmup=True, explicit=("warmup",))
|
||||
self.assertEqual(sa.warmup_mode, "server")
|
||||
self.assertTrue(sa.warmup)
|
||||
self.assertTrue(sa.server_warmup)
|
||||
|
||||
def test_legacy_warmup_with_resolutions_runs_server_warmup(self):
|
||||
# Dead-zone regression: `serve --warmup --warmup-resolutions X` must run
|
||||
# server-based (synthetic) warmup, not end up with no warmup at all
|
||||
# (request-based warmup bails out when warmup_resolutions is set).
|
||||
sa = self._resolve(
|
||||
warmup_mode="server",
|
||||
warmup=True,
|
||||
warmup_resolutions=["1024x1024"],
|
||||
explicit=("warmup",),
|
||||
)
|
||||
self.assertTrue(sa.warmup)
|
||||
self.assertTrue(sa.server_warmup)
|
||||
self.assertEqual(sa.warmup_mode, "server")
|
||||
|
||||
def test_disagg_role_disables_server_warmup(self):
|
||||
from sglang.multimodal_gen.runtime.disaggregation.roles import RoleType
|
||||
|
||||
|
||||
Reference in New Issue
Block a user