Ë
    [^(h06  ã                   ób  — d dl Z d dlZd dlZd dlmZ d dlmZmZ d dlm	Z	 d dl
mZ d dlmZmZ d dlmZmZmZ d dlmZ d d	lmZmZ d
„ Zd„ Zd„ Zd„ Zd„ Zg d¢Zej<                  j?                  ddej@                  jB                  ¬«       ej<                  jE                  dd«      d„ «       Z#ej<                  jE                  dd«      d„ «       Z$ej<                  jK                  d«      d„ «       Z&d„ Z'd„ Z(d„ Z)ed„ «       Z*d„ Z+d„ Z,d„ Z-d„ Z.d „ Z/d!„ Z0d"„ Z1d#„ Z2 e«       Z3d$„ Z4d%„ Z5 ed&d'e2e1 eejl                  ejn                  «      d(d(d(d(d(d(d(¬)«       ed*d'e+e) eejl                  ejn                  «      d(d(d(d(d(d+d(¬)«       ed,d'ee eejl                  ejn                  «      d(d(d(d(d(¬-«
       ed,d.ee eejl                  ejn                  «      d(d(d(d(d(¬-«
       ed,d/ee eejl                  ejn                  «      d(d(d(d(d(¬-«
       ed0d'e(e' eejl                  ejn                  «      d(d(d(d(d(d+d(¬)«       ed1d'e4e) eejl                  ejn                  «      d(d(d(d(d(d+ eejp                  d2d3«       eejp                  d2d4«       eejp                  d2d5«       eejp                  d2d6«      fd(¬7«       ed8d'e5e) eejl                  ejn                  «      d(d(d(d(d(d+d(¬)«       ed9d'e0e/ eejl                  ejn                  «      d(d(d(d(d(d(¬:«       ed;d'e-e, eejl                  ejn                  «      d(d(d(d(d(d(¬:«       ed<d'ee. eejr                  ejt                  «      d(d(d(d(d( eejp                  d2d3«       eejp                  d2d4«       eejp                  d2d5«       eejp                  d2d6«      feg¬=«       ed>d'ee. eejr                  ejt                  «      d(d(d(d(d( eejp                  d2d3«       eejp                  d2d4«       eejp                  d2d5«       eejp                  d2d6«      feg¬=«      gZ;y)?é    N©Úmap)Ú_create_empty_block_maskÚflex_attention)Úmake_tensor)ÚonlyCUDA)Úall_types_andÚcustom_types)ÚDecorateInfoÚOpInfoÚSampleInput)Úmark_compile_region)ÚInvokeQuantÚinvoke_quant_packedc           
   +   ó¼   K  — t        j                  t        |||¬«      }t         |ddddd¬«       |ddddd¬«      g |ddd¬«       |ddd¬«      f¬«      –— y ­w)N©ÚdeviceÚdtypeÚrequires_gradé   çš™™™™™¹?©ÚlowÚhighé   )Úargs©Ú	functoolsÚpartialr   r   ©Úopinfor   r   r   ÚkwargsÚmake_args         ú\/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/testing/_internal/hop_db.pyÚsample_inputs_mapr%      sj   è ø€ Ü× Ñ Ü˜F¨%¸}ô€Hô Ù	�!�Q˜˜s¨Ô	+©X°a¸¸AÀ3ÈQÔ-OÐPÙ�q˜c¨Ô*©H°Q¸CÀaÔ,HÐIôó ùs   ‚AAc                 óÔ   — | d   j                  «       j                  d«      |z  | d   |j                  «       z   j                  «       j	                  | d   j                  «       «      gS )Nr   g      ð?r   )ÚcosÚadd_ÚsinÚcos_ÚviewÚsize©ÚxÚy0Úy1s      r$   Úinner_fr1      sQ   € Øˆa‰D�H‰H‹J�O‰O˜CÓ  2Ñ%¨¨!©¨r¯v©v«x©×'=Ñ'=Ó'?×'DÑ'DÀQÀqÁTÇYÁYÃ[Ó'QÐRÐRó    c                 ó$   — d„ }t        || ||«      S )Nc                 ó   — t        | ||«      S ©N©r1   r-   s      r$   Úfzsimple_map.<locals>.f    s   € Ü�q˜"˜bÓ!Ð!r2   r   )Úxsr/   r0   r7   s       r$   Ú
simple_mapr9      s   € ò"ô ˆq�"�b˜"ÓÐr2   c                 ó$   — d„ }t        || ||«      S )Nc                 ó$   — d„ }t        || ||«      S )Nc                 ó   — t        | ||«      S r5   r6   r-   s      r$   Úf2z"nested_map.<locals>.f1.<locals>.f2(   s   € Ü˜1˜b "Ó%Ð%r2   r   ©Úxxr/   r0   r=   s       r$   Úf1znested_map.<locals>.f1'   s   € ò	&ô �2�r˜2˜rÓ"Ð"r2   r   ©r8   r/   r0   r@   s       r$   Ú
nested_maprB   &   s   € ò#ô ˆr�2�r˜2ÓÐr2   c                 ó$   — d„ }t        || ||«      S )Nc                 ó$   — d„ }t        || ||«      S )Nc                 ó$   — d„ }t        || ||«      S )Nc                 ó   — t        | ||«      S r5   r6   r-   s      r$   r=   z5triple_nested_map.<locals>.f0.<locals>.f1.<locals>.f23   s   € Ü˜q " bÓ)Ð)r2   r   r>   s       r$   r@   z)triple_nested_map.<locals>.f0.<locals>.f12   s   € ò*ô �r˜2˜r 2Ó&Ð&r2   r   rA   s       r$   Úf0ztriple_nested_map.<locals>.f01   s   € ò	'ô �2�r˜2˜rÓ"Ð"r2   r   )r8   r/   r0   rG   s       r$   Útriple_nested_maprH   0   s   € ò#ô ˆr�2�r˜2ÓÐr2   )Úcustom_function_callÚautograd_function_applyÚrun_and_save_rng_stateÚrun_with_rng_stateÚgraphsafe_run_with_rng_stateÚ	out_dtypeÚtrace_wrappedÚtag_activation_checkpointÚexecutorch_call_delegateÚwrapÚwrap_with_set_grad_enabledÚauto_functionalized_v2Úassociative_scanÚ
flat_applyÚwrap_with_autocastÚwrap_activation_checkpointÚrun_const_graphÚauto_functionalizedr   Úmap_implÚwith_effectsÚstrict_modeÚ_export_tracepointÚcall_torchbindÚtriton_kernel_wrapper_mutationÚ triton_kernel_wrapper_functionalÚhints_wrapperÚforeach_mapÚaoti_call_delegateztestlib::mutating_custom_opz8(Tensor(a!) x, Tensor(b!) z) -> (Tensor, Tensor, Tensor))ÚtagsÚcpuc                 óV   — | j                  d«       |j                  d«       | || |z   fS ©Né   ©r(   ©r.   Úzs     r$   Úfoo_impl_cpurm   r   ó(   € à‡F�Fˆ1„IØ‡F�Fˆ1„IØˆa��Q‘ˆ;Ðr2   Úcudac                 óV   — | j                  d«       |j                  d«       | || |z   fS rh   rj   rk   s     r$   Úfoo_impl_cudarq   y   rn   r2   c                 ó   — | || |z   fS r5   © rk   s     r$   Úfoo_impl_abstractrt   €   s   € àˆa��Q‘ˆ;Ðr2   c           	   +   óv   K  — t        j                  t        |||¬«      }t         |ddddd¬«      «      –— y ­w©Nr   r   r   r   r   r    s         r$   Úsample_inputs_condrw   …   ó9   è ø€ Ü× Ñ Ü˜F¨%¸}ô€Hô ‘h˜q ! Q¨C°aÔ8Ó
9Ó9ùó   ‚79c                 óZ   — t        j                  | j                  «       dkD  d„ d„ | g«      S )Nr   c                 ó$   — | j                  «       fS r5   ©r'   ©r.   s    r$   ú<lambda>zsimple_cond.<locals>.<lambda>�   s   € ¨a¯e©e«g¨Z€ r2   c                 ó$   — | j                  «       fS r5   )r)   r}   s    r$   r~   zsimple_cond.<locals>.<lambda>�   s   € ÀAÇEÁEÃGÀ:€ r2   )ÚtorchÚcondÚsumr}   s    r$   Úsimple_condrƒ   Œ   s&   € Ü�:‰:�a—e‘e“g ‘kÑ#7Ñ9MÐPQÈsÓSÐSr2   c           	   +   óv   K  — t        j                  t        |||¬«      }t         |ddddd¬«      «      –— y ­wrv   r   r    s         r$   Úsample_inputs_invoke_subgraphr…   �   rx   ry   c                 ó,   — t        j                  | «      S r5   ©r€   r)   r}   s    r$   Úfn_for_invoke_subgraphrˆ   —   s   € ä�9‰9�Q‹<Ðr2   c                 ó   — t        | «      S r5   )rˆ   r}   s    r$   Úsimple_invoke_subgraphrŠ   ›   s   € Ü! !Ó$Ð$r2   c           
   +   óŽ   K  — t        j                  t        ||d¬«      }t         |ddddd¬«       |ddddd¬«      «      –— y ­w)NFr   r   r   r   r   r    s         r$   Ú sample_inputs_auto_functionalizerŒ   Ÿ   sM   è ø€ Ü× Ñ Ü˜F¨%¸uô€Hô Ù��A�q˜c¨Ô*©H°Q¸¸1À#ÈAÔ,Nóó ùs   ‚AAc                 óV   — t         j                  j                  j                  | |«      S r5   )r€   ÚopsÚtestlibÚmutating_custom_oprk   s     r$   Úsimple_auto_functionalizer‘   ¨   s   € Ü�9‰9×Ñ×/Ñ/°°1Ó5Ð5r2   c              +   ó¸   ‡
K  — t        j                  t        |||¬«      Š
d„ }ˆ
fd„t        d«      D «       \  }}}t	        ||«      }	t        |||||	«      –— y ­w)Nr   c                 ó   — | |z   S r5   rs   )ÚscoreÚbÚhÚmÚns        r$   Ú	score_modz/sample_inputs_flex_attention.<locals>.score_mod±   s   € Ø�q‰yÐr2   c           	   3   ó:   •K  — | ]  } ‰d d dddd ¬«      –— Œ y­w)r   é€   é   r   r   Nrs   )Ú.0Ú_r#   s     €r$   ú	<genexpr>z/sample_inputs_flex_attention.<locals>.<genexpr>´   s#   øè ø€ ÒI¸1‰x˜˜1˜c 1¨#°A×6Ð6ÑIùs   ƒé   )r   r   r   Úranger   r   )r!   r   r   r   r"   r™   ÚqÚkÚvÚ
block_maskr#   s             @r$   Úsample_inputs_flex_attentionr¦   ¬   s[   øè ø€ Ü× Ñ Ü˜F¨%¸}ô€Hòó JÄÀaÃÔI�G€A€qˆ!Ü)¨!¨QÓ/€JÜ
�a˜˜A˜y¨*Ó
5Ó5ùs   ƒAAc           
   +   óž   K  — t        j                  t        ||d¬«      }t        t	        j
                  d«       |ddddd¬«      «      –— y ­w)NFr   r    r   é   r   r   )r   r   r   r   r€   Útensorr    s         r$   Úsample_inputs_while_looprª   ¹   sI   è ø€ Ü× Ñ Ü˜F¨%¸uô€Hô Ü�‰�Q‹Ù��A�q˜c¨Ô*óó ùs   ‚AAc                 óT   — d„ }d„ }t         j                  j                  ||| |f«      S )Nc                 ó   — | dkD  S )Nr   rs   ©Úiter_tr.   s     r$   Úcond_fnz"simple_while_loop.<locals>.cond_fnÄ   s   € Ø˜‰zÐr2   c                 ó,   — | dz
  |j                  «       fS )Nr   r|   r­   s     r$   Úbody_fnz"simple_while_loop.<locals>.body_fnÇ   s   € Ø˜‰z˜1Ÿ5™5›7Ð"Ð"r2   )r€   Ú_higher_order_opsÚ
