[diffusion] chore: speed up minimax-h3 vae decode on 2×h100 (#34817)
This commit is contained in:
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user