o
    .ip                     @   sV   d dl mZ d dlZd dlmZ G dd deeZG dd deZG dd	 d	eZdS )
    )ABCN)LoadStoreSpecc                   @   s0   e Zd ZdZdee fddZdefddZdS )	BlockIDsLoadStoreSpeczF
    Spec for loading/storing KV blocks from given block numbers.
    	block_idsc                 C   s   t j|t jd| _d S )N)dtype)nparrayint64r   )selfr    r   W/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/vllm/v1/kv_offload/mediums.py__init__   s   zBlockIDsLoadStoreSpec.__init__returnc                 C   s
   t | jS )N)reprr   )r
   r   r   r   __repr__   s   
zBlockIDsLoadStoreSpec.__repr__N)	__name__
__module____qualname____doc__listintr   strr   r   r   r   r   r   
   s    r   c                   @   "   e Zd ZdZedefddZdS )GPULoadStoreSpecz<
    Spec for loading/storing a KV block to GPU memory.
    r   c                   C      dS )NGPUr   r   r   r   r   medium      zGPULoadStoreSpec.mediumNr   r   r   r   staticmethodr   r   r   r   r   r   r          r   c                   @   r   )CPULoadStoreSpecz<
    Spec for loading/storing a KV block to CPU memory.
    r   c                   C   r   )NCPUr   r   r   r   r   r   %   r   zCPULoadStoreSpec.mediumNr   r   r   r   r   r!       r    r!   )	abcr   numpyr   vllm.v1.kv_offload.abstractr   r   r   r!   r   r   r   r   <module>   s   
