+
    –°³j¸ð  ã                   ó8  € ^ RI t ^ RIt^ RIHu Ht ^ RIHt ^RIH	t	H
t
 ^RIHt ^RIHt ^RIHt ^RI
Ht ^RIHtHtHtHtHtHtHt ^R	IHtHtHt ^R
IHtHt ^RI H!t!H"t"H#t# R R lt$R R lt%RR R llt&R]&n'        R]&n(        RR R llt)R t*]*! 4        R# )é    N)Úmm_args)ÚconfigÚir)ÚCppGemmTemplate)ÚCppGroupedGemmTemplate©Úcreate_epilogue_with_attr©Ú	TensorBox)ÚaddÚadd_needs_realized_inputsÚatenÚpermuteÚregister_loweringÚto_dtypeÚview)Úautotune_select_algorithmÚChoiceCallerÚExternKernelChoice)Úuse_aten_gemm_kernelsÚuse_cpp_gemm_template)ÚopsÚOpsValueÚVc                ó&  € V ^8„  d   QhR\         P                  R\        P                  R\        P                  R\        P                  R\        P                  R\        \
        \        P                  \        P                  R,          3,          /# )é   ÚW_tensorÚpacked_weightÚx_scaleÚx_zpÚw_scaleÚreturnN)ÚtorchÚTensorr   r   ÚtupleÚbool)Úformats   "Úa/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_inductor/mkldnn_lowerings.pyÚ__annotate__r)      sx   € ÷ -ñ -Ü�l‰lð-ä—<‘<ð-ô �\‰\ð-ô �,‰,ð	-ô
 �\‰\ð-ô ÜÜ‡L�LÜ‡L�L�4Õðõñ-ó    c                 óî  € R p\         ;QJ d    R W#V3 4       F  '       d   K   RM	  RM! R W#V3 4       4      pV'       EdD   \        P                  P                  VP	                  4       ,          \        P                  P                  VP	                  4       ,          ,          p\        P                  P                  VVP	                  4       R,           R7      p\        P                  ! V P                  \        P                  4      ^ R7      p\        P                  P                  VP	                  4       ,          p	W‡,          V	,          p\        P                  P                  VVP	                  4       R,           R7      p
Mk\        P                  ! V P                  \        P                  4      ^ R7      p\        P                  P                  VVP	                  4       R,           R7      p
VV
V3# )Nc              3   ód  "  € T F¦  p\        V\        P                  4      ;'       d€    VP                  4       \        P
                  P                  9   ;'       dM    \        VP                  R 4      ;'       d/    \        VP                  P                  \        P                  4      x € K¨  	  R# 5i)ÚdataN)
Ú
isinstancer   r   Úget_namer   ÚgraphÚ	constantsÚhasattrr-   ÚConstantBuffer)Ú.0Úitems   & r(   Ú	<genexpr>Ú+create_int8_compensation.<locals>.<genexpr>+   s‰   é € ð *ñ
 -ˆDô	 	�4œŸ™Ó&÷ 	:ð 	:Ø�M‰M‹OœqŸw™w×0Ñ0Ñ0÷	:ð 	:ä�D—I‘I˜vÓ&÷	:ð 	:ô �t—y‘y—~‘~¤r×'8Ñ'8Ó9ô	:ó -ùs   ‚%B0¨2B0ÁB0Á97B0FTÚ_x_w_compens©Úname)ÚdimÚ_BMatrixCompens)
Úallr   r0   r1   r/   Úadd_tensor_constantr#   ÚsumÚtoÚfloat)r   r   r   r    r!   Ú	x_w_scaleÚuse_int8_fast_compensation_pathÚx_w_scale_tensorÚweight_compens_tensorÚx_zp_tensorÚweight_compenss   &&&&&      r(   Úcreate_int8_compensationrH      s”  € ð &*€Iß&)£cñ *ð
  GÑ,ó*§c§c¢cñ *ð
  GÑ,ó*ó 'Ð#÷ 'Ð&ä�G‰G×Ñ˜g×.Ñ.Ó0Õ1Ü�g‰g×Ñ × 0Ñ 0Ó 2Õ3õ4ð 	ô —G‘G×/Ñ/ØØ×'Ñ'Ó)¨NÕ:ð 0ó 
ˆ	ô !&§	¢	¨(¯+©+´e·k±kÓ*BÈÔ JÐÜ—g‘g×'Ñ'¨¯©«Õ8ˆØ 5Õ HÈ;Õ VÐÜŸ™×4Ñ4Ø!Ø×'Ñ'Ó)Ð,=Õ=ð 5ó 
‰ô
 !&§	¢	¨(¯+©+´e·k±kÓ*BÈÔ JÐÜŸ™×4Ñ4Ø!Ø×'Ñ'Ó)Ð,=Õ=ð 5ó 
ˆð
 	(ØØðð r*   c                ó°   € V ^8„  d   QhR\         R\        R\        R\        R,          R\        R,          R\        R,          R\        R,          R	\        /# )
r   rC   ÚinputÚ_weight_compoÚ_x_scaleNÚ_x_zpÚ_w_scaleÚ
_x_w_scaler"   )r&   r   )r'   s   "r(   r)   r)   O   sh   € ÷ .ñ .Ü%)ð.äð.ô ð.ô ˜�oð	.ô
 �d�?ð.ô ˜�oð.ô ˜4•ð.ô ñ.r*   c                 óv  € V '       d/   \         P                  ! \         P                  ! VV4      V4      pV# \         P                  ! \         P                  ! VV4      V4      p\         P                  ! V\         P                  ! \         P                  ! \         P                  ! VV4      V4      V4      4      pV# ©N)r   ÚsubÚmul)rC   rJ   rK   rL   rM   rN   rO   Útemps   &&&&&&& r(   Ú'codegen_int8_gemm_template_compensationrU   O   s©   € ÷ 'Ü�wŠwÜ�GŠGØØóð ó
ˆðH €Kô9 �wŠwÜ�GŠGØØóð ó
ˆô �wŠwØÜ�GŠGÜ—’Ü—G’GØ Ø óð óð ó	ó
ˆð €Kr*   c                óh   € V ^8„  d   QhR\         R\        \         ,          R\        \         ,          /# ©r   ÚxÚwÚb)r   Úlist)r'   s   "r(   r)   r)   €   s3   € ÷ Cñ CÜðCäŒI…ðCô ŒI…ñCr*   c                 ób  € V P                  4       p\        V4      ^8”  d   \        V RVR,          .4      p \        V4      p\        P                  '       g"   \        P
                  '       g   \        R4      hV U	u. uF'  q™f   T	M\        P                  P                  V	4      NK)  	  pp	. p
\        V \        V^ ,          ^^ .4      VR7      Ev r¶rRV U	u. uF  q™RJNK  	  up	RRRRR\        P                  \        V4      V 4      /pV .VOpTP                  V U	u. uF
  q™f   K  V	NK  	  up	4       \         P"                  ! V
