Ë
    [^(h
	  ã                   ó|   — d dl Z d dlZd dlZd dlZd„ Ze j
                  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© ó    úc/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/testing/_internal/common_mkldnn.pyÚbf32_is_not_fp32r      s7   € Ü�>‰>× Ñ ×-Ñ-Ô/ØÜ�9‰9×Ñ×5Ñ5Ô7ØØr   c               #   óÆ   K  — t        j                  «       } 	 t        j                  d«       d –— t        j                  | «       y # t        j                  | «       w xY w­w)NÚhighest)r   Úget_float32_matmul_precisionÚset_float32_matmul_precision)Úold_matmul_precisions    r   Úbf32_offr      sJ   è ø€ ä ×=Ñ=Ó?ÐðAÜ×*Ñ*¨9Ô5Ûä×*Ñ*Ð+?Õ@øŒ×*Ñ*Ð+?Õ@üs   ‚A!˜A ±A!ÁAÁA!c              #   ó  K  — t        j                  «       }| j                  }	 t        j                  d«       || _        d –— t        j                  |«       || _        y # t        j                  |«       || _        w xY w­w)NÚmedium)r   r   Ú	precisionr   )ÚselfÚbf32_precisionr   Úold_precisions       r   Úbf32_onr      sj   è ø€ ä ×=Ñ=Ó?ÐØ—N‘N€Mð'Ü×*Ñ*¨8Ô4Ø'ˆŒÛä×*Ñ*Ð+?Ô@Ø&ˆ�øô 	×*Ñ*Ð+?Ô@Ø&ˆ�üs   ‚!B¤ A! ÁBÁ!A?Á?Bc                 ó(   ‡ ‡‡— 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_bf32_disabledz+bf32_on_and_off.<locals>.with_bf32_disabled1   s!   € Ü‹Zñ 	ÙŒ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_enabledz*bf32_on_and_off.<locals>.with_bf32_enabled5   s'   ø€ Ü�T˜>Ó*ñ 	ÙŒO÷	÷ 	ñ 	ús   ŽŸ(c                 ó¼   •‡ ‡— t        j                  ‰ «      j                  }t        |j	                  «       «      Št        j                  ‰ «      ˆˆ ˆˆfd„«       }|S )Nc                  ó:  •‡— t        ‰| «      D ]
  \  }}|‰|<   Œ t        «       }d‰v r)|xr% t        j                  ‰d   «      j                  dk(  }d‰v r|xr ‰d   t        j
                  k(  }|r! ‰‰d   ˆˆfd„«        ‰‰d   ˆˆfd„«       y  ‰di ‰¤Ž y )NÚdeviceÚcpuÚdtyper   c                  ó   •—  ‰ di ‰¤ŽS ©Nr
   r
   ©ÚfÚkwargss   €€r   ú<lambda>zCbf32_on_and_off.<locals>.wrapper.<locals>.wrapped.<locals>.<lambda>G   s   ø€ ¹1¹;¸v¹;€ r   c                  ó   •—  ‰ di ‰¤ŽS r(   r
   r)   s   €€r   r,   zCbf32_on_and_off.<locals>.wrapper.<locals>.wrapped.<locals>.<lambda>H   s   ø€ ¹!¹+¸f¹+€ r   r
   )Úzipr   r   r$   ÚtypeÚfloat)	Úargsr+   ÚkÚvÚcondÚ	arg_namesr*   r   r!   s	    `   €€€€r   Úwrappedz1bf32_on_and_off.<locals>.wrapper.<locals>.wrapped=   s¢   ù€ ä˜I tÓ,ò ‘��1Ø��q’	ðä#Ó%ˆDØ˜6Ñ!ØÒN¤§¡¨f°XÑ.>Ó!?×!DÑ!DÈÑ!M�Ø˜&Ñ ØÒ@ ¨¡´E·K±KÑ!?�ÙÙ" 6¨&¡>Ô3FÔGÙ! &¨¡.Ô2EÕFá‘�F“r   )ÚinspectÚ	signatureÚ
parametersÚtupleÚkeysÚ	functoolsÚwraps)r*   Úparamsr6   r5   r   r!   s   `  @€€r   Úwrapperz bf32_on_and_off.<locals>.wrapper9   sK   ú€ Ü×"Ñ" 1Ó%×0Ñ0ˆÜ˜&Ÿ+™+›-Ó(ˆ	ä	�‰˜Ó	ö	ó 
ð	ð ˆr   r
   )r   r?   r   r!   s   ` @@r   Úbf32_on_and_offr@   0   s   ú€ òôõð* €Nr   )gñhãˆµøä>)	Ú
contextlibr<   r7   r   r   Úcontextmanagerr   r   r@   r
   r   r   ú<module>rC      sS   ðó Û Û ã òð ×ÑñAó ðAð ×Ñò	'ó ð	'ô r   