while_loop)r®   r.   r¯   r±   s       r$   Úsimple_while_loopr´   Ã   s-   € òò#ô ×"Ñ"×-Ñ-¨g°wÀÈÀÓLÐLr2   c           
   +   óŒ   K  — t        j                  t        |||¬«      }t         |dddd¬«       |ddddd¬«      «      –— y ­wrv   r   r    s         r$   Úsample_inputs_scanr¶   Í   sL   è ø€ Ü× Ñ Ü˜F¨%¸}ô€Hô Ù��A˜3 QÔ'Ù��A�q˜c¨Ô*óó ùs   ‚AAc                 óJ   — d„ }t         j                  j                  || |«      S )Nc                 ó6   — | |z  |z   }|| j                  «       fS r5   )Úclone)Úcarryr.   Úresults      r$   Ú
combine_fnzsimple_scan.<locals>.combine_fnÙ   s    € Ø˜‘˜Q‘ˆØ�u—{‘{“}Ð$Ð$r2   )r€   r²   Úscan)Úinitr8   r¼   s      r$   Úsimple_scanr¿   ×   s$   € ò%ô ×"Ñ"×'Ñ'¨
°D¸"Ó=Ð=r2   c                 ó.   — d„ }t        || | «      d   dz  S )Nc                 ó4   — t        j                  | «      |z  fS r5   r‡   )r.   Úys     r$   Úfnzsimple_invoke_quant.<locals>.fnä   s   € Ü—	‘	˜!“˜qÑ Ð"Ð"r2   r   ç       @)Úquant_tracer©r.   rÃ   s     r$   Úsimple_invoke_quantrÇ   ã   s"   € ò#ô ˜˜A˜qÓ! !Ñ$ rÑ)Ð)r2   c                 ó,   — d„ }t        || «      d   dz  S )Nc                 ó.   — t        j                  | «      fS r5   r‡   r}   s    r$   rÃ   z&simple_invoke_quant_packed.<locals>.fnë   s   € Ü—	‘	˜!“ˆÐr2   r   rÄ   )r   rÆ   s     r$   Úsimple_invoke_quant_packedrÊ   ê   s    € òô ˜r 1Ó% aÑ(¨2Ñ-Ð-r2   r½   ÚsimpleF)ÚnameÚvariant_test_nameÚopÚsample_inputs_funcÚdtypesÚsupports_outÚcheck_batched_gradÚcheck_batched_gradgradÚcheck_batched_forward_gradÚ"check_inplace_batched_forward_gradÚsupports_autogradÚsupports_gradgradÚinvoke_subgraphTr   )
rÌ   rÍ   rÎ   rÏ   rÐ   rÑ   rÒ   rÓ   rÔ   rÕ   ÚnestedÚtriple_nestedr�   Úinvoke_quantÚTestHOPÚtest_aot_exportÚtest_pre_dispatch_exportÚtest_serialize_exportÚtest_retrace_export)rÌ   rÍ   rÎ   rÏ   rÐ   rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   Úskipsr×   r   r³   )rÌ   rÍ   rÎ   rÏ   rÐ   rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   Úauto_functionalizer   )rÌ   rÍ   rÎ   rÏ   rÐ   rÑ   rÒ   rÓ   rÔ   rÕ   rá   Ú
decoratorsÚflex_attention_backward)<r   Úunittestr€   Ú#functorch.experimental.control_flowr   Ú!torch.nn.attention.flex_attentionr   r   Útorch.testingr   Ú*torch.testing._internal.common_device_typer   Ú$torch.testing._internal.common_dtyper	   r
   Ú#torch.testing._internal.opinfo.corer   r   r   Ú'torch._higher_order_ops.invoke_subgraphr   Útorch._higher_order_opsr   r   r%   r1   r9   rB   rH   Ú0FIXME_hop_that_doesnt_have_opinfo_test_allowlistÚlibraryÚdefineÚTagÚpt2_compliant_tagÚimplrm   rq   Úregister_fakert   rw   rƒ   r…   rˆ   rŠ   rŒ   r‘   r¦   rª   r´   r¶   r¿   rÅ   rÇ   rÊ   ÚboolÚhalfÚexpectedFailureÚfloat16Úfloat32Úhop_dbrs   r2   r$   ú<module>rû      s  ðó Û ã Ý 3ß VÝ %Ý ?ß Lß QÑ QÝ Gß DòòSòòò