VV3/ VB  \        V
4      ^ 8X  d   \        R	4      h\%        R
V
VV4      w  rëVP&                  P&                  p\        V4       Uu. uF!  p\        P(                  ! Wo\*        V3.4      NK#  	  pp\        P,                  ! V^ ,          P/                  4       R7      Vn        VVn        \        V4       Uu. uF)  p\        P4                  P7                  VV,          4      NK+  	  pp\        V4      ^8”  dM   \        V4       F=  p\        VV,          . VRR OVV,          P                  4       R,          N54      VV&   K?  	  V# u up	i u up	i u up	i u upi u upi )r   z@grouped_gemm_lowering requires max_autotune or max_autotune_gemmN©ÚlayoutÚhas_biasÚtrans_wTÚepilogue_creatorÚact_mappingz-expected at least one choice for grouped_gemmÚgrouped_gemm)Údeviceéÿÿÿÿ)Úget_sizeÚlenr   r   Úmax_autotuneÚmax_autotune_gemmÚAssertionErrorr   ÚExternKernelÚrealize_inputr   r   ÚdictÚfromkeysÚrangeÚextendr   Úadd_choicesr   r-   ÚMultiOutputr[   ÚMultiOutputLayoutÚ
get_devicer^   Úoutputsr   Úcreate)rX   rY   rZ   ÚattrÚscalarsÚ	algorithmr^   Úx_sizeÚnum_gemmÚbiasÚchoicesÚ_ÚkwargsÚinput_nodesÚresultÚtemplate_bufÚgemm_idxÚreturn_bufsÚreturn_tensorss   &&&&&&&            r(   Úgrouped_gemm_loweringr†   €   s—  € ð �Z‰Z‹\€FÜ
ˆ6ƒ{�Q„ä��R˜ �Ð$Ó%ˆÜ�1‹v€Hä××Ð¤6×#;×#;Ð#;ÜØNó
ð 	
ñ TUÓUÑSTÈ4’‰¤2§?¡?×#@Ñ#@ÀÓ#FÒ	FÑST€AÐUà"$€GÜ˜q¤'¨!¨A­$°°A°Ó"7ÀÔGÑ€Q�ð 	±!Ó4±!¨$ Ó%±!Ñ4Ø�4Ø˜DØ”t—}‘}¤U¨8£_°aÓ8ð	€Fð �'�q�'€KØ×Ñ©Ó?© Ÿ˜©Ñ?Ô@ä×&Ò&ØØØñð ò	ô ˆ7ƒ|�qÔÜÐLÓMÐMÜ)ØØØØó	�I€Fð —;‘;×#Ñ#€Lô ˜hœóá'ˆHô 	�Š�v¬t°XÐ.>Ð-?Ö@Ù'ð ð ô
 ×.Ò.°kÀ!µn×6OÑ6OÓ6QÔR€LÔØ&€LÔäCHÈÄ?óÙCR°xŒ�‰×Ñ˜K¨Õ1Ö2Á?ð ð ô ˆ6ƒ{�Q„Ü˜hžˆHÜ'+Ø˜xÕ(ØG�&˜˜"�+ÐG˜~¨hÕ7×@Ñ@ÓBÀ2ÕFÑGó(ˆN˜8Ó$ñ (ð
 Ðùò_ 	Vùò 5ùò @ùò$ùòs$   Á<-JÃJÄJ"Ä'J"Æ'J'È	/J,Tc                ó„   € V ^8„  d   QhR\         P                  R\        P                  R\        R\         P                  /# )r   Ú
tensor_boxÚdtypeÚname_suffixr"   )r   r   r#   r‰   Ústr)r'   s   "r(   r)   r)   Ê   s<   € ÷ &ñ &Ü—‘ð&ä�;‰;ð&ô ð&ô ‡\�\ñ	&r*   c                óš  € \        V \        P                  4      '       d:   V P                  p\        V\        P                  4      '       d   VP                  pMT p\        V\        P
                  4      '       d�   \        P                  P                  P                  V P                  4       4      pVeF   \        P                  P                  VP                  . 4      V P                  4       V,           R7      # ^ RIHp V! V4      pVeO   \        P                  P                  \        P                   ! VP"                  VR7      P                  . 4      4      # T P%                  4        ^RIHpHp \        V P                  V4      '       d0   \        P                  ! VP+                  V P                  4      4      p \-        V . 4      p	V	# )zK
Normalize a tensor with all dimensions equal to 1 to a 0D ConstantBuffer.
r9   )Úget_constant_value©r‰   )rk   ÚGenericView)r.   r   r   r-   Ú
StorageBoxr3   r   r0   r1   Úgetr/   r>   ÚreshapeÚtorch._inductor.loweringr�   r#   ÚtensorÚvalueÚrealizerk   r�   Úrequire_contiguousr   )
rˆ   r‰   rŠ   r-   r”   r�   Úconst_valuerk   r�   r�   s
   &&&       r(   Ú_convert_to_0d_constantr™   Ê   sM  € ô �*œbŸl™l×+Ò+Ø�‰ˆÜ�dœBŸM™M×*Ò*Ø—9‘9ˆDøàˆä�$œ×)Ñ)×*Ò*Ü—‘×"Ñ"×&Ñ& z×':Ñ':Ó'<Ó=ˆØÒÜ—7‘7×.Ñ.Ø—‘˜rÓ"¨×)<Ñ)<Ó)>ÀÕ)Lð /ó ð õ <á$ TÓ*€KØÒÜ�w‰w×*Ñ*Ü�LŠL˜×*Ñ*°%Ô8×@Ñ@ÀÓDó
ð 	
ð ×ÑÔç-ä�*—/‘/ ;×/Ò/Ü—\’\ ,×"AÑ"AÀ*Ç/Á/Ó"RÓSˆ
ä�*˜bÓ!€FØ€Mr*   c                  óN  aaaaaa€ \         P                  P                  '       Edþ   ^RIHo \        \         P                  P                  P                  RRSP                  P                  R7      o\        \         P                  P                  P                  P                  RRSP                  P                  R7      o\        \         P                  P                  P                  RRSP                  P                  R7      o\        \         P                  P                  P                  P                  RRSP                   P                  R7      o\         P                  P                  P"                  \         P                  P                  P$                  \         P                  P                  P&                  \         P                  P                  P                  \(        P*                  P,                  \         P                  P                  P.                  .p \1        \         P                  P                  P"                  4      R V3R ll4       p\1        \         P                  P                  P"                  P                  4      R V3R	 ll4       p\1        \         P                  P                  P$                  P                  4      R
 V3R ll4       p\1        \         P                  P                  P                  4      R"R V3R lll4       p\1        \         P                  P                  P                  P                  4      R"R V3R lll4       p\1        \         P                  P                  P&                  4      R V3R ll4       p\1        \(        P*                  P,                  4      R V3R ll4       p\1        \         P                  P                  P.                  RR7      R V3R ll4       p\1        \         P                  P                  P2                  P                  RR7      \1        \         P                  P                  P2                  P4                  RR7      R V3R ll4       4       p	\1        \         P                  P                  P                  RR7      R"R V3R lll4       p
\1        \         P                  P                  P                  P                  RR7      \1        \         P                  P                  P                  P4                  RR7      R"R V3R lll4       4       p\         P                  P6                  '       d¶   \        \         P                  P8                  P:                  RRSP<                  P                  R7      oV P?                  \         P                  P8                  P:                  4       \1        \         P                  P8                  P:                  4      RR/R  V3R! lll4       p\A        V 4       R# R# )#é   )Ú	mkldnn_irzmkldnn::_linear_pointwiseF)Úhas_out_variantÚkernel_creatorzonednn::qlinear_pointwisec                ó<   € V ^8„  d   QhR\         R\         R\         /# ©r   rX   Úweightr|   r
   )r'   s   "r(   r)   Ú0register_onednn_fusion_ops.<locals>.__annotate__  s&   € ÷ 	ñ 	Üð	äð	ô ñ	r*   c
                 ót   <€ \         P                  ! S
P                  P                  V VVVVVVVVV	4
      4      # rQ   )r   rv   ÚConvolutionUnary)rX   r¡   r|   ÚpaddingÚstrideÚdilationÚgroupsrw   rx   ry   rœ   s   &&&&&&&&&&€r(   Úconvolution_unaryÚ5register_onednn_fusion_ops.<locals>.convolution_unary  sJ   ø€ ô ×#Ò#Ø×*Ñ*×1Ñ1ØØØØØØØØØØóóð r*   c                óH   € V ^8„  d   QhR\         R\         R\         R\         /# ©r   rX   Úotherr¡   r|   r
   )r'   s   "r(   r)   r¢   7  ó0   € ÷ 	ñ 	Üð	äð	ô ð	ô ñ		r*   c                 óz   <€ \         P                  ! SP                  P                  V VVVVVVVVV	V
VV4      4      # rQ   )r   rv   ÚConvolutionBinary©rX   r­   r¡   r|   r¥   r¦   r§   r¨   Úbinary_attrÚbinary_alphaÚ
unary_attrÚunary_scalarsÚunary_algorithmrœ   s   &&&&&&&&&&&&&€r(   Úconvolution_binaryÚ6register_onednn_fusion_ops.<locals>.convolution_binary6  sS   ø€ ô  ×#Ò#Ø×+Ñ+×2Ñ2ØØØØØØØØØØ ØØ!Ø#óóð r*   c                óH   € V ^8„  d   QhR\         R\         R\         R\         /# r¬   r
   )r'   s   "r(   r)   r¢   Y  r®   r*   c                 óz   <€ \         P                  ! SP                  P                  V VVVVVVVVV	V
VV4      4      # rQ   )r   rv   ÚConvolutionBinaryInplacer±   s   &&&&&&&&&&&&&€r(   Úconvolution_binary_inplaceÚ>register_onednn_fusion_ops.<locals>.convolution_binary_inplaceX  sS   ø€ ô  ×#Ò#Ø×2Ñ2×9Ñ9ØØØØØØØØØØ ØØ!Ø#óóð r*   Nc                ó<   € V ^8„  d   QhR\         R\         R\         /# rW   r
   )r'   s   "r(   r)   r¢   {  s+   € ÷ B	ñ B	ÜðB	äðB	ô ñB	r*   c                 óò  <aaa€ V P                  4       p\        V4      ^8”  d   \        V RVR,          .4      p Ve    \        P                  P                  V4      p. p\        P                  '       g   \        P                  '       dy   \        V^^ .4      p	\        W	VR7      Ev r¦r	\        W`V	4      '       dI   VVV3R lpRVRJRRRSR8X  d   RMT/pVe   . ROVR	&   \        P                  ! TTVf   W.MWV.3/ VB  \        V4      ^ 8X  g   \        4       '       dD   \        SSSR
