From 8ab3d7427cf54f2505c934344c7c7ecd2ce32c99 Mon Sep 17 00:00:00 2001 From: Matthew Bonanni Date: Tue, 10 Mar 2026 23:01:07 -0400 Subject: [PATCH] [Bugfix] Fix DeepSeek V3.2 OOM during CG memory profiling (#36691) Signed-off-by: Matthew Bonanni --- vllm/v1/worker/gpu_model_runner.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/vllm/v1/worker/gpu_model_runner.py b/vllm/v1/worker/gpu_model_runner.py index 37d6993ab..ba40e8e45 100644 --- a/vllm/v1/worker/gpu_model_runner.py +++ b/vllm/v1/worker/gpu_model_runner.py @@ -5550,16 +5550,14 @@ class GPUModelRunner( kv_cache_spec = self.get_kv_cache_spec() kv_cache_groups = get_kv_cache_groups(self.vllm_config, kv_cache_spec) min_blocks = self.compilation_config.max_cudagraph_capture_size or 1 - if kv_cache_groups: - page_size = kv_cache_groups[0].kv_cache_spec.page_size_bytes - group_size = max(len(g.layer_names) for g in kv_cache_groups) - available_memory = min_blocks * page_size * group_size - else: - available_memory = 1 # Attention-free model + # Temporarily change num_gpu_blocks_override to allocate a minimal KV cache + saved_override = self.cache_config.num_gpu_blocks_override + self.cache_config.num_gpu_blocks_override = min_blocks minimal_config = get_kv_cache_config_from_groups( - self.vllm_config, kv_cache_groups, available_memory=available_memory + self.vllm_config, kv_cache_groups, available_memory=0 ) + self.cache_config.num_gpu_blocks_override = saved_override self.initialize_kv_cache(minimal_config) self.cache_config.num_gpu_blocks = minimal_config.num_blocks