
    9i	                         S SK Jr  S SKJr  SSKJr  SSKJr  SSKJ	r	  SSK
Jr  \(       a  S S	KJr  S S
KJr  SR!                  5       r " S S\5      rg)    )getattr_static)TYPE_CHECKING   )create_call_function)Unsupported)
AttrSource   )VariableTracker)	PyCodegen)InstructionTranslatorz6query key value attn_mask dropout is_causal enable_gqac                   z   ^  \ rS rSrSr\SS j5       rSU 4S jjrSS jrS	 r	SSS
\
S\4S jr\S 5       rSrU =r$ )SDPAParamsVariable   zaRepresents the c++ params struct for scaled dot product attention.
This is a read-only container.txr   c                     SSK Jn  SSKJn  [         Vs/ s H-  n[
        R                  " U [        X5      [        X%5      5      PM/     nnU" U5      R                  X0 5      $ s  snf )Nr   
SDPAParamsr	   )TorchInGraphFunctionVariable)
torch.backends.cudar   torchr   PARAM_NAMESr
   buildgetattrr   call_function)r   valuesourcer   r   pparamss          \/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/torch/_dynamo/variables/sdpa.pycreateSDPAParamsVariable.create   sc    27 !
  !!"ge&7F9NO  	 
 ,J7EEbRTUU	
s   4A#returnc                 >   > Xl         X l        [        TU ]  " S0 UD6  g )N )proxy
param_varssuper__init__)selfr%   r&   kwargs	__class__s       r   r(   SDPAParamsVariable.__init__#   s    
$"6"    c                    ^ U R                   b   eU R                  c   eTR                  U4S j5        TR                  U R                  5        TR	                  [        [        U R                  5      S5      5        g )Nc                  (   > T R                  SS5      $ )Nztorch._C_SDPAParams)load_import_from)codegens   r   <lambda>0SDPAParamsVariable.reconstruct.<locals>.<lambda>,   s    G,,ZGr-   F)r   r&   add_push_nullforeachextend_outputr   len)r)   r2   s    `r   reconstructSDPAParamsVariable.reconstruct(   se    {{"""***G	
 	(23t3GOPr-   c                     U R                   $ )N)r%   )r)   s    r   as_proxySDPAParamsVariable.as_proxy1   s    zzr-   namec                 :   SS K nSSKJn  SSKJn   [        UR                  R                  U5        UR                  U R                  5       U5      nU R                  b  U" X[        U R                  U5      S9$ U" XS9$ ! [         a    [        SU 35      S ef = f)Nr   r	   )wrap_fx_proxy)GetAttrVariablez+Unsupported torch._C._SDPAParams attribute )r   r%   r   )r   r%   )torch._Cbuilderr@   miscrA   r   _Cr0   AttributeErrorr   create_getattr_proxyr<   r   r   )r)   r   r>   r   r@   rA   r%   s          r   var_getattrSDPAParamsVariable.var_getattr4   s    *)	588//6  44T]]_dK;;" :dkk4+H  !B44  	=dVD	s    B   Bc                     SSK Jn  XL $ )Nr   r   )r   r   )r   r   s     r   is_sdpa_params!SDPAParamsVariable.is_sdpa_paramsJ   s    2""r-   )r&   r%   )r   r   )r"   N)r2   r   )__name__
__module____qualname____firstlineno____doc__staticmethodr    r(   r9   r<   strr
   rH   rK   __static_attributes____classcell__)r+   s   @r   r   r      s]    & 	V 	V#
Q55 5S 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>r^      s>    #   :   ! /DFLLN;# ;#r-   