Fix missing draft KV pool transfers in HybridCacheController (#27953)

This commit is contained in:
Yongji Wu
2026-06-13 15:17:31 +08:00
committed by GitHub
parent 8ce05e8a20
commit 568aa5fcdb
@@ -410,6 +410,13 @@ class HybridCacheController(BaseHiCacheController):
self.io_backend,
pool_transfers=resolved_pool_transfers,
)
if self.has_draft and host_indices.numel() > 0:
self.mem_pool_host_draft.backup_from_device_all_layer(
self.mem_pool_device_draft,
host_indices,
device_indices,
self.io_backend,
)
finish_event.record()
self._record_transfer_indices_on_stream(
self.write_stream,
@@ -484,6 +491,18 @@ class HybridCacheController(BaseHiCacheController):
self.io_backend,
pool_transfers=resolved_pool_transfers,
)
if (
self.has_draft
and host_indices.numel() > 0
and i < self.mem_pool_host_draft.layer_num
):
self.mem_pool_host_draft.load_to_device_per_layer(
self.mem_pool_device_draft,
host_indices,
device_indices,
i,
self.io_backend,
)
producer_event.complete(i)
self._record_transfer_indices_on_stream(
self.load_stream,