[MRV2] Release weight offloader on shutdown (#57834)

Signed-off-by: Taneem Ibrahim <taneem.ibrahim@gmail.com>

Taneem Ibrahim committed Sep 22, 2026 at 15:01 UTC bc162b3f9280c2dc05dfd5aa282d29551f8f6d33
2 files changed +6 -5
vllm/model_executor/offloader/base.py
+5 -5
@@ -129,14 +129,14 @@ def get_offloader() -> BaseOffloader:
129 return _instance
130
131
132 -def set_offloader(instance: BaseOffloader) -> None:
133 - """Set the global offloader instance."""
132 +def set_offloader(instance: BaseOffloader | None) -> None:
133 + """Set or reset the global offloader instance."""
134 global _instance
135 - _instance = instance
136 - if isinstance(instance, NoopOffloader):
135 + _instance = NoopOffloader() if instance is None else instance
136 + if isinstance(_instance, NoopOffloader):
137 logger.debug_once("Offloader set to NoopOffloader (no offloading).")
138 else:
139 - logger.info_once("Offloader set to %s", type(instance).__name__)
139 + logger.info_once("Offloader set to %s", type(_instance).__name__)
140
141
142 def create_offloader(offload_config: "OffloadConfig") -> BaseOffloader:
vllm/v1/worker/gpu/model_runner.py
+1
@@ -2248,6 +2248,7 @@ class GPUModelRunner(LoRAModelRunnerMixin):
2248 torch.accelerator.synchronize()
2249 if self.aux_output_connector is not None:
2250 self.aux_output_connector.close()
2251 + set_offloader(None)
2252 self.cudagraph_manager = None
2253 self.fast_prefill = None
2254 self.pooling_runner = None