
    .`i                         d dl Z d dlmZ  ej                    rd dlmZ n ej                    rd dlm	Z  G d d          Z
dS )    N)current_platform)_custom_ops)ipex_opsc                       e Zd Zedej        dededeej        ej        f         fd            Zedej        dej        dej        d	ej        d
ej        de	dej        dej        ddfd            Z
dS )PagedAttentionkv_cachenum_kv_heads	head_sizereturnc                     d|                                  z  }| j        d         }| d         }|                    ||||z  d|          }| d         }|                    |||d          }||fS )N      r   )element_sizeshapeview)r   r	   r
   x
num_blocks	key_cachevalue_caches          t/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/v1/attention/ops/paged_attn.pysplit_kv_cachezPagedAttention.split_kv_cache   sz     ('')))^A&
QK	NN:|Y!^RQRSS	qk!&&z<BOO+%%    keyvaluer   r   slot_mappingkv_cache_dtypek_scalev_scaleNc           
      `    t          j        | ||||                                |||           d S )N)opsreshape_and_cacheflatten)r   r   r   r   r   r   r   r   s           r   write_to_paged_cachez#PagedAttention.write_to_paged_cache   sG     	  ""		
 		
 		
 		
 		
r   )__name__
__module____qualname__staticmethodtorchTensorinttupler   strr$    r   r   r   r      s        &,&& & 
u|U\)	*	& & & \& 
\
|
 <
 \	

 l
 
 
 
 

 
 
 \
 
 
r   r   )r)   vllm.platformsr   is_cuda_alikevllmr   r!   is_xpuvllm._ipex_opsr   r   r.   r   r   <module>r4      s   
  + + + + + +!!## /''''''' /......$
 $
 $
 $
 $
 $
 $
 $
 $
 $
r   