From b1644f764f8111e34872fa871745c97ee08a3226 Mon Sep 17 00:00:00 2001 From: Woosuk Kwon Date: Tue, 14 Feb 2023 01:57:40 +0000 Subject: [PATCH] Fix can_swap_in --- cacheflow/master/block_manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cacheflow/master/block_manager.py b/cacheflow/master/block_manager.py index 6e784831..6a397a29 100644 --- a/cacheflow/master/block_manager.py +++ b/cacheflow/master/block_manager.py @@ -147,12 +147,12 @@ class BlockSpaceManager: def can_swap_in(self, seq_group: SequenceGroup) -> bool: blocks = self._get_physical_blocks(seq_group) - num_running_seqs = seq_group.num_seqs(status=SequenceStatus.RUNNING) + num_swapped_seqs = seq_group.num_seqs(status=SequenceStatus.SWAPPED) num_free_blocks = self.gpu_allocator.get_num_free_blocks() # NOTE: Conservatively, we assume that every sequence will allocate # at least one free block right after the swap-in. # NOTE: This should match the logic in can_append(). - return len(blocks) + num_running_seqs <= num_free_blocks + return len(blocks) + num_swapped_seqs <= num_free_blocks def swap_in(self, seq_group: SequenceGroup) -> Dict[int, int]: # src_block_number -> dst_block_number