7      pVf   RVR&   TP!                  SP"                  ! Vf   W.MWV.V3/ VB 4       VP%                  4       \&        P(                  P*                  9  d   \-        R4      h^R /p\/        RTVf   W.MWV.VVR7      w  rê\        V4      ^8”  d*   \        V. VRR OVP                  4       R,          N54      pV# )r   Nr]   c                 ó"   <€ \        V SSSR 7      # )©rx   ry   r   )Úbufry   rw   rx   s   &€€€r(   ra   ÚJregister_onednn_fusion_ops.<locals>.linear_unary.<locals>.epilogue_creator�  s   ø€ Ü8Ø ¨wÀ)ô ð r*   r_   r`   Tra   ÚnoneÚinput_indices)rw   rx   ry   ÚBúweight must be a graph constantc                 ó`   € \         P                  P                  V P                  4       ,          # rQ   ©r   r0   r1   r/   ©rX   s   &r(   Ú<lambda>ÚBregister_onednn_fusion_ops.<locals>.linear_unary.<locals>.<lambda>²  ó   € œQŸW™W×.Ñ.¨q¯z©z«|Ö<r*   Úlinear_unary©Úinput_gen_fnsre   )r   r   r›   ©rf   rg   r   r   rk   rl   r   rh   ri   r   r   r   r   rq   r   rm   ÚappendÚbindr/   r   r0   r1   rj   r   )rX   rY   rZ   rw   rx   ry   r^   rz   r}   Útransposed_wr~   ra   r   rÐ   r�   Úaten_mkldnn_linear_unarys   &&&fff&        €r(   rÎ   Ú0register_onednn_fusion_ops.<locals>.linear_unaryz  sü  û€ ð —Z‘Z“\ˆFÜ�6‹{˜QŒä˜˜R ¨¥Ð,Ó-�ØŠ}Ü—O‘O×1Ñ1°!Ó4�Ø*,ˆGÜ×"×"Ð"¤f×&>×&>Ð&>Ü& q¨1¨a¨&Ó1�Ü.5°aÈfÔ.UÑ+�˜AÜ(¨°L×AÒA÷ð # A¨T MØ! 4Ø*Ø$(¨F¤N™DÐ8Hð	�Fð ’}Ú2;˜˜Ñ/Ü#×/Ò/ØØØ"#¢)˜™°!¸°ñð !ò	ô �7‹|˜qÔ Ô$9×$;Ò$;Ü 4°ÀIÔN�Ø’9Ø"&�F˜3‘KØ—‘Ø,×1Ò1Ø"#¢)˜™°!¸°Øñð !ñôð �z‰z‹|¤1§7¡7×#4Ñ#4Ô4Ü$Ð%FÓGÐGàÑ<ðˆMô 2ØØØš)�‘¨!°¨ØØ+ô‰IˆFô �6‹{˜QŒÜ˜fÐ&K¨¨s°¨Ð&K°V·_±_Ó5FÀrÕ5JÑ&KÓL�ØˆMr*   c                óH   € V ^8„  d   QhR\         R\         R\         R\         /# )r   rX   ÚyrY   rZ   r
   )r'   s   "r(   r)   r¢   À  s,   € ÷ >	ñ >	Üð>	Ü&ð>	Ü+4ð>	Ü9Bñ>	r*   c                 ó`  <aa€ V P                  4       p\        V4      ^8”  d   \        V RVR,          .4      p SP                  4       p\        V4      ^8”  d   \        SRVR,          .4      oVe    \        P                  P                  V4      p. p\        P                  '       g   \        P                  '       dx   \        V^^ .4      p	\        W	SVR7      Ev r¥r	o\        WPV	4      '       dF   VV3R lpRVRJRRRV/pVf   . ROM. ROVR&   \        P                  ! TTVf   V SV.MV SW#.3/ VB  \        V4      ^ 8X  g   \        4       '       dE   \        SR	7      pVf   RVR
&   TP!                  SP"                  ! Vf   V SV.MV SW#.V3/ VB 4       VP%                  4       \&        P(                  P*                  9  d   \-        R4      h^R /p\/        RTVf   V SV.MV SW#.VVR7      w  rê\        V4      ^8”  d*   \        V. VRR OVP                  4       R,          N54      pV# )r   Nr]   c                 ó    <€ \        V SSR 7      # ))r­   r   )rÂ   rw   rØ   s   &€€r(   ra   ÚKregister_onednn_fusion_ops.<locals>.linear_binary.<locals>.epilogue_creatorÔ  s   ø€ Ü8¸¸dÈ!ÔLÐLr*   r_   r`   Tra   rÅ   )rw   rÆ   rÇ   c                 ó`   € \         P                  P                  V P                  4       ,          # rQ   rÉ   rÊ   s   &r(   rË   ÚCregister_onednn_fusion_ops.<locals>.linear_binary.<locals>.<lambda>ó  rÍ   r*   Úlinear_binaryrÏ   re   )r   r   r›   )é   r   r   r›   rÑ   )rX   rØ   rY   rZ   rw   r^   rz   Úy_sizer}   rÔ   r~   ra   r   rÐ   r�   Úaten_mkldnn_linear_binarys   &f&&f&         €r(   rÞ   Ú1register_onednn_fusion_ops.<locals>.linear_binary¿  s6  ú€ ð —Z‘Z“\ˆFÜ�6‹{˜QŒä˜˜R ¨¥Ð,Ó-�Ø—Z‘Z“\ˆFÜ�6‹{˜QŒÜ˜˜R ¨¥Ð,Ó-�ØŠ}Ü—O‘O×1Ñ1°!Ó4�Ø*,ˆGÜ×"×"Ð"¤f×&>×&>Ð&>Ü& q¨1¨a¨&Ó1�Ü18Ø Q¨vô2Ñ.�˜A¨Qô )¨°L×AÒAöMð # A¨T MØ! 4Ø*Ð,<ð�Fð <=º9«iÊ,�F˜?Ñ+Ü#×/Ò/ØØØ%&¢Y˜˜A˜q™	°Q¸¸1°Lñð !ò	ô �7‹|˜qÔ Ô$9×$;Ò$;Ü 4œ�Ø’9Ø"&�F˜3‘KØ—‘Ø-×2Ò2Ø%&¢Y˜˜A˜q™	°Q¸¸1°LØñð !ñôð �z‰z‹|¤1§7¡7×#4Ñ#4Ô4Ü$Ð%FÓGÐGàÑ<ðˆMô 2ØØØšY��A�q‘	¨Q°°1¨LØØ+ô‰IˆFô �6‹{˜QŒÜ˜fÐ&K¨¨s°¨Ð&K°V·_±_Ó5FÀrÕ5JÑ&KÓL�ØˆMr*   c                ó<   € V ^8„  d   QhR\         R\         R\         /# r    r
   )r'   s   "r(   r)   r¢     s&   € ÷ 	ñ 	Üð	äð	ô ñ	r*   c                 óv   <€ \         P                  ! SP                  P                  V VVVVVVVVV	V
4      4      # rQ   )r   rv   ÚConvolutionTransposeUnary)rX   r¡   r|   r¥   Úoutput_paddingr¦   r§   r¨   rw   rx   ry   rœ   s   &&&&&&&&&&&€r(   Úconvolution_transpose_unaryÚ?register_onednn_fusion_ops.<locals>.convolution_transpose_unary   sM   ø€ ô ×#Ò#Ø×3Ñ3×:Ñ:ØØØØØ"ØØØØØØóóð r*   c                 óî   € V ^8„  d   QhR\         R\         R\         R\         R\         R\         R\         R\        R	\        \        ,          R
\        R\        R\        R\        R\        R\        R\        /# )r   rX   Úw0Úw1Úw2Úw3ÚhxÚcxÚreverseÚbatch_sizesÚmodeÚhidden_sizeÚ
num_layersÚ
has_biasesÚbidirectionalÚbatch_firstÚtrain)r   r&   r[   Úint)r'   s   "r(   r)   r¢     s¬   € ÷ &	ñ &	Üð&	äð&	ô ð&	ô ð	&	ô
 ð&	ô ð&	ô ð&	ô ð&	ô œc�ð&	ô ð&	ô ð&	ô ð&	ô ð&	ô  ð&	ô ð&	ô  ñ!&	r*   c                 óž   <€ \         P                  ! \        P                  SP                  P                  V VVVVVVVVV	V
VVVVV4      4      # rQ   )ÚpytreeÚtree_mapr   rv   ÚMkldnnRnnLayer)rX   rê   rë   rì   rí   rî   rï   rð   rñ   rò   ró   rô   rõ   rö   r÷   rø   rœ   s   &&&&&&&&&&&&&&&&€r(   Úmkldnn_rnn_layerÚ4register_onednn_fusion_ops.<locals>.mkldnn_rnn_layer  sc   ø€ ô& —?’?Ü× Ñ Ø×(Ñ(×/Ñ/ØØØØØØØØØØØØØØ!ØØó!óð r*   )Útype_promotion_kindc                óH   € V ^8„  d   QhR\         R\         R\         R\         /# )r   rX   r   r!   r|   r
   )r'   s   "r(   r)   r¢   H  s8   € ÷ @	ñ @	Üð@	ô %ð	@	ô
 ð@	ô ñ@	r*   c                 óâ  <€ \        V\        P                  4      '       gp   \        V4      \        Jd   \        R \        V4       24      h\        P                  P                  \        P                  ! V\        P                  R7      RR7      pVfF   \        P                  P                  \        P                  ! ^ \        P                  R7      RR7      p\        V\        P                  4      '       gp   \        V4      \        Jd   \        R\        V4       24      h\        P                  P                  \        P                  ! V\        P                  R7      RR7      pVfF   \        P                  P                  \        P                  ! ^ \        P                  R7      RR7      p\        P                  ! SP                  P                  V VVVVVVVVV	V
