
    %Vji	                         d dl mZ d dlmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ erd d	lmZ d d
lmZ d                                Z G d de          ZdS )    )getattr_static)TYPE_CHECKING   )create_call_function)Unsupported)
AttrSource   )VariableTracker)	PyCodegen)InstructionTranslatorz6query key value attn_mask dropout is_causal enable_gqac                   t     e Zd ZdZedd            Zd fdZdd
Zd Zddde	de
fdZed             Z xZS )SDPAParamsVariablezeRepresents the c++ params struct for scaled dot product attention.
    This is a read-only container.txr   c                      ddl m} ddlm}  fdt          D             } ||                               |i           S )Nr   
SDPAParamsr	   )TorchInGraphFunctionVariablec           
      t    g | ]4}t          j        t          |          t          |                    5S  )r
   buildgetattrr   ).0psourcer   values     V/root/voice-cloning/.venv/lib/python3.11/site-packages/torch/_dynamo/variables/sdpa.py
<listcomp>z-SDPAParamsVariable.create.<locals>.<listcomp>   sL     
 
 
 !"geQ&7&7FA9N9NOO
 
 
    )torch.backends.cudar   torchr   PARAM_NAMEScall_function)r   r   r   r   r   paramss   ```   r   createzSDPAParamsVariable.create   s    222222777777
 
 
 
 
 
 
 
 
 ,+J77EEb&RTUUUr   returnNc                 V    || _         || _         t                      j        di | d S )Nr   )proxy
param_varssuper__init__)selfr'   r(   kwargs	__class__s       r   r*   zSDPAParamsVariable.__init__#   s4    
$""6"""""r   codegenr   c                     | j         J | j        J                     fd                               | j                                       t          t          | j                  d                     d S )Nc                  0                          dd          S )Nztorch._C_SDPAParams)load_import_from)r.   s   r   <lambda>z0SDPAParamsVariable.reconstruct.<locals>.<lambda>,   s    G,,ZGG r   F)r   r(   add_push_nullforeachextend_outputr   len)r+   r.   s    `r   reconstructzSDPAParamsVariable.reconstruct(   s    {"""***GGGG	
 	
 	
 	(((23t3G3GOOPPPPPr   c                     | j         S )N)r'   )r+   s    r   as_proxyzSDPAParamsVariable.as_proxy1   s
    zr   namec                 V   dd l }ddlm} ddlm} 	 t          |j        j        |           n!# t          $ r t          d|           d w xY w|
                    |                                 |          }| j        ! |||t          | j        |                    S  |||          S )Nr   r	   )wrap_fx_proxy)GetAttrVariablez+Unsupported torch._C._SDPAParams attribute )r   r'   r   )r   r'   )torch._Cbuilderr=   miscr>   r   _Cr1   AttributeErrorr   create_getattr_proxyr:   r   r   )r+   r   r;   r    r=   r>   r'   s          r   var_getattrzSDPAParamsVariable.var_getattr4   s    ******))))))	58/6666 	 	 	DdDD 	  44T]]__dKK;" =U:dk4+H+H    !=Be4444s	   - Ac                     ddl m} | |u S )Nr   r   )r   r   )r   r   s     r   is_sdpa_paramsz!SDPAParamsVariable.is_sdpa_paramsJ   s    222222
""r   )r   r   )r%   N)r.   r   )__name__
__module____qualname____doc__staticmethodr$   r*   r8   r:   strr
   rE   rG   __classcell__)r-   s   @r   r   r      s        & & 	V 	V 	V \	V# # # # # #
Q Q Q Q  55 5S 5_ 5 5 5 5, # # \# # # # #r   r   N)inspectr   typingr   bytecode_transformationr   excr   r   r   baser
   torch._dynamo.codegenr   torch._dynamo.symbolic_convertr   splitr!   r   r   r   r   <module>rW      s    # " " " " "             : : : : : :             ! ! ! ! ! !  E//////DDDDDDFLLNN;# ;# ;# ;# ;# ;# ;# ;# ;# ;#r   