ò64Ð 0ð@ ‡�× Ñ Ø!Ø>Ø	�‰×	$Ñ	$ð ô ð ‡�×ÑÐ1°5Ó9ñó :ðð ‡�×ÑÐ1°6Ó:ñó ;ðð ‡�×ÑÐ:Ó;ñó <ðò:òTò:ð ñó ðò%òò6ò
6òòMòò>ñ ‹}€ò*ò.ñ ØØ"ØØ-Ù˜UŸZ™Z¨¯©Ó4ØØ Ø$Ø#(Ø+0Øàôñ ØØ"Ø!Ø8Ù˜UŸZ™Z¨¯©Ó4ØØ Ø$Ø#(Ø+0Øàôñ ØØ"ØØ,Ù˜UŸZ™Z¨¯©Ó4ØØ Ø$Ø#(Ø+0ôñ ØØ"ØØ,Ù˜UŸZ™Z¨¯©Ó4ØØ Ø$Ø#(Ø+0ôñ ØØ)ØØ,Ù˜UŸZ™Z¨¯©Ó4ØØ Ø$Ø#(Ø+0ôñ ØØ"ØØ-Ù˜UŸZ™Z¨¯©Ó4ØØ Ø$Ø#(Ø+0Øàôñ ØØ"ØØ8Ù˜UŸZ™Z¨¯©Ó4ØØ Ø$Ø#(Ø+0Øñ ˜×1Ñ1°9Ð>OÓPÙØ×(Ñ(¨)Ð5Oóñ ˜×1Ñ1°9Ð>UÓVÙ˜×1Ñ1°9Ð>SÓTð
ð  ô-ñ0 Ø"Ø"Ø%Ø8Ù˜UŸZ™Z¨¯©Ó4ØØ Ø$Ø#(Ø+0Øàôñ ØØ"ØØ3Ù˜UŸZ™Z¨¯©Ó4ØØ Ø$Ø#(Ø+0Øôñ Ø!Ø"Ø$Ø;Ù˜UŸZ™Z¨¯©Ó4ØØ Ø$Ø#(Ø+0Øôñ ØØ"ØØ7Ù˜EŸM™M¨5¯=©=Ó9ØØ Ø$Ø#(Ø+0á˜×1Ñ1°9Ð>OÓPÙØ×(Ñ(¨)Ð5Oóñ ˜×1Ñ1°9Ð>UÓVÙ˜×1Ñ1°9Ð>SÓTð
ð �:ô'ñ* Ø&Ø"ØØ7Ù˜EŸM™M¨5¯=©=Ó9ØØ Ø$Ø#(Ø+0á˜×1Ñ1°9Ð>OÓPÙØ×(Ñ(¨)Ð5Oóñ ˜×1Ñ1°9Ð>UÓVÙ˜×1Ñ1°9Ð>SÓTð
ð �:ô'ðQ}
�r2   