VVVVVV4      4      # )ú"expected x_scale to be float, got rŽ   r   r9   r    úexpected x_zp to be int, got Úw_zp)r.   r   r   ÚtyperA   rj   r   r0   r>   r#   r”   Úfloat32Úint32rù   rv   ÚQConvPointWisePT2E)rX   r   r    r   r!   r  r|   r¦   r¥   r§   r¨   Úo_inv_scaleÚo_zero_pointÚoutput_dtyperw   rx   ry   rœ   s   &&&&&&&&&&&&&&&&&€r(   Úqconvolution_unaryÚ6register_onednn_fusion_ops.<locals>.qconvolution_unaryG  s“  ø€ ô( ˜g¤r§|¡|×4Ò4Ü˜“=¬Ó-Ü(Ø<¼TÀ'»]¸OÐLóð ô Ÿ'™'×5Ñ5Ü—L’L ´·±Ô>ÀYð 6ó �ð Š|Ü—w‘w×2Ñ2Ü—L’L ¬%¯+©+Ô6¸Vð 3ó �ô ˜d¤B§L¡L×1Ò1Ü˜“:¤SÓ(Ü(Ð+HÌÈdËÈÐ)UÓVÐVÜ—w‘w×2Ñ2Ü—L’L ¬U¯[©[Ô9Àð 3ó �ð Š|Ü—w‘w×2Ñ2Ü—L’L ¬%¯+©+Ô6¸Vð 3ó �ô ×#Ò#Ø×,Ñ,×3Ñ3ØØØØ!ØØØØØØØØØ Ø ØØØó#óð r*   c          
      óT   € V ^8„  d   QhR\         R\         R\         R\         R\         /# )r   rX   r   r!   Úaccumr|   r
   )r'   s   "r(   r)   r¢   �  sC   € ÷ U	ñ U	ÜðU	ô %ð	U	ô
 ðU	ô ðU	ô ñU	r*   c                 óê  <€ \        V\        P                  4      '       gp   \        V4      \        Jd   \        R \        V4       24      h\        P                  P                  \        P                  ! V\        P                  R7      RR7      pVfF   \        P                  P                  \        P                  ! ^ \        P                  R7      RR7      p\        V\        P                  4      '       gp   \        V4      \        Jd   \        R\        V4       24      h\        P                  P                  \        P                  ! V\        P                  R7      RR7      pVfF   \        P                  P                  \        P                  ! ^ \        P                  R7      RR7      pVR8X  dy   V\        P                  \        P                  39   dT   VP                  4       \        P                  \        P                  39   d!   VP                  4       V8w  d   \!        Wn4      p\        P"                  ! SP$                  P#                  V VVVVVVVVV	V
VVVVVVVVVVV4      4      # )r  rŽ   r   r9   r    r  r  r?   )r.   r   r   r  rA   rj   r   r0   r>   r#   r”   r  r  rù   Úbfloat16Ú	get_dtyper   rv   ÚQConvPointWiseBinaryPT2E)rX   r   r    r   r!   r  r  r|   r¦   r¥   r§   r¨   r
  r  r  Úaccum_scaleÚaccum_zpr²   Úalphar´   rµ   r¶   rœ   s   &&&&&&&&&&&&&&&&&&&&&&€r(   Úqconvolution_binaryÚ7register_onednn_fusion_ops.<locals>.qconvolution_binaryŠ  sö  ø€ ô< ˜g¤r§|¡|×4Ò4Ü˜“=¬Ó-Ü(Ø<¼TÀ'»]¸OÐLóð ô Ÿ'™'×5Ñ5Ü—L’L ´·±Ô>ÀYð 6ó �ð Š|Ü—w‘w×2Ñ2Ü—L’L ¬%¯+©+Ô6¸Vð 3ó �ô ˜d¤B§L¡L×1Ò1Ü˜“:¤SÓ(Ü(Ð+HÌÈdËÈÐ)UÓVÐVÜ—w‘w×2Ñ2Ü—L’L ¬U¯[©[Ô9Àð 3ó �ð Š|Ü—w‘w×2Ñ2Ü—L’L ¬%¯+©+Ô6¸Vð 3ó �ð
 ˜uÔ$Ø ¤U§]¡]´E·N±NÐ$CÔCØ—O‘OÓ%¬%¯-©-¼¿¹Ð)HÔHØ—O‘OÓ%¨Ô5ô ! Ó5�Ü×#Ò#Ø×2Ñ2×9Ñ9ØØØØ!ØØØØØØØØØØ Ø ØØØØØØ!Ø#ó-óð r*   c          
      óT   € V ^8„  d   QhR\         R\         R\         R\         R\         /# )r   rX   r   r!   r  r|   r
   )r'   s   "r(   r)   r¢   è  sC   € ÷ B	ñ B	ÜðB	ô %ð	B	ô
 ðB	ô ðB	ô ñB	r*   c                 óÐ  <aaaaaaa	a
