§
    .`ƒi;  ã                   ó@   — d dl Zd dlZd dlmZmZ  G d„ d¦  «        ZdS )é    N)ÚStagedWriteTensorÚUvaBackedTensorc                   ó”   — e Zd Zdedededededej        fd„Zedefd	„¦   «         Zd
e	dede
e         deddf
d„Zdd„Zd
e	ddfd„ZdS )ÚRequestStateÚmax_num_reqsÚmax_model_lenÚmax_num_batched_tokensÚnum_speculative_stepsÚ
vocab_sizeÚdevicec                 ób  — || _         || _        || _        || _        || _        || _        i | _        i | _        t          t          |¦  «        ¦  «        | _
        t          j        | j         t          j        ¬¦  «        | _        t          | j         | j        ft           j        |d¬¦  «        | _        t%          | j         t           j        ¬¦  «        | _        t          j        | j         t          j        ¬¦  «        | _        t          | j         t           j        |¬¦  «        | _        t!          j        | j         dt           j        |¬¦  «        | _        t!          j        | j         | j        t           j        |¬¦  «        | _        t!          j        | j         t           j        |¬¦  «        | _        d S )N)ÚdtypeT)r   r   Úuva_instead_of_gpu)r   r   é   )r   r   r	   r
   r   r   Úreq_id_to_indexÚindex_to_req_idÚlistÚrangeÚfree_indicesÚnpÚzerosÚint32Ú
prompt_lenr   ÚtorchÚprefill_token_idsr   Úprefill_lenÚnum_computed_prefill_tokensÚnum_computed_tokensÚint64Úlast_sampled_tokensÚdraft_tokensÚnext_prefill_tokens)Úselfr   r   r	   r
   r   r   s          úm/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/v1/worker/gpu/states.pyÚ__init__zRequestState.__init__
   sŒ  € ð )ˆÔØ*ˆÔØ&<ˆÔ#Ø%:ˆÔ"Ø$ˆŒØˆŒà/1ˆÔØ/1ˆÔÝ ¥ |Ñ!4Ô!4Ñ5Ô5ˆÔåœ( 4Ô#4½B¼HÐEÑEÔEˆŒõ "3ØÔ Ô 2Ð3Ý”+ØØ#ð	"
ñ "
ô "
ˆÔõ +¨4Ô+<ÅEÄKÐPÑPÔPˆÔõ ,.¬8°DÔ4EÍRÌXÐ+VÑ+VÔ+VˆÔ(Ý#4ØÔ¥U¤[¸ð$
ñ $
ô $
ˆÔ õ
 $)¤;ØÔØÝ”+Øð	$
ñ $
ô $
ˆÔ õ "œKØÔØÔ&Ý”+Øð	
ñ 
ô 
ˆÔõ $)¤;ØÔ¥U¤[¸ð$
ñ $
ô $
ˆÔ Ð Ð ó    Úreturnc                 ó*   — t          | j        ¦  «        S ©N)Úlenr   ©r#   s    r$   Únum_reqszRequestState.num_reqsC   s   € å4Ô'Ñ(Ô(Ð(r&   Úreq_idr   r   r   Nc                 ó¢  — t          | j        ¦  «        dk    s
J d¦   «         ‚| j                             ¦   «         }|| j        |<   || j        |<   || j        |<   t          |¦  «        }||k    sJ d|› d|› ¦   «         ‚|| j        j        |<   | j         	                    |d|¦  «         || j
        |<   | j                             ||¦  «         d S )Nr   zNo free indiceszprefill_len z < prompt_len )r*   r   Úpopr   r   r   r   r   r   Ústage_writer   r   Ústage_write_elem)r#   r-   r   r   r   Úreq_idxr   s          r$   Úadd_requestzRequestState.add_requestG   sø   € õ 4Ô$Ñ%Ô%¨Ò)Ð)Ð)Ð+<Ñ)Ô)Ð)ØÔ#×'Ò'Ñ)Ô)ˆØ'.ˆÔ˜VÑ$Ø(.ˆÔ˜WÑ%à#-ˆŒ˜Ñ ÝÐ+Ñ,Ô,ˆØ˜jÒ(Ð(Ð(ØB˜;ÐBÐB°jÐBÐBñ )Ô(Ð(ð (3ˆÔÔ˜GÑ$ØÔ×*Ò*¨7°AÐ7HÑIÔIÐIØ4GˆÔ(¨Ñ1ØÔ ×1Ò1°'Ð;NÑOÔOÐOÐOÐOr&   c                 óœ   — | j                              ¦   «          | j                             ¦   «          | j                             ¦   «          d S r)   )r   Úcopy_to_uvar   Úapply_writer   r+   s    r$   Úapply_staged_writesz RequestState.apply_staged_writes]   sG   € ØÔ×$Ò$Ñ&Ô&Ð&ØÔ×*Ò*Ñ,Ô,Ð,ØÔ ×,Ò,Ñ.Ô.Ð.Ð.Ð.r&   c                 ó®   — | j                              |d ¦  «        }|€d S | j                             |d ¦  «         | j                             |¦  «         d S r)   )r   r/   r   r   Úappend)r#   r-   r2   s      r$   Úremove_requestzRequestState.remove_requestb   sZ   € ØÔ&×*Ò*¨6°4Ñ8Ô8ˆØˆ?àˆFØÔ× Ò  ¨$Ñ/Ô/Ð/ØÔ× Ò  Ñ)Ô)Ð)Ð)Ð)r&   )r'   N)Ú__name__Ú
__module__Ú__qualname__Úintr   r   r%   Úpropertyr,   Ústrr   r3   r7   r:   © r&   r$   r   r   	   s  € € € € € ð7
àð7
ð ð7
ð !$ð	7
ð
  #ð7
ð ð7
ð ”ð7
ð 7
ð 7
ð 7
ðr ð)˜#ð )ð )ð )ñ „Xð)ðPàðPð ðPð   œ9ð	Pð
 !ðPð 
ðPð Pð Pð Pð,/ð /ð /ð /ð
* Sð *¨Tð *ð *ð *ð *ð *ð *r&   r   )Únumpyr   r   Úvllm.v1.worker.gpu.buffer_utilsr   r   r   rA   r&   r$   ú<module>rD      sp   ðð Ð Ð Ð Ø €€€à NÐ NÐ NÐ NÐ NÐ NÐ NÐ Nð_*ð _*ð _*ð _*ð _*ñ _*ô _*ð _*ð _*ð _*r&   