Ë
    ÌÓ^j7  ã                   ó¨   — d dl Z d dlZd dlZd dlZd„ Zd„ Ze j                  d„ «       Ze j                  dd„«       Ze j                  d	d„«       Z	d
d„Z
y)é    Nc                  ó¨   — t         j                  j                  j                  «       syt         j                  j                  j                  «       syy©NFT)ÚtorchÚbackendsÚmkldnnÚis_availableÚopsÚ_is_mkldnn_bf16_supported© ó    úp/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/torch/testing/_internal/common_mkldnn.pyÚbf32_is_not_fp32r   
   s7   € Ü�>‰>× Ñ ×-Ñ-Ô/ØÜ�9‰9×Ñ×5Ñ5Ô7ØØr   c                  ó”   — t         j                  j                  j                  «       syt         j                  j                  «       syyr   )r   r   r   r   ÚcpuÚ_is_amx_fp16_supportedr   r   r   Útf32_is_not_fp32r      s1   € Ü�>‰>× Ñ ×-Ñ-Ô/ØÜ�9‰9×+Ñ+Ô-ØØr   c               #   óÄ  K  — t         j                  j                  j                  j                  } t         j                  j                  j
                  j                  }	 dt         j                  j                  j                  _        dt         j                  j                  j
                  _        d –— | t         j                  j                  j                  _        |t         j                  j                  j
                  _        y # | t         j                  j                  j                  _        |t         j                  j                  j
                  _        w xY w­w)NÚieee)r   r   r   ÚmatmulÚfp32_precisionÚconv)Úold_matmul_precisionÚold_conv_precisions     r   Úreduced_f32_offr      sÛ   è ø€ ä Ÿ>™>×0Ñ0×7Ñ7×FÑFÐÜŸ™×.Ñ.×3Ñ3×BÑBÐðGØ6<Œ�‰×Ñ×$Ñ$Ô3Ø4:Œ�‰×Ñ×"Ñ"Ô1Ûà6JŒ�‰×Ñ×$Ñ$Ô3Ø4FŒ�‰×Ñ×"Ñ"Õ1øð 7KŒ�‰×Ñ×$Ñ$Ô3Ø4FŒ�‰×Ñ×"Ñ"Õ1üs!   ‚AE Á AD	 Â6AE Ä	AEÅE c              #   ó  K  — t         j                  j                  j                  j                  }t         j                  j                  j
                  j                  }| j                  }	 dt         j                  j                  j                  _        dt         j                  j                  j
                  _        || _        d –— |t         j                  j                  j                  _        |t         j                  j                  j
                  _        || _        y # |t         j                  j                  j                  _        |t         j                  j                  j
                  _        || _        w xY w­w)NÚbf16©r   r   r   r   r   r   Ú	precision)ÚselfÚbf32_precisionr   r   Úold_precisions        r   Úbf32_onr"   '   óø   è ø€ ä Ÿ>™>×0Ñ0×7Ñ7×FÑFÐÜŸ™×.Ñ.×3Ñ3×BÑBÐØ—N‘N€Mð'Ø6<Œ�‰×Ñ×$Ñ$Ô3Ø4:Œ�‰×Ñ×"Ñ"Ô1Ø'ˆŒÛà6JŒ�‰×Ñ×$Ñ$Ô3Ø4FŒ�‰×Ñ×"Ñ"Ô1Ø&ˆ�øð 7KŒ�‰×Ñ×$Ñ$Ô3Ø4FŒ�‰×Ñ×"Ñ"Ô1Ø&ˆ�üó!   ‚A)FÁ,AD# Ã	AFÄ#AE>Å>Fc              #   ó  K  — t         j                  j                  j                  j                  }t         j                  j                  j
                  j                  }| j                  }	 dt         j                  j                  j                  _        dt         j                  j                  j
                  _        || _        d –— |t         j                  j                  j                  _        |t         j                  j                  j
                  _        || _        y # |t         j                  j                  j                  _        |t         j                  j                  j
                  _        || _        w xY w­w)NÚtf32r   )r   Útf32_precisionr   r   r!   s        r   Útf32_onr(   7   r#   r$   c                 ó8   ‡ ‡‡‡‡— d„ Šˆ fd„Šˆfd„Šˆˆˆfd„}|S )Nc                 óP   — t        «       5   |«        d d d «       y # 1 sw Y   y xY w©N)r   )r   Úfunction_calls     r   Úwith_reduced_f32_disabledz9reduced_f32_on_and_off.<locals>.with_reduced_f32_disabledL   s"   € ÜÓñ 	ÙŒO÷	÷ 	ñ 	ús   ‹œ%c                 óV   •— t        | ‰«      5   |«        d d d «       y # 1 sw Y   y xY wr+   )r"   )r   r,   r    s     €r   Úwith_bf32_enabledz1reduced_f32_on_and_off.<locals>.with_bf32_enabledP   ó'   ø€ Ü�T˜>Ó*ñ 	ÙŒO÷	÷ 	ñ 	úó   ŽŸ(c                 óV   •— t        | ‰«      5   |«        d d d «       y # 1 sw Y   y xY wr+   )r(   )r   r,   r'   s     €r   Úwith_tf32_enabledz1reduced_f32_on_and_off.<locals>.with_tf32_enabledT   r0   r1   c                 ó¾   •‡ ‡— t        j                  ‰ «      j                  }t        |j	                  «       «      Št        j                  ‰ «      ˆˆ ˆˆˆfd„«       }|S )Nc                  ó˜  •‡— ‰j                  t        ‰| d¬«      «       d}d‰v r)|xr% t        j                  ‰d   «      j                  dk(  }d‰v r|xr ‰d   t        j
                  k(  }|xr
 t        «       }|xr
 t        «       }|s|r6 ‰‰d   ˆˆfd„«       |r ‰‰d   ˆˆfd	„«       |r ‰	‰d   ˆˆfd