aaaaaa€ VP                  4       \        P                  \        P                  39  d   \	        R 4      hV P                  4       p\        V4      ^8”  d   \        V RVR,          .4      p \        S\        P                  4      '       gq   \        S4      \        Jd   \	        R\        S4       24      h\        P                  P                  \        P                   ! S\        P"                  R7      RR7      oM¯SP                  4       p\        V4      ^ 8X  g;   \$        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       d   \'        S\        P"                  R4      oMSP)                  4        \        SP                  4       4      R 9  d   \	        R	4      hSfH   \        P                  P                  \        P                   ! ^ \        P*                  R7      RR7      oEM\        S\        P                  4      '       gq   \        S4      \,        Jd   \	        R\        S4       24      h\        P                  P                  \        P                   ! S\        P*                  R7      RR7      oM†SP                  4       p\        V4      ^ 8X  g;   \$        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       d   \'        S\        P*                  R4      oMSP)                  4        SP/                  4       ^8w  d   \	        R4      hVfF   \        P                  P                  \        P                   ! ^ \        P*                  R7      RR7      pSP)                  4        VP)                  4        VP                  4       \        P*                  8w  dÝ   \        \        P0                  P3                  V4      \        P4                  4      '       d    \        P                  P6                  VP9                  4       ,          P;                  \        P*                  4      p\        P                  P                  \        P                   ! V\        P*                  R7      VP9                  4       R7      pSf   R
MSP                  4       o. p\<        P>                  '       g   \<        P@                  '       EdÜ   \C        WVS	R7      Ev prÐp\        \        P0                  P3                  V4      \        P4                  4      '       EdŒ   \        PD                  ! \        PF                  ! \        P                  P6                  VP9                  4       ,          4      \        P                  P6                  VP9                  4       ,          4      '       Ed    \I        WÐV4      '       dî   \        P                  P6                  VP9                  4       ,          PK                  4       p\M        VVSSS4      w  oooVV
VVVVV	VVVVVVV3R lpV P                  4       \        PN                  \        P                  39  d   \	        RV P                  4        24      h\P        PR                  ! TTSf	   V SSVSV.MV SSVSVS.SR
JTSf   . R!OM. R"OR7       \        V4      ^ 8X  g   \U        4       '       dQ   \W        SSS	S
SSR7      pSf   R
VR&   TPY                  SPZ                  ! Sf	   V SSVSV3MV SSVSVS3V3/ VB 4       VP9                  4       \        P                  P6                  9  d   \	        R4      h^R ^R ^R ^R /p\        \        P0                  P3                  S4      \        P4                  4      '       d   R V^&   \        \        P0                  P3                  S4      \        P4                  4      '       d   R V^&   \]        RTSf	   V SSVSV.MV SSVSVS.VVR7      w  pp\        V4      ^8”  d*   \        V. VR
R OVP                  4       R,          N54      pV# )#z=Only int8 and e4m3fn weights are supported by oneDNN qlinear.r  rŽ   r   r9   c              3   ó*   "  € T F	  q^8H  x € K  	  R# 5i©r›   N© ©r4   r;   s   & r(   r6   ÚDregister_onednn_fusion_ops.<locals>.qlinear_unary.<locals>.<genexpr>
  ó   é € Ð0RÁ\¸c¸¶Ã\ùó   ‚FTÚ_0dúx_scale must be 0D or 1DNr    r  c              3   ó*   "  € T F	  q^8H  x € K  	  R# 5ir  r  r  s   & r(   r6   r     ó   é € Ð-LÁ)¸3°Q®hÃ)ùr"  z(x_zp is incompatible with oneDNN qlinearr  ©r^   Ú	out_dtypec                 óº  <aaaaa	a
aaaa€ S\         P                  \         P                  \         P                  \         P                  39  d   \        R S 24      hV P                  4       oSP                  4       oRoS'       d    Sf   \        R4      hSP                  4       oSP                  4       oSP                  4       o
SP                  4       oRoSe   SP                  4       oVVVVVV
VVVV3
R lp\        P                  ! V P                  4       \         P                  VV P                  4       R7      pSR8w  d   \        VSSSR7      pS\         P                  8X  dP   VP                  4       oVV3R lp\        P                  ! VP                  4       SVVP                  4       R7      pV# S\         P                  \         P                  39   d~   ^RIHo VP                  4       o	VVV	3R	 lp\        P                  ! VP                  4       S\        P                   ! V\#        S4      \%        S4      R
7      VP                  4       R7      pV# )úunexpected output_dtype Nú3x_w_scale must be set on the fast compensation pathc           	      óT  <
€ S! V 4      p\         P                  ! V\        P                  4      pV R,          3pRpRpRpS'       g   S! R4      pS! R4      pS! V4      pS! V4      pRpS'       d   Sf   \	        R4      hS! V4      p\        SVVVVVV4      pS
eŒ   S! V4      p	S\        P                  \        P                  39  d   \	        RS 24      hS\        P                  8X  d&   \         P                  ! V	\        P                  4      p	\         P                  ! W‰4      pV# )r›   Nú:x_w_scale_loader must be set on the fast compensation pathúunexpected bias_dtype re   r  ©r   r   r#   r  rj   rU   r  r   )ÚindexrJ   Úweight_compens_indexrL   rM   rN   rK   rO   rT   Ú_biasr|   Ú
bias_dtypeÚbias_loaderÚinput_loaderrC   Úw_scale_loaderÚweight_compens_loaderÚx_scale_loaderÚx_w_scale_loaderÚx_zp_loaders   &         €€€€€€€€€€r(   Úinner_fnÚ]register_onednn_fusion_ops.<locals>.qlinear_unary.<locals>.epilogue_creator.<locals>.inner_fn{  s(  ø€ á$0°Ó$7˜Eô %(§L¢L°¼¿¹Ó$F˜EØ49¸"µI°<Ð0à'+˜HØ$(˜EØ'+˜Hß#BÙ+9¸"Ó+= Ù(3°B« Ù+9Ð:NÓ+O Ù,AÐBVÓ,W˜MØ)-˜Jß>Ø#3Ò#;Ü*8Ø(dó+&ð %&ñ .>Ð>RÓ-S 
ä#JØ ?Ø %Ø -Ø (Ø %Ø (Ø *ó$˜Dð  $Ò/á(3Ð4HÓ(I à#-´e·m±mÄUÇ^Á^Ð5TÔ#TÜ*8Ø*@ÀÀÐ(Mó+&ð %&ð $.´·±Ô#?Ü,/¯LªL¸ÄÇÁÓ,N EÜ'*§w¢w¨tÓ'; à#'˜Kr*   ©rd   r‰   r;  ÚrangesrÄ   rÁ   c                 óB   <€ S! V 4      p\         P                  ! VS4      # rQ   ©r   r   ©r0  rJ   Úoutput_cast_loaderr  s   & €€r(   Úinner_fn_cast_output_to_bf16Úqregister_onednn_fusion_ops.<locals>.qlinear_unary.<locals>.epilogue_creator.<locals>.inner_fn_cast_output_to_bf16¼  ó   ø€ Ù(:¸5Ó(A Ü'*§|¢|°E¸<Ó'HÐ Hr*   ©Ú_create_constantsc                 óº  <€ S! V 4      pS	! R V,          V\         P                  R7      w  rB\        P                  ! W4,          4      V,           pS
\         P                  8X  d   S	! ^ ^ÿ\         P                  R7      w  rgMS	! R^\         P                  R7      w  rg\        P
                  ! \        P                  ! WV4      V4      p\        P                  ! VS
4      # ©g      ð?rŽ   i€ÿÿÿ©r#   r  r   ÚroundÚuint8ÚminimumÚmaximumr   ©r0  ÚscaleÚ
zero_pointrJ   Ú	inv_scaleÚvalÚqminÚqmaxÚclampedrG  r  Úrequant_input_loaders   &&&      €€€r(   Úinner_fn_requantÚeregister_onednn_fusion_ops.<locals>.qlinear_unary.<locals>.epilogue_creator.<locals>.inner_fn_requantË  s¬   ø€ Ù(<¸UÓ(C Ù8IØ$'¨%¥K°Ä5Ç=Á=ô9"Ñ 5 	ô '*§i¢i°Õ0AÓ&BÀZÕ&O Ø#/´5·;±;Ô#>Ù1BØ()¨3´e·m±mô2&¡J D¨$ñ 2CØ(,¨c¼¿¹ô2&¡J Dô +.¯+ª+´c·k²kÀ#Ó6LÈdÓ*S Ü'*§|¢|°G¸\Ó'JÐ Jr*   ©rP  rQ  ©r#   r  r  rL  Úint8rj   Úmake_loaderr   Ú	Pointwisert   rf   r	   Úget_device_or_errorÚloweringrG  Ú	functoolsÚpartialrA   rù   )Úinput_bufferr;  Ú
output_bufrC  rX  rG  r4  r5  rB  rW  r6  r7  r8  r9  r:  ry   rw   r|   r3  Úo_scaler  r  rx   rC   r!   rG   r   rB   r    s   &    @@@@@@@@@@€€€€€€€€€€€€€€r(   ra   ÚKregister_onednn_fusion_ops.<locals>.qlinear_unary.<locals>.epilogue_creator_  s  ÿú€ à'Ü!ŸM™MÜ!ŸN™NÜ!ŸK™KÜ!ŸJ™Jð	0ô ô #1Ø":¸<¸.Ð Ió#ð ð (4×'?Ñ'?Ó'A˜Ø0>×0JÑ0JÓ0LÐ-Ø+/Ð(ß:Ø(Ò0Ü&4Ø$Yó'"ð !"ð 09×/DÑ/DÓ/FÐ,Ø)0×)<Ñ)<Ó)>˜Ø)0×)<Ñ)<Ó)>˜Ø&*×&6Ñ&6Ó&8˜à&*˜ØÒ+Ø*.×*:Ñ*:Ó*<˜K÷.(ö .(ô` &(§\¢\Ø#/×#:Ñ#:Ó#<Ü"'§-¡-Ø%-Ø#/×#8Ñ#8Ó#:ô	&˜
ð   6œ>Ü)BØ *¨D¸'ÈYô*˜Jð
 (¬5¯>©>Ô9Ø1;×1GÑ1GÓ1IÐ.öIô *,¯ªØ'1×'EÑ'EÓ'GØ&2Ø)EØ'1×':Ñ':Ó'<ô	*˜JðN  *Ð)ðC *¬e¯k©k¼5¿:¹:Ð-FÔFÝCà3=×3IÑ3IÓ3KÐ0÷Kô" *,¯ªØ'1×'EÑ'EÓ'GØ&2Ü)2×):Ò):Ø$4Ü*/°«.Ü/2°<Ó/@ô*"ð
 (2×':Ñ':Ó'<ô	*˜Jð  *Ð)r*   zunexpected x dtype ©r_   ra   rÅ   )Úoutput_scaleÚoutput_zero_pointr  Úpost_op_nameÚpost_op_argsÚpost_op_algorithmr|   ú&packed_weight must be a graph constantc                 ó`   € \         P                  P                  V P                  4       ,          # rQ   rÉ   rÊ   s   &r(   rË   ÚCregister_onednn_fusion_ops.<locals>.qlinear_unary.<locals>.<lambda>  rÍ   r*   c                 ó`   € \         P                  P                  V P                  4       ,          # rQ   rÉ   rÊ   s   &r(   rË   ro    rÍ   r*   c                 ó`   € \         P                  P                  V P                  4       ,          # rQ   rÉ   rÊ   s   &r(   rË   ro    rÍ   r*   c                 ó`   € \         P                  P                  V P                  4       ,          # rQ   rÉ   rÊ   s   &r(   rË   ro    rÍ   r*   c                 ó`   € \         P                  P                  V P                  4       ,          # rQ   rÉ   rÊ   s   &r(   rË   ro    ó   € ¬Q¯W©W×->Ñ->¸q¿z¹z»|Ö-Lr*   c                 ó`   € \         P                  P                  V P                  4       ,          # rQ   rÉ   rÊ   s   &r(   rË   ro    rt  r*   Úqlinear_unaryrÏ   re   ©r   r›   )r   rß   r›   r   é   é   )é   r   rß   r›   r   rx  ry  )/r  r#   r\  Úfloat8_e4m3fnrj   rf   rg   r   r.   r   r   r  rA   r   r0   r>   r”   r  r=   r™   r–   r  rù   Ú	get_numelÚInputsKernelÚunwrap_storage_for_inputr3   r1   r/   r@   r   rh   ri   r   ÚequalÚ
zeros_liker   Úto_denserH   rL  r   rq   r   rm   rÒ   rÓ   r   )rX   r   r    r   r!   r  r|   re  r  r  rw   rx   ry   r^   rz   Úx_scale_sizeÚ	x_zp_sizeÚw_zp_tensorr}   r~   r   ra   r   rÐ   r�   r3  rC   rG   rB   Úaten_mkldnn_qlinear_unarys   &ff&f&fffffff&           @@@@€r(   rv  Ú1register_onednn_fusion_ops.<locals>.qlinear_unaryç  s­  ÿþ€ ð" ×&Ñ&Ó(´·±¼U×=PÑ=PÐ0QÔQÜ$ØSóð ð —Z‘Z“\ˆFÜ�6‹{˜QŒä˜˜R ¨¥Ð,Ó-�Ü˜g¤r§|¡|×4Ò4Ü˜“=¬Ó-Ü(Ø<¼TÀ'»]¸OÐLóð ô Ÿ'™'×5Ñ5Ü—L’L ´·±Ô>ÀYð 6ó ‘ð  '×/Ñ/Ó1�Ü�|Ó$¨Ô)¯S«SÑ0RÁ\Ó0R¯S¯SªSÑ0RÁ\Ó0R×-RÒ-RÜ5°g¼u¿}¹}ÈeÓT‘Gà—O‘OÔ%Ü�w×'Ñ'Ó)Ó*°&Ô8Ü(Ð)CÓDÐDàŠ|Ü—w‘w×2Ñ2Ü—L’L ¬%¯+©+Ô6¸Vð 3ó ’ô   ¤b§l¡l×3Ò3Ü˜“:¤SÓ(Ü(Ð+HÌÈdËÈÐ)UÓVÐVÜ—w‘w×2Ñ2Ü—L’L ¬U¯[©[Ô9Àð 3ó ‘ð !ŸM™M›O�	Ü�y“> QÔ&¯#«#Ñ-LÁ)Ó-L¯#¯#ª#Ñ-LÁ)Ó-L×*LÒ*Lô 3°4¼¿¹ÀeÓL‘Dà—L‘L”Nà�~‰~Ó 1Ô$Ü$Ð%OÓPÐPð
 Š|ô
 —w‘w×2Ñ2Ü—L’L ¬%¯+©+Ô6¸Vð 3ó �ð �O‰OÔØ�L‰LŒNØ�~‰~Ó¤5§;¡;Ô.´:Ü—‘×8Ñ8¸Ó>Ü×!Ñ!÷4ò 4ô
  Ÿg™g×/Ñ/°·±³Õ@×CÑCÄEÇKÁKÓP�Ü—w‘w×2Ñ2Ü—L’L ´E·K±KÔ@ÀtÇ}Á}Ãð 3ó �ð "&¢™°4·>±>Ó3CˆJØ*,ˆGä×"×"Ð"¤f×&>×&>Ñ&>Ü/6Ø¨V¸|ô0Ñ,��F˜}ô ÜŸ™×@Ñ@ÀÓFÜ×)Ñ)÷ó ô ŸšÜ×(Ò(¬¯©×):Ñ):¸4¿=¹=»?Õ)KÓLÜŸ™×)Ñ)¨$¯-©-«/Õ:÷ó ô ,¨F°}×EÒEÜ Ÿw™w×0Ñ0°×1GÑ1GÓ1IÕJ×SÑSÓU�Hô 1Ø Ø%ØØØóñ	Ø7Ø&Ø!÷H*÷ H*ò H*ðT —{‘{“}¬U¯[©[¼%¿*¹*Ð,EÔEÜ,Ð/BÀ1Ç;Á;Ã=À/Ð-RÓSÐSÜ#×/Ò/ØØàš<ð ˜G T¨=¸'À4ÑHà ¨$°¸wÈÈdÐSØ!%¨TÐ!1Ø)9àš<ó '9â2õô �7‹|˜qÔ Ô$9×$;Ò$;ÜØ!(Ø&2Ø!-Ø!%Ø!(Ø&/ô�ð ’<Ø%)�F˜6‘NØ—‘Ø-×2Ò2àš<ð ˜G T¨=¸'À4ÑHà ¨$°¸wÈÈdÐSØñ	ð
 !ñôð ×%Ñ%Ó'¬q¯w©w×/@Ñ/@Ô@Ü$Ð%MÓNÐNàÑ<ØÑ<ØÑ<ØÑ<ð	ˆMô Ü—‘×8Ñ8¸ÓAÜ×!Ñ!÷ò ñ
 $M�˜aÑ ÜÜ—‘×8Ñ8¸Ó>Ü×!Ñ!÷ò ñ $M�˜aÑ ä1ØØà’<ð �G˜T =°'¸4Ñ@à˜ $¨°wÀÀdÐKØØ+ô‰IˆF�Aô �6‹{˜QŒÜ˜fÐ&K¨¨s°¨Ð&K°V·_±_Ó5FÀrÕ5JÑ&KÓL�ØˆMr*   c                ó`   € V ^8„  d   QhR\         R\         R\         R\         R\         R\         /# )r   rX   r   r!   r  Úx2r|   r
   )r'   s   "r(   r)   r¢   2  sN   € ÷ m	ñ m	Üðm	ô %ð	m	ô
 ðm	ô ðm	ô ðm	ô ñm	r*   c                 óh  <aaaaaaa	a
aaaaa a!a"a#€ V P                  4       pSP                  4       p\        V4      \        V4      8w  d$   \        R \        V4       R\        V4       24      h\        V4      ^8”  d2   VR 9   d+   \        V R!VR!,          .4      p \        SR!VR!,          .4      o\	        S\
        P                  4      '       gq   \        S4      \        Jd   \        R\        S4       24      h\        P                  P                  \        P                  ! S\        P                  R7      RR7      oM¯SP                  4       p\        V4      ^ 8X  g;   \        ;QJ d    R V 4       F  '       d   K   RM	  R	M! R V 4       4      '       d   \!        S\        P                  R
4      oMSP#                  4        \        SP                  4       4      R"9  d   \        R4      hSfH   \        P                  P                  \        P                  ! ^ \        P$                  R7      RR7      oEM\	        S\
        P                  4      '       gq   \        S4      \&        Jd   \        R\        S4       24      h\        P                  P                  \        P                  ! S\        P$                  R7      RR7      oM†SP                  4       p\        V4      ^ 8X  g;   \        ;QJ d    R V 4       F  '       d   K   RM	  R	M! R V 4       4      '       d   \!        S\        P$                  R
4      oMSP#                  4        VfF   \        P                  P                  \        P                  ! ^ \        P$                  R7      RR7      pSP#                  4        VP#                  4        VP)                  4       \        P$                  8w  dÝ   \	        \
        P*                  P-                  V4      \
        P.                  4      '       d    \        P                  P0                  VP3                  4       ,          P5                  \        P$                  4      p\        P                  P                  \        P                  ! V\        P$                  R7      VP3                  4       R7      pVR8X  d›   S
\        P                  \        P6                  39   dV   SP)                  4       \        P                  \        P6                  39   d#   SP)                  4       S
8w  d   \9        SS
4      oM SP)                  4       S
8w  d   \        R4      hSP)                  4       o"Se   SP)                  4       MRo. p\:        P<                  '       g   \:        P>                  '       Ed   VR 9   Edû   \A        WSVS
R7      Ev ppro\	        \
        P*                  P-                  S4      \
        P.                  4      '       Ed©   \        SPC                  4       PD                  4      ^ 8X  Ed€   \	        \
        P*                  P-                  V4      \
        P.                  4      '       EdB   \        PF                  ! \        PH                  ! \        P                  P0                  VP3                  4       ,          4      \        P                  P0                  VP3                  4       ,          4      '       d·   \K        VW4      '       d¥   \        P                  P0                  VP3                  4       ,          pVPM                  4       p\O        VVSSS4      w  o o!o#VVVV	V
