[diffusion] chore: speed up minimax-h3 vae decode on 2×h100 (#34817)

This commit is contained in:
Mick
2026-08-16 15:38:21 +08:00
committed by GitHub
parent 8922bb98e2
commit a54de989c8
6 changed files with 29 additions and 7 deletions
@@ -700,7 +700,9 @@ TWO_GPU_CASES = [
"--performance-mode",
"memory",
"--layerwise-offload-components",
"dit,text_encoder,vae",
"dit,text_encoder",
"--component-residency",
"vae=resident",
"--dit-offload-prefetch-size",
"1",
"--dit-layerwise-resident-layers",
@@ -2808,7 +2808,7 @@
"MiniMaxH3LatentPreparationStage": 18.72,
"MiniMaxH3TimestepPreparationStage": 0.34,
"MiniMaxH3DenoisingStage": 16839.0,
"MiniMaxH3DecodingStage": 29741.66,
"MiniMaxH3DecodingStage": 2200.0,
"per_frame_generation": null
},
"denoise_step_ms": {
@@ -2820,10 +2820,10 @@
"5": 2343.56,
"6": 2326.79
},
"expected_e2e_ms": 47538.57,
"expected_e2e_ms": 19700.0,
"expected_avg_denoise_ms": 2045.61,
"expected_median_denoise_ms": 2332.99,
"estimated_full_test_time_s": 235.9
"estimated_full_test_time_s": 208.0
},
"mova_360p_tp2": {
"stages_ms": {},
@@ -1154,7 +1154,7 @@ class TestOffloadDefaults(unittest.TestCase):
with self.assertRaisesRegex(ValueError, "native SGLang backend"):
resolve_diffusers_pipeline_offload({"all": LAYERWISE_OFFLOAD})
def test_vae_cpu_offload_defaults_false_on_low_memory_gpu(self):
def test_memory_mode_layerwise_offloads_vae_on_low_memory_gpu(self):
args = self._from_dict_with_task_type(
ModelTaskType.T2V,
memory_gb=16,
@@ -1169,6 +1169,22 @@ class TestOffloadDefaults(unittest.TestCase):
args.layerwise_offload_components,
["text_encoder", "image_encoder", "vae"],
)
self.assertEqual(args.residency_mode("vae"), LAYERWISE_OFFLOAD)
def test_memory_mode_preserves_explicit_vae_residency(self):
for kwargs, expected_mode in (
({"component_residency": ["vae=resident"]}, RESIDENT),
({"vae_cpu_offload": True}, COMPONENT_OFFLOAD),
):
with self.subTest(expected_mode=expected_mode):
args = self._from_dict_with_task_type(
ModelTaskType.T2V,
memory_gb=16,
kwargs={"performance_mode": "memory", **kwargs},
)
self.assertNotIn("vae", args.layerwise_offload_components or [])
self.assertEqual(args.residency_mode("vae"), expected_mode)
def test_explicit_vae_cpu_offload_true_is_preserved_by_default_layerwise(
self,
@@ -2204,6 +2220,8 @@ class TestOffloadDefaults(unittest.TestCase):
self.assertFalse(args.dit_layerwise_offload)
self.assertIn("text_encoder", args.layerwise_offload_components or [])
self.assertIn("vae", args.layerwise_offload_components or [])
self.assertFalse(args.vae_cpu_offload)
self.assertEqual(args.residency_mode("vae"), LAYERWISE_OFFLOAD)
def test_minimax_h3_rejects_explicit_cfg_parallel(self):
with self.assertRaisesRegex(