„«       y y  ‰di ‰¤Ž y )NF)ÚstrictTÚdevicer   Údtyper   c                  ó   •—  ‰ di ‰¤ŽS ©Nr   r   ©ÚfÚkwargss   €€r   ú<lambda>zJreduced_f32_on_and_off.<locals>.wrapper.<locals>.wrapped.<locals>.<lambda>g   s   ø€ Á!Á+ÀfÁ+€ r   c                  ó   •—  ‰ di ‰¤ŽS r:   r   r;   s   €€r   r>   zJreduced_f32_on_and_off.<locals>.wrapper.<locals>.wrapped.<locals>.<lambda>i   ó   ø€ ¹a¹kÀ&¹k€ r   c                  ó   •—  ‰ di ‰¤ŽS r:   r   r;   s   €€r   r>   zJreduced_f32_on_and_off.<locals>.wrapper.<locals>.wrapped.<locals>.<lambda>k   r@   r   r   )ÚupdateÚzipr   r7   ÚtypeÚfloatr   r   )
Úargsr=   ÚcondÚ	bf32_condÚ	tf32_condÚ	arg_namesr<   r/   r-   r3   s
    `   €€€€€r   Úwrappedz8reduced_f32_on_and_off.<locals>.wrapper.<locals>.wrapped\   sË   ù€ à�M‰Mœ#˜i¨°eÔ<Ô=ØˆDØ˜6Ñ!ØÒN¤§¡¨f°XÑ.>Ó!?×!DÑ!DÈÑ!M�Ø˜&Ñ ØÒ@ ¨¡´E·K±KÑ!?�ØÒ3Ô!1Ó!3ˆIØÒ3Ô!1Ó!3ˆIÙ™IÙ)¨&°©.Ô:MÔNÙÙ% f¨V¡nÔ6IÔJÙÙ% f¨V¡nÔ6IÕJð ñ ‘�F“r   )ÚinspectÚ	signatureÚ
parametersÚtupleÚkeysÚ	functoolsÚwraps)r<   ÚparamsrK   rJ   r/   r-   r3   s   `  @€€€r   Úwrapperz'reduced_f32_on_and_off.<locals>.wrapperX   sK   ú€ Ü×"Ñ" 1Ó%×0Ñ0ˆÜ˜&Ÿ+™+›-Ó(ˆ	ä	�‰˜Ó	÷	ó 
ð	ð$ ˆr   r   )r    r'   rT   r/   r-   r3   s   `` @@@r   Úreduced_f32_on_and_offrU   K   s   ü€ òôôöð2 €Nr   )ç{®Gáz„?)çñhãˆµøä>)rV   rW   )Ú
contextlibrQ   rL   r   r   r   Úcontextmanagerr   r"   r(   rU   r   r   r   ú<module>rZ      sr   ðó Û Û ã òòð ×Ññ	Gó ð	Gð ×Ñò'ó ð'ð ×Ñò'ó ð'ô&&r   