VVVV VV!VV"VV#V3R lp\P        PR                  ! TTSf
   V SSVSVS.M	V SSVSVSS.SRJTSf   . R#OM. R$OR7       \        V4      ^ 8X  g   \U        4       '       dW   \W        SS	S
VVVVSSSR7
      pSf   RVR&   TPY                  S$PZ                  ! Sf
   V SSVSVS3M	V SSVSVSS3V3/ VB 4       VP3                  4       \        P                  P0                  9  d   \        R4      h^R ^R ^R /pSe   R V^&   \]        RTSf
   V SSVSVS.M	V SSVSVSS.VVR7      w  pp\	        VP^                  P^                  \
        P`                  4      '       Ed$   VR8X  Ed   VP^                  P^                  Pb                  SPC                  4       8X  dé   \
        P                  Pe                  \
        P`                  ! \
        Pf                  ! \
        Ph                  ! SSPC                  4       R7      4      VP^                  P^                  Pj                  VP^                  P^                  Pl                  VP^                  P^                  Pn                  VP^                  P^                  Pp                  R7      4      p\        V4      ^8”  d1   VR 9   d*   \        V. VRR! OVP                  4       R!,          N54      pV# )%z*expected x and x2 to have equal rank, got z and r?   r  rŽ   r   r9   c              3   ó*   "  € T F	  q^8H  x € K  	  R# 5ir  r  r  s   & r(   r6   ÚEregister_onednn_fusion_ops.<locals>.qlinear_binary.<locals>.<genexpr>[  r!  r"  FTr#  r$  Nr    r  c              3   ó*   "  € T F	  q^8H  x € K  	  R# 5ir  r  r  s   & r(   r6   r‹  n  r&  r"  r  zCdtype of accum for qlinear post op sum should be the same as outputr'  c                 óü  <aaaaa	a
