[BugFix][Core] Fix BlockManagerV2 when Encoder Input is None (#9103)

This commit is contained in:
sroy745 2024-10-06 20:52:42 -07:00 committed by GitHub
parent 487678d046
commit c8f26bb636
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 3 additions and 8 deletions

View File

@ -220,7 +220,6 @@ class BlockTable:
occupied by each block. After freeing all the blocks, the `_blocks` list
is set to `None`.
"""
assert self._is_allocated
for block in self.blocks:
self._allocator.free(block)
self._blocks.reset()
@ -239,7 +238,6 @@ class BlockTable:
List[int]: A list of physical block indices for the blocks in the
BlockTable.
"""
assert self._is_allocated
return self._blocks.ids()
def get_unseen_token_ids(self, sequence_token_ids: List[int]) -> List[int]:

View File

@ -151,6 +151,8 @@ class BlockSpaceManagerV2(BlockSpaceManager):
block_allocator=self.block_allocator,
max_block_sliding_window=self.max_block_sliding_window,
)
if seq.get_token_ids():
# Add blocks to the block table only if the sequence is non empty.
block_table.allocate(seq.get_token_ids())
return block_table

View File

@ -903,11 +903,6 @@ class EngineArgs:
"--enable-prefix-caching is currently not "
"supported for multimodal models and has been disabled.")
self.enable_prefix_caching = False
if model_config.is_encoder_decoder_model:
logger.warning(
"Block Manager v2 does not support encoder-decoder models"
" currently. Using Block Manager v1 as fallback.")
self.use_v2_block_manager = False
cache_config = CacheConfig(
block_size=self.block_size if self.device != "neuron" else