aaaaa€ S\         P                  \         P                  \         P                  \         P                  39  d   \        R S 24      hV P                  4       oSP                  4       oSP                  4       oRoS'       d    Sf   \        R4      hSP                  4       oSP                  4       oSP                  4       o
SP                  4       oRoSe   SP                  4       oVVVVVV
VVVVVV3R lp\        P                  ! V P                  4       \         P                  VV P                  4       R7      pSR8w  d   \        VSSSR7      pS\         P                  8X  dP   VP                  4       oVV3R lp\        P                  ! VP                  4       SVVP                  4       R7      pV# S\         P                  \         P                  39   dŒ   ^RIHo VP                  4       o	VVV	3R	 lp\        P                  ! VP                  4       \         P                  \        P                   ! V\#        S4      \%        S4      R
7      VP                  4       R7      pV# )r*  Nr+  c           	      ój  <€ S! V 4      pS! V 4      pR pR pR pV R,          3pS'       g   S! R4      pS! R4      pS! V4      p\         P                  ! V\        P                  4      pS! V4      pR pS'       d   Sf   \	        R4      hS! V4      p\        SVVVVVV4      p	SeŒ   S! V4      p
S\        P                  \        P                  39  d   \	        RS 24      hS\        P                  8X  d&   \         P                  ! V
\        P                  4      p
\         P                  ! Wš4      p	S\        P                  \        P                  39  d   \	        RS 24      hS\        P                  8X  d&   \         P                  ! V\        P                  4      p\         P                  ! W’4      p	V	# )Nr-  r.  zunexpected x2_dtype re   r  r/  )r0  rJ   Ú_x2rL   rM   rN   r1  rK   rO   rT   r2  r|   r3  r4  r5  rC   r6  r7  Úx2_dtypeÚ	x2_loaderr8  r9  r:  s   &          €€€€€€€€€€€€r(   r;  Ú^register_onednn_fusion_ops.<locals>.qlinear_binary.<locals>.epilogue_creator.<locals>.inner_fnÛ  sˆ  ø€ á$0°Ó$7˜EÙ"+¨EÓ"2˜CØ'+˜HØ$(˜EØ'+˜HØ49¸"µI°<Ð0ß#BÙ+9¸"Ó+= Ù(3°B« Ù+9Ð:NÓ+O ä$'§L¢L°¼¿¹Ó$F˜EÙ,AÐBVÓ,W˜MØ)-˜Jß>Ø#3Ò#;Ü*8Ø(dó+&ð %&ñ .>Ð>RÓ-S 
ä#JØ ?Ø %Ø -Ø (Ø %Ø (Ø *ó$˜Dð  $Ò/á(3Ð4HÓ(I à#-´e·m±mÄUÇ^Á^Ð5TÔ#TÜ*8Ø*@ÀÀÐ(Mó+&ð %&ð $.´·±Ô#?Ü,/¯LªL¸ÄÇÁÓ,N EÜ'*§w¢w¨tÓ'; ð  (´·±¼u¿~¹~Ð/NÔNÜ&4Ð7KÈHÈ:Ð5VÓ&WÐ WØ'¬5¯>©>Ô9Ü&)§l¢l°3¼¿¹Ó&F Ü#&§7¢7¨4Ó#5˜Dà#'˜Kr*   r=  rÄ   rÁ   c                 óB   <€ S! V 4      p\         P                  ! VS4      # rQ   r@  rA  s   & €€r(   rC  Úrregister_onednn_fusion_ops.<locals>.qlinear_binary.<locals>.epilogue_creator.<locals>.inner_fn_cast_output_to_bf16&  rE  r*   rF  c                 óÖ  <€ S! V 4      pS	! R V,          V\         P                  R7      w  rB\        P                  ! W4,          4      V,           pS
\         P                  8X  d   S	! ^ ^ÿ\         P                  R7      w  rgMS	! R^\         P                  R7      w  rg\        P
                  ! \        P                  ! WV4      V4      p\        P                  ! V\         P                  4      # rI  rJ  rO  s   &&&      €€€r(   rX  Úfregister_onednn_fusion_ops.<locals>.qlinear_binary.<locals>.epilogue_creator.<locals>.inner_fn_requant5  s°   ø€ Ù(<¸UÓ(C Ù8IØ$'¨%¥K°Ä5Ç=Á=ô9"Ñ 5 	ô '*§i¢i°Õ0AÓ&BÀZÕ&O Ø#/´5·;±;Ô#>Ù1BØ()¨3´e·m±mô2&¡J D¨$ñ 2CØ(,¨c¼¿¹ô2&¡J Dô +.¯+ª+´c·k²kÀ#Ó6LÈdÓ*S Ü'*§|¢|°G¼U¿[¹[Ó'IÐ Ir*   rZ  r[  ) rc  r;  rd  rC  rX  rG  r4  r5  rB  rW  r6  r7  r‘  r8  r9  r:  r|   r3  re  r  r  r¶   r´   rµ   rC   r!   rG   rˆ  r�  r   rB   r    s    &    @@@@@@@@@@@€€€€€€€€€€€€€€€€r(   ra   ÚLregister_onednn_fusion_ops.<locals>.qlinear_binary.<locals>.epilogue_creator½  s)  ÿû€ à'Ü!ŸM™MÜ!ŸN™NÜ!ŸK™KÜ!ŸJ™Jð	0ô ô #1Ø":¸<¸.Ð Ió#ð ð (4×'?Ñ'?Ó'A˜Ø$&§N¡NÓ$4˜	Ø0>×0JÑ0JÓ0LÐ-Ø+/Ð(ß:Ø(Ò0Ü&4Ø$Yó'"ð !"ð 09×/DÑ/DÓ/FÐ,Ø)0×)<Ñ)<Ó)>˜Ø)0×)<Ñ)<Ó)>˜Ø&*×&6Ñ&6Ó&8˜à&*˜ØÒ+Ø*.×*:Ñ*:Ó*<˜K÷5(÷ 5(ð 5(ôn &(§\¢\Ø#/×#:Ñ#:Ó#<Ü"'§-¡-Ø%-Ø#/×#8Ñ#8Ó#:ô	&˜
ð &¨Ô/Ü)BØ *Ø *Ø(5Ø*9ô	*˜Jð (¬5¯>©>Ô9Ø1;×1GÑ1GÓ1IÐ.öIô *,¯ªØ'1×'EÑ'EÓ'GØ&2Ø)EØ'1×':Ñ':Ó'<ô	*˜JðN  *Ð)ðC *¬e¯k©k¼5¿:¹:Ð-FÔFÝCà3=×3IÑ3IÓ3KÐ0÷Jô" *,¯ªØ'1×'EÑ'EÓ'GÜ&+§k¡kÜ)2×):Ò):Ø$4Ü*/°«.Ü/2°<Ó/@ô*"ð
 (2×':Ñ':Ó'<ô	*˜Jð  *Ð)r*   rg  )
rh  ri  r  Úother_scaleÚother_zpÚbinary_post_opr³   Úunary_post_opÚunary_post_op_argsÚunary_post_op_algorithmr|   rm  c                 ó`   € \         P                  P                  V P                  4       ,          # rQ   rÉ   rÊ   s   &r(   rË   ÚDregister_onednn_fusion_ops.<locals>.qlinear_binary.<locals>.<lambda>|  rÍ   r*   c                 ó`   € \         P                  P                  V P                  4       ,          # rQ   rÉ   rÊ   s   &r(   rË   rŸ  }  rÍ   r*   c                 ó`   € \         P                  P                  V P                  4       ,          # rQ   rÉ   rÊ   s   &r(   rË   rŸ  ~  rÍ   r*   c                 ó`   € \         P                  P                  V P                  4       ,          # rQ   rÉ   rÊ   s   &r(   rË   rŸ  �  rt  r*   Úqlinear_binaryrÏ   )r-   r^   )r^   ÚinputsÚmake_kernel_renderÚtemplateÚchoice)r   r?   re   rw  )r   rß   r›   r   rx  ry  rz  )é   r   rß   r›   r   rx  ry  rz  )9rf   rg   rj   r   r.   r   r   r  rA   r   r0   r>   r#   r”   r  r=   r™   r–   r  rù   r  r}  r~  r3   r1   r/   r@   r  r   r   rh   ri   r   Ú
get_layoutÚsizer  r€  r   r�  rH   r   rq   r   rm   rÒ   rÓ   r   r-   ÚCppTemplateBufferr^   rv   ÚNonOwningLayoutÚReinterpretViewr¤  r¥  r¦  r§  )%rX   r   r    r   r!   r  rˆ  r|   re  r  r  Úx2_scaleÚx2_zpr²   r  r´   rµ   r¶   r^   rz   Úx2_sizer‚  rƒ  r„  r}   r~   r   ra   r   rÐ   r�   r3  rC   rG   r�  rB   Úaten_mkldnn_qlinear_binarys%   &ff&f&fffff&&&&fff&            @@@@@€r(   r£  Ú2register_onednn_fusion_ops.<locals>.qlinear_binary,  s  ÿÿø€ ð6 —Z‘Z“\ˆFØ—k‘k“mˆGÜ�6‹{œc '›lÔ*Ü$Ø@ÄÀVÃÀÈUÔSVÐW^ÓS_ÐR`Ðaóð ô �6‹{˜QŒ ;°.Ô#@ä˜˜R ¨¥Ð,Ó-�Ü˜"˜r 7¨2¥;Ð/Ó0�Ü˜g¤r§|¡|×4Ò4Ü˜“=¬Ó-Ü(Ø<¼TÀ'»]¸OÐLóð ô Ÿ'™'×5Ñ5Ü—L’L ´·±Ô>ÀYð 6ó ‘ð  '×/Ñ/Ó1�Ü�|Ó$¨Ô)¯S«SÑ0RÁ\Ó0R¯S¯SªSÑ0RÁ\Ó0R×-RÒ-RÜ5°g¼u¿}¹}ÈeÓT‘Gà—O‘OÔ%Ü�w×'Ñ'Ó)Ó*°&Ô8Ü(Ð)CÓDÐDàŠ|Ü—w‘w×2Ñ2Ü—L’L ¬%¯+©+Ô6¸Vð 3ó ’ô   ¤b§l¡l×3Ò3Ü˜“:¤SÓ(Ü(Ð+HÌÈdËÈÐ)UÓVÐVÜ—w‘w×2Ñ2Ü—L’L ¬U¯[©[Ô9Àð 3ó ‘ð !ŸM™M›O�	Ü�y“> QÔ&¯#«#Ñ-LÁ)Ó-L¯#¯#ª#Ñ-LÁ)Ó-L×*LÒ*LÜ2°4¼¿¹ÀeÓL‘Dà—L‘L”NàŠ|Ü—w‘w×2Ñ2Ü—L’L ¬%¯+©+Ô6¸Vð 3ó �ð �O‰OÔØ�L‰LŒNØ�~‰~Ó¤5§;¡;Ô.´:Ü—‘×8Ñ8¸Ó>Ü×!Ñ!÷4ò 4ô  Ÿg™g×/Ñ/°·±³Õ@×CÑCÄEÇKÁKÓP�Ü—w‘w×2Ñ2Ü—L’L ´E·K±KÔ@ÀtÇ}Á}Ãð 3ó �ð ˜eÔ#ØÜ—M‘MÜ—N‘Nð$ô ð —l‘l“n¬¯©¼¿¹Ð(GÔGØ—|‘|“~¨Ô5ô
 & b¨,Ó7˜øà—|‘|“~¨Ô5Ü,Øaóð ð —|‘|“~ˆHØ-1Ò-=˜Ÿ™Ô)À4ˆJØ*,ˆGÜ×#×#Ð#¤v×'?×'?Ñ'?À[ð Uõ Fô 4;Ø b°À<ô4Ñ0��F˜A¨bô ÜŸ™×@Ñ@ÀÓFÜ×)Ñ)÷ó ô ˜DŸO™OÓ-×2Ñ2Ó3°qÕ8Ü"ÜŸ™×@Ñ@ÀÓFÜ×)Ñ)÷ó ô ŸšÜ×(Ò(¬¯©×):Ñ):¸4¿=¹=»?Õ)KÓLÜŸ™×)Ñ)¨$¯-©-«/Õ:÷ò ô .¨f°a×GÒGä Ÿw™w×0Ñ0°×1GÑ1GÓ1IÕJ�HØ'×0Ñ0Ó2�Hô
 1Ø Ø%ØØØóñ	Ø7Ø&Ø!÷T*÷ T*ô T*ôl $×/Ò/ØØàš<ð ˜G T¨=¸'À4ÈÑLà ¨$°¸wÈÈbÐRVÐWØ!%¨TÐ!1Ø)9ð  š<ó '<â5õô �7‹|˜qÔ Ô$9×$;Ò$;ÜØ!(Ø&2Ø!-Ø (Ø"Ø#.Ø!&Ø",Ø'4Ø,;ô�ð ’<Ø%)�F˜6‘NØ—‘Ø.×3Ò3àš<ð ˜G T¨=¸'À4ÈÑLà ¨$°¸wÈÈbÐRVÐWØñ	ð
 !ñôð ×%Ñ%Ó'¬q¯w©w×/@Ñ/@Ô@Ü$Ð%MÓNÐNàÑ<ØÑ<ØÑ<ðˆMð
 ÒÙ#L�˜aÑ Ü1Ø Øà’<ð �G˜T =°'¸4ÀÑDà˜ $¨°wÀÀbÈ$ÐOØØ+ô‰IˆF�Aô ˜6Ÿ;™;×+Ñ+¬R×-AÑ-A×BÓBØ 5Õ(Ø—K‘K×$Ñ$×+Ñ+¨r¯}©}«Ô>ô Ÿ™×,Ñ,Ü×(Ò(Ü!×1Ò1Ü×.Ò.°B¸r¿}¹}»ÔOó ð  &Ÿ{™{×/Ñ/×6Ñ6Ø+1¯;©;×+;Ñ+;×+NÑ+NØ!'§¡×!1Ñ!1×!:Ñ!:Ø%Ÿ{™{×/Ñ/×6Ñ6ôó
�ô �6‹{˜QŒ ;°.Ô#@Ü˜fÐ&K¨¨s°¨Ð&K°V·_±_Ó5FÀrÕ5JÑ&KÓL�ØˆMr*   zmkl::_mkl_linearr^   c          	      óV   € V ^8„  d   QhR\         R\         R\         R\         R,          /# )r   rX   Úpacked_wÚorig_wrZ   Nr
   )r'   s   "r(   r)   r¢   «  s5   € ÷ 3ñ 3Üð3ä#ð3ô "ð3ô ˜tÕ#ñ	3r*   c          	      óÄ  <€ . p\         P                  '       g   \         P                  '       dP   \        V^^ .4      p\	        WVR7      Ev r…r\        WPV4      '       d    \        P                  ! VVWV.R^ ^.R7       \        V4      ^ 8X  g   \        4       '       d'   VP                  SP                  WV3VRVR7      4       VP                  4       \        P                  P                  9  d   \!        R4      hVP                  4       \        P                  P                  9  d   \!        R4      h^R ^R	 /p	\#        R
VWV.VV	R7      w  r¨Ve   \%        W£4      p
V
# )r›   r]   T)r`   rÅ   N)rÆ   Ú
batch_sizez!packed_w must be a graph constantzorig_w must be a graph constantc                 ó`   € \         P                  P                  V P                  4       ,          # rQ   rÉ   rÊ   s   &r(   rË   ÚGregister_onednn_fusion_ops.<locals>.mkl_packed_linear.<locals>.<lambda>Ñ  ó   € ¤§¡×!2Ñ!2°1·:±:³<Ö!@r*   c                 ó`   € \         P                  P                  V P                  4       ,          # rQ   rÉ   rÊ   s   &r(   rË   r¹  Ò  rº  r*   Úpacked_linearrÏ   )r   rh   ri   r   r   r   r   rq   rg   r   rÒ   rÓ   r/   r   r0   r1   rj   r   r   )rX   r´  rµ  rZ   r·  r^   r}   rÔ   r~   rÐ   r�   Úaten_mkl_linears   &&&&&$     €r(   Úmkl_packed_linearÚ5register_onednn_fusion_ops.<locals>.mkl_packed_linearª  sX  ø€ ð /1�Ü×&×&Ð&¬&×*B×*BÐ*BÜ#*¨6°A°q°6Ó#:�LÜ29Ø°ô3Ñ/�Q ô -¨V¸×EÒEÜ'×3Ò3Ø#Ø"Ø¨&Ð1Ø$(Ø+,¨a¨&õô �w“< 1Ô$Ô(=×(?Ò(?Ø—N‘NØ'×,Ñ,Ø¨&Ð1°6¸TÈjð -ó ôð ×$Ñ$Ó&¬a¯g©g×.?Ñ.?Ô?Ü(Ð)LÓMÐMØ—?‘?Ó$¬A¯G©G×,=Ñ,=Ô=Ü(Ð)JÓKÐKð Ñ@ØÑ@ð!�ô
 6Ø#ØØ &Ð)ØØ"/ô‘	�ð ’=Ü  ›^�FØ�r*   rQ   )!r#   Ú_CÚ_has_mkldnnÚ rœ   r   r   ÚmkldnnÚ_linear_pointwiseÚLinearUnaryrv   ÚbinaryÚLinearBinaryÚonednnÚqlinear_pointwiseÚQLinearPointwisePT2EÚQLinearPointwiseBinaryPT2EÚ_convolution_pointwiseÚ_convolution_pointwise_Ú _convolution_transpose_pointwiser   rþ   ÚdefaultÚqconv_pointwiser   Úqconv2d_pointwiseÚbinary_tensorÚhas_mklÚmklÚ_mkl_linearÚMKLPackedLinearrÒ   r   )Úcpu_needs_realized_inputsr©   r·   r¼   rÎ   rÞ   rç   rþ   r  r  rv  r£  r¾  r½  rá   rÕ   r±  r…  rœ   s                @@@@@@r(   Úregister_onednn_fusion_opsrØ  ó   sˆ  ý€ Ü‡x�x××ÑÝä#5Ü�I‰I×Ñ×.Ñ.Ø'Ø!Ø$×0Ñ0×7Ñ7ô	$
Ð ô %7Ü�I‰I×Ñ×.Ñ.×5Ñ5Ø'Ø!Ø$×1Ñ1×8Ñ8ô	%
Ð!ô %7Ü�I‰I×Ñ×.Ñ.Ø'Ø!Ø$×9Ñ9×@Ñ@ô	%
Ð!ô &8Ü�I‰I×Ñ×.Ñ.×5Ñ5Ø'Ø!Ø$×?Ñ?×FÑFô	&
Ð"ô �I‰I×Ñ×3Ñ3Ü�I‰I×Ñ×4Ñ4Ü�I‰I×Ñ×=Ñ=Ü�I‰I×Ñ×.Ñ.Ü×!Ñ!×)Ñ)Ü�I‰I×Ñ×,Ñ,ð
ð 	"ô 
œ5Ÿ9™9×+Ñ+×BÑBÓ	C÷	ó 
Dð	ô6 
œ5Ÿ9™9×+Ñ+×BÑB×IÑIÓ	J÷	ó 
Kð	ôB 
œ5Ÿ9™9×+Ñ+×CÑC×JÑJÓ	K÷	ó 
Lð	ôB 
œ5Ÿ9™9×+Ñ+×=Ñ=Ó	>÷B	ñ B	ó 
?ðB	ôH 
œ5Ÿ9™9×+Ñ+×=Ñ=×DÑDÓ	E÷>	ñ >	ó 
Fð>	ô@ 
œ5Ÿ9™9×+Ñ+×LÑLÓ	M÷	ó 
Nð	ô: 
œ4×0Ñ0×8Ñ8Ó	9÷&	ó 
:ð&	ôP 
œ5Ÿ9™9×+Ñ+×;Ñ;ÐQUÔ	V÷@	ó 
Wð@	ôD 
Ü�I‰I×Ñ×.Ñ.×5Ñ5È4ô

ô 
Ü�I‰I×Ñ×.Ñ.×<Ñ<ÐRVô

÷U	ó

ó

ðU	ôn 
œ5Ÿ9™9×+Ñ+×=Ñ=ÐSWÔ	X÷B	ñ B	ó 
YðB	ôH
 
Ü�I‰I×Ñ×.Ñ.×5Ñ5È4ô

ô 
Ü�I‰I×Ñ×.Ñ.×<Ñ<ÐRVô

÷m	ñ m	ó

ó

ðm	ô^ �8‰8××ÐÜ0Ü—	‘	—‘×)Ñ)Ø"Ø %Ø(×8Ñ8×?Ñ?ô	ˆOð &×,Ñ,¬U¯Y©Y¯]©]×-FÑ-FÔGäœuŸy™yŸ}™}×8Ñ8Ó9ð3ð ÷3ñ 3ó :ð3ôj 	"Ð";Ö<ñY' r*   )NNNN)r#  )+ra  r#   Útorch.utils._pytreeÚutilsÚ_pytreerû   Ú torch._inductor.kernel.mm_commonr   rÂ  r   r   Úcodegen.cpp_gemm_templater   Ú!codegen.cpp_grouped_gemm_templater   Úcodegen.cpp_utilsr	   r   r`  r   r   r   r   r   r   r   Úselect_algorithmr   r   r   r   r   Úvirtualizedr   r   r   rH   rU   r†   Ú_inductor_lowering_functionÚ8_inductor_lowering_output_metadata_ignores_input_storager™   rØ  r  r*   r(   Ú<module>rä     s„   ðã ã ß $Ð $Ý 4ç Ý 6Ý EÝ 8Ý ÷÷ ñ ÷ñ ÷
 @ß )Ñ )õ-õ`.÷bCðL 59Ð Ô 1ØQUÐ Ô N÷&òRm=ñ`